From 00bb07667fcc8a3ddd1e54496c0bfeef45e31d48 Mon Sep 17 00:00:00 2001 From: Martin Pulec Date: Mon, 23 Jan 2017 19:00:08 +0100 Subject: [PATCH] Libavcodec: opt to enable interlaced DCT (H.264) --- src/video_compress/libavcodec.cpp | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/src/video_compress/libavcodec.cpp b/src/video_compress/libavcodec.cpp index fd68f0f41..b3c61e7ac 100644 --- a/src/video_compress/libavcodec.cpp +++ b/src/video_compress/libavcodec.cpp @@ -1182,10 +1182,19 @@ static void configure_x264_x265(AVCodecContext *codec_ctx, struct setparam_param //codec_ctx->rc_qsquish = 0; //codec_ctx->scenechange_threshold = 100; - // this options increases variance in frame sizes quite a lot - //if (param->interlaced) { - // codec_ctx->flags |= AV_CODEC_FLAG_INTERLACED_DCT; - //} + /** + * @addtogroup cmdline_params + * @{ + * * lavc-h264-interlaced-dct + * Use interlaced DCT for H.264 + * @} + */ + if (get_commandline_param("lavc-h264-interlaced-dct")) { + // this options increases variance in frame sizes quite a lot + if (param->interlaced) { + codec_ctx->flags |= AV_CODEC_FLAG_INTERLACED_DCT; + } + } } static void configure_qsv(AVCodecContext *codec_ctx, struct setparam_param * /* param */)