diff options
author | Carl Eugen Hoyos <cehoyos@ag.or.at> | 2016-07-06 18:56:19 +0200 |
---|---|---|
committer | Carl Eugen Hoyos <cehoyos@ag.or.at> | 2016-07-06 18:56:19 +0200 |
commit | 3e4357eb822c8bcaf9743dde008f5774d1356e74 (patch) | |
tree | 8d2a1e4e774fa27eda8633de2dc1584bbf427be7 /libavcodec/libx265.c | |
parent | 88d9c30cf57ec7328f16a241f10c84415e9aef4e (diff) | |
download | ffmpeg-3e4357eb822c8bcaf9743dde008f5774d1356e74.tar.gz |
lavc/libx265: Support gray encoding.
Gray encoding crashes with libx265 <= 84, so check the library version.
Diffstat (limited to 'libavcodec/libx265.c')
-rw-r--r-- | libavcodec/libx265.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/libavcodec/libx265.c b/libavcodec/libx265.c index 11088b2205..d25be70ffd 100644 --- a/libavcodec/libx265.c +++ b/libavcodec/libx265.c @@ -165,6 +165,15 @@ static av_cold int libx265_encode_init(AVCodecContext *avctx) case AV_PIX_FMT_YUV444P12: ctx->params->internalCsp = X265_CSP_I444; break; + case AV_PIX_FMT_GRAY8: + if (ctx->api->api_build_number < 85) { + av_log(avctx, AV_LOG_ERROR, + "libx265 version is %d, must be at least 85 for gray encoding.\n", + ctx->api->api_build_number); + return AVERROR_INVALIDDATA; + } + ctx->params->internalCsp = X265_CSP_I400; + break; } if (ctx->crf >= 0) { @@ -325,6 +334,7 @@ static const enum AVPixelFormat x265_csp_eight[] = { AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_GBRP, + AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE }; @@ -337,6 +347,7 @@ static const enum AVPixelFormat x265_csp_ten[] = { AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_GBRP10, + AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE }; @@ -353,6 +364,7 @@ static const enum AVPixelFormat x265_csp_twelve[] = { AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV444P12, AV_PIX_FMT_GBRP12, + AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE }; |