mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
lavc/libx265: Support gray encoding.
Gray encoding crashes with libx265 <= 84, so check the library version.
This commit is contained in:
parent
88d9c30cf5
commit
3e4357eb82
@ -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
|
||||
};
|
||||
|
||||
|
@ -29,7 +29,7 @@
|
||||
|
||||
#define LIBAVCODEC_VERSION_MAJOR 57
|
||||
#define LIBAVCODEC_VERSION_MINOR 48
|
||||
#define LIBAVCODEC_VERSION_MICRO 102
|
||||
#define LIBAVCODEC_VERSION_MICRO 103
|
||||
|
||||
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
|
||||
LIBAVCODEC_VERSION_MINOR, \
|
||||
|
Loading…
Reference in New Issue
Block a user