summaryrefslogtreecommitdiff
path: root/libavcodec/libx265.c
diff options
context:
space:
mode:
authorSteve Borho <steve@borho.org>2015-05-15 22:05:12 -0500
committerJames Almer <jamrial@gmail.com>2015-05-18 15:27:51 -0300
commitb012bd50685e1b952da20662af8d89f73ecdc49b (patch)
tree139d7c40a2b6825bd783810ed29540f9ce40cfc1 /libavcodec/libx265.c
parent4b0f78ad1f5e712e4dd9d809157a3e9252f9c042 (diff)
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>
Diffstat (limited to 'libavcodec/libx265.c')
-rw-r--r--libavcodec/libx265.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/libavcodec/libx265.c b/libavcodec/libx265.c
index 7423e13ad0..e9240f9491 100644
--- a/libavcodec/libx265.c
+++ b/libavcodec/libx265.c
@@ -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)