mirror of https://git.ffmpeg.org/ffmpeg.git
libavcodec/x265: detect csps in libx265_encode_init_csp()
Without this change, if you link with an 8bit libx265 and try to specify a 10bit input color space via: ffmpeg -i in.mov -c:v libx265 -pix_fmt yuv420p10le out.mp4 It will error with: Incompatible pixel format 'yuv420p10le' for codec 'libx265', auto-selecting format 'yuv420p' With this fix, it will learn if a 10bit libx265 is available at startup, and thus allow 10bit input color spaces. Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
This commit is contained in:
parent
4b0f78ad1f
commit
b012bd5068
|
@ -342,10 +342,10 @@ static const enum AVPixelFormat x265_csp_twelve[] = {
|
|||
|
||||
static av_cold void libx265_encode_init_csp(AVCodec *codec)
|
||||
{
|
||||
if (x265_max_bit_depth == 8)
|
||||
codec->pix_fmts = x265_csp_eight;
|
||||
else if (x265_max_bit_depth == 12)
|
||||
if (x265_api_get(10))
|
||||
codec->pix_fmts = x265_csp_twelve;
|
||||
else if (x265_api_get(8))
|
||||
codec->pix_fmts = x265_csp_eight;
|
||||
}
|
||||
|
||||
#define OFFSET(x) offsetof(libx265Context, x)
|
||||
|
|
Loading…
Reference in New Issue