diff options
author | Derek Buitenhuis <derek.buitenhuis@gmail.com> | 2014-06-11 21:19:42 +0100 |
---|---|---|
committer | Derek Buitenhuis <derek.buitenhuis@gmail.com> | 2014-06-12 13:53:34 +0100 |
commit | 6ee95af8a1181f02e7f3adb9b5d488ba3314e220 (patch) | |
tree | c7cbcda2f888ad68971f21bc5ca2115efa1385d6 /libavcodec/libx265.c | |
parent | 4e9b46b0568196e9e1640350a3c6f5f09bfd9e47 (diff) | |
download | ffmpeg-6ee95af8a1181f02e7f3adb9b5d488ba3314e220.tar.gz |
libx265: Add 4:2:2 support
It is also not final yet, so require -strict experimental.
Requires a bump to version 17.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Diffstat (limited to 'libavcodec/libx265.c')
-rw-r--r-- | libavcodec/libx265.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/libavcodec/libx265.c b/libavcodec/libx265.c index 9be84698ba..be5aa1ed76 100644 --- a/libavcodec/libx265.c +++ b/libavcodec/libx265.c @@ -82,10 +82,9 @@ static av_cold int libx265_encode_init(AVCodecContext *avctx) int nnal; if (avctx->strict_std_compliance > FF_COMPLIANCE_EXPERIMENTAL && - !av_pix_fmt_desc_get(avctx->pix_fmt)->log2_chroma_w && - !av_pix_fmt_desc_get(avctx->pix_fmt)->log2_chroma_h) { + !av_pix_fmt_desc_get(avctx->pix_fmt)->log2_chroma_w) { av_log(avctx, AV_LOG_ERROR, - "4:4:4 support is not fully defined for HEVC yet. " + "4:2:2 and 4:4:4 support is not fully defined for HEVC yet. " "Set -strict experimental to encode anyway.\n"); return AVERROR(ENOSYS); } @@ -134,6 +133,10 @@ static av_cold int libx265_encode_init(AVCodecContext *avctx) case AV_PIX_FMT_YUV420P10: ctx->params->internalCsp = X265_CSP_I420; break; + case AV_PIX_FMT_YUV422P: + case AV_PIX_FMT_YUV422P10: + ctx->params->internalCsp = X265_CSP_I422; + break; case AV_PIX_FMT_YUV444P: case AV_PIX_FMT_YUV444P10: ctx->params->internalCsp = X265_CSP_I444; @@ -262,14 +265,17 @@ static int libx265_encode_frame(AVCodecContext *avctx, AVPacket *pkt, static const enum AVPixelFormat x265_csp_eight[] = { AV_PIX_FMT_YUV420P, + AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_NONE }; static const enum AVPixelFormat x265_csp_twelve[] = { AV_PIX_FMT_YUV420P, + AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV420P10, + AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_NONE }; |