[x265] how to build x265 that supports both 8bit and 10bit

Mario *LigH* Rohkrämer contact at ligh.de
Fri May 17 08:34:22 CEST 2019


One rather easy solution for Windows users with little compiler 
experience is

https://github.com/jb-alvarado/media-autobuild_suite

which installs an MSYS2 environment and compiles (depending on its 
configuration) ffmpeg with many linked codecs and additionally separate 
encoders; x265 is specifically supported in different configurations, 
including multilib builds.


chen schrieb am 17.05.2019 um 05:38:
> Hi,
> 
> Could you please try it with multilib.bat
> It is Steve's idea, we build lib two times with different bit_depth and 
> combine these libs into one multiple feature lib.
> 
> Regards,
> Min Chen
> 
> At 2019-05-17 11:06:13, "qw" <applemax82 at 163.com> wrote:
> 
>     hi,
> 
>     I read x265 source code, and find one function, as shown below:
> 
> 
>     int x265_param_apply_profile(x265_param *param, const char *profile)
>     {
>          if (!param || !profile)
>              return 0;
> 
>          /* Check if profile bit-depth requirement is exceeded by
>     internal bit depth */
>          bool bInvalidDepth = false;
>     #if X265_DEPTH > 8
>          if (!strcmp(profile, "main") || !strcmp(profile,
>     "mainstillpicture") || !strcmp(profile, "msp") ||
>              !strcmp(profile, "main444-8") || !strcmp(profile,
>     "main-intra") ||
>              !strcmp(profile, "main444-intra") || !strcmp(profile,
>     "main444-stillpicture"))
>              bInvalidDepth = true;
>     #endif
>     #if X265_DEPTH > 10
>          if (!strcmp(profile, "main10") || !strcmp(profile,
>     "main422-10") || !strcmp(profile, "main444-10") ||
>              !strcmp(profile, "main10-intra") || !strcmp(profile,
>     "main422-10-intra") || !strcmp(profile, "main444-10-intra"))
>              bInvalidDepth = true;
>     #endif
>     #if X265_DEPTH > 12
>          if (!strcmp(profile, "main12") || !strcmp(profile,
>     "main422-12") || !strcmp(profile, "main444-12") ||
>              !strcmp(profile, "main12-intra") || !strcmp(profile,
>     "main422-12-intra") || !strcmp(profile, "main444-12-intra"))
>              bInvalidDepth = true;
>     #endif
> 
>          if (bInvalidDepth)
>          {
>              x265_log(param, X265_LOG_ERROR, "%s profile not supported,
>     internal bit depth %d.\n", profile, X265_DEPTH);
>              return -1;
>          }
> 
>     It seems that the logic will report error, when x265 is built with
>     X265_DEPTH = 10 and profile is of 8bit.
> 
>     How to make x265 support both 8bit and 10bit?
> 
>     Thanks!
> 
>     Regards
> 
>     Andrew
> 
> 
> 
> 
> 
> 
> 
> 
> 
> _______________________________________________
> x265-devel mailing list
> x265-devel at videolan.org
> https://mailman.videolan.org/listinfo/x265-devel
> 


-- 

Fun and success!

Mario *LigH* Rohkrämer
maito:contact at ligh.de


More information about the x265-devel mailing list