This patch-set tries to implement observations/suggestions from the discussions in
https://ffmpeg.org/pipermail/ffmpeg-devel/2017-January/205902.html https://ffmpeg.org/pipermail/ffmpeg-devel/2017-January/206428.html Changes since version 2: - replaced own patch with Libav commit for setting encoding framerate - avoid touching bit_rate_tolerance field - reorder patches and integrated helper function into (hopefully) less controversial uncompressed bitrate estimation patch Anton Khirnov (1): ffmpeg: set the encoding framerate when the output is CFR Tobias Rapp (2): avcodec: estimate output bitrate for uncompressed video codecs avcodec: estimate output bitrate for ffv1/huffyuv codecs ffmpeg.c | 2 ++ libavcodec/ffv1enc.c | 3 +++ libavcodec/huffyuvenc.c | 3 +++ libavcodec/internal.h | 6 ++++++ libavcodec/r210enc.c | 15 +++++++++++++++ libavcodec/rawenc.c | 2 ++ libavcodec/utils.c | 21 +++++++++++++++++++++ libavcodec/v210enc.c | 3 +++ libavcodec/v308enc.c | 3 +++ libavcodec/v408enc.c | 2 ++ libavcodec/v410enc.c | 3 +++ libavcodec/y41penc.c | 1 + tests/ref/fate/v410enc | 2 +- tests/ref/vsynth/vsynth1-bpp1 | 2 +- tests/ref/vsynth/vsynth1-bpp15 | 2 +- tests/ref/vsynth/vsynth1-ffv1 | 2 +- tests/ref/vsynth/vsynth1-ffv1-v0 | 2 +- tests/ref/vsynth/vsynth1-ffv1-v3-bgr0 | 2 +- tests/ref/vsynth/vsynth1-ffv1-v3-rgb48 | 2 +- tests/ref/vsynth/vsynth1-ffv1-v3-yuv420p | 2 +- tests/ref/vsynth/vsynth1-ffv1-v3-yuv422p10 | 2 +- tests/ref/vsynth/vsynth1-ffv1-v3-yuv444p16 | 2 +- tests/ref/vsynth/vsynth1-ffvhuff | 2 +- tests/ref/vsynth/vsynth1-ffvhuff420p12 | 2 +- tests/ref/vsynth/vsynth1-ffvhuff422p10left | 2 +- tests/ref/vsynth/vsynth1-ffvhuff444 | 2 +- tests/ref/vsynth/vsynth1-ffvhuff444p16 | 2 +- tests/ref/vsynth/vsynth1-huffyuv | 2 +- tests/ref/vsynth/vsynth1-huffyuvbgr24 | 2 +- tests/ref/vsynth/vsynth1-huffyuvbgra | 2 +- tests/ref/vsynth/vsynth1-r210 | 2 +- tests/ref/vsynth/vsynth1-rgb | 2 +- tests/ref/vsynth/vsynth1-v210 | 2 +- tests/ref/vsynth/vsynth1-v210-10 | 2 +- tests/ref/vsynth/vsynth1-v308 | 2 +- tests/ref/vsynth/vsynth1-v408 | 2 +- tests/ref/vsynth/vsynth1-y41p | 2 +- tests/ref/vsynth/vsynth1-yuv | 2 +- tests/ref/vsynth/vsynth2-bpp1 | 2 +- tests/ref/vsynth/vsynth2-bpp15 | 2 +- tests/ref/vsynth/vsynth2-ffv1 | 2 +- tests/ref/vsynth/vsynth2-ffv1-v0 | 2 +- tests/ref/vsynth/vsynth2-ffv1-v3-bgr0 | 2 +- tests/ref/vsynth/vsynth2-ffv1-v3-rgb48 | 2 +- tests/ref/vsynth/vsynth2-ffv1-v3-yuv420p | 2 +- tests/ref/vsynth/vsynth2-ffv1-v3-yuv422p10 | 2 +- tests/ref/vsynth/vsynth2-ffv1-v3-yuv444p16 | 2 +- tests/ref/vsynth/vsynth2-ffvhuff | 2 +- tests/ref/vsynth/vsynth2-ffvhuff420p12 | 2 +- tests/ref/vsynth/vsynth2-ffvhuff422p10left | 2 +- tests/ref/vsynth/vsynth2-ffvhuff444 | 2 +- tests/ref/vsynth/vsynth2-ffvhuff444p16 | 2 +- tests/ref/vsynth/vsynth2-huffyuv | 2 +- tests/ref/vsynth/vsynth2-huffyuvbgr24 | 2 +- tests/ref/vsynth/vsynth2-huffyuvbgra | 2 +- tests/ref/vsynth/vsynth2-r210 | 2 +- tests/ref/vsynth/vsynth2-rgb | 2 +- tests/ref/vsynth/vsynth2-v210 | 2 +- tests/ref/vsynth/vsynth2-v210-10 | 2 +- tests/ref/vsynth/vsynth2-v308 | 2 +- tests/ref/vsynth/vsynth2-v408 | 2 +- tests/ref/vsynth/vsynth2-y41p | 2 +- tests/ref/vsynth/vsynth2-yuv | 2 +- tests/ref/vsynth/vsynth3-bpp1 | 2 +- tests/ref/vsynth/vsynth3-bpp15 | 2 +- tests/ref/vsynth/vsynth3-ffv1 | 2 +- tests/ref/vsynth/vsynth3-ffv1-v0 | 2 +- tests/ref/vsynth/vsynth3-ffv1-v3-bgr0 | 2 +- tests/ref/vsynth/vsynth3-ffv1-v3-rgb48 | 2 +- tests/ref/vsynth/vsynth3-ffv1-v3-yuv420p | 2 +- tests/ref/vsynth/vsynth3-ffv1-v3-yuv422p10 | 2 +- tests/ref/vsynth/vsynth3-ffv1-v3-yuv444p16 | 2 +- tests/ref/vsynth/vsynth3-ffvhuff | 2 +- tests/ref/vsynth/vsynth3-ffvhuff420p12 | 2 +- tests/ref/vsynth/vsynth3-ffvhuff422p10left | 2 +- tests/ref/vsynth/vsynth3-ffvhuff444 | 2 +- tests/ref/vsynth/vsynth3-ffvhuff444p16 | 2 +- tests/ref/vsynth/vsynth3-huffyuv | 2 +- tests/ref/vsynth/vsynth3-huffyuvbgr24 | 2 +- tests/ref/vsynth/vsynth3-huffyuvbgra | 2 +- tests/ref/vsynth/vsynth3-r210 | 2 +- tests/ref/vsynth/vsynth3-rgb | 2 +- tests/ref/vsynth/vsynth3-v210 | 2 +- tests/ref/vsynth/vsynth3-v210-10 | 2 +- tests/ref/vsynth/vsynth3-v308 | 2 +- tests/ref/vsynth/vsynth3-v408 | 2 +- tests/ref/vsynth/vsynth3-yuv | 2 +- tests/ref/vsynth/vsynth_lena-bpp1 | 2 +- tests/ref/vsynth/vsynth_lena-bpp15 | 2 +- tests/ref/vsynth/vsynth_lena-ffv1 | 2 +- tests/ref/vsynth/vsynth_lena-ffv1-v0 | 2 +- tests/ref/vsynth/vsynth_lena-ffv1-v3-bgr0 | 2 +- tests/ref/vsynth/vsynth_lena-ffv1-v3-rgb48 | 2 +- tests/ref/vsynth/vsynth_lena-ffv1-v3-yuv420p | 2 +- tests/ref/vsynth/vsynth_lena-ffv1-v3-yuv422p10 | 2 +- tests/ref/vsynth/vsynth_lena-ffv1-v3-yuv444p16 | 2 +- tests/ref/vsynth/vsynth_lena-ffvhuff | 2 +- tests/ref/vsynth/vsynth_lena-ffvhuff420p12 | 2 +- tests/ref/vsynth/vsynth_lena-ffvhuff422p10left | 2 +- tests/ref/vsynth/vsynth_lena-ffvhuff444 | 2 +- tests/ref/vsynth/vsynth_lena-ffvhuff444p16 | 2 +- tests/ref/vsynth/vsynth_lena-huffyuv | 2 +- tests/ref/vsynth/vsynth_lena-huffyuvbgr24 | 2 +- tests/ref/vsynth/vsynth_lena-huffyuvbgra | 2 +- tests/ref/vsynth/vsynth_lena-r210 | 2 +- tests/ref/vsynth/vsynth_lena-rgb | 2 +- tests/ref/vsynth/vsynth_lena-v210 | 2 +- tests/ref/vsynth/vsynth_lena-v210-10 | 2 +- tests/ref/vsynth/vsynth_lena-v308 | 2 +- tests/ref/vsynth/vsynth_lena-v408 | 2 +- tests/ref/vsynth/vsynth_lena-y41p | 2 +- tests/ref/vsynth/vsynth_lena-yuv | 2 +- 112 files changed, 164 insertions(+), 100 deletions(-) -- 2.7.4 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel