Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.Sign up
x265: build a single shared library for all bit-depths #92052
This builds the 10-bit and 12-bit versions of x265 as static
Motivation for this change
This builds the 10-bit and 12-bit versions of x265 as static libraries, which then get linked into the 8-bit dynamic library and executable. This causes x265 to default to 8-bit, but make 10- and 12-bit available to callers that use introspection, such as ffmpeg. $ x265 -V x265 [info]: HEVC encoder version 3.2 x265 [info]: build info [Linux][GCC 9.3.0][64 bit] 8bit+10bit+12bit x265 [info]: using cpu capabilities: MMX2 SSE2Fast LZCNT SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2 $ ffmpeg -h encoder=libx265 [...] Supported pixel formats: yuv420p yuvj420p yuv422p yuvj422p yuv444p yuvj444p gbrp yuv420p10le yuv422p10le yuv444p10le gbrp10le yuv420p12le yuv422p12le yuv444p12le gbrp12le gray gray10le gray12le Inspired by @codyopel's comment on #80405.
I let it run for about 3 hours and it noted 28 package failures before starting compilation on really big packages like Blender. I don't think my desktop is beefy enough to run this whole workload: https://gist.github.com/mdlayher/7e4cc832f5cc0f2ec7e6934bd74a8c0f
I can confirm that this also works locally on my machine, but I'm out of my depth as far as diagnosing any possible reverse dependency issues: