diff options
author | Anton Khirnov <anton@khirnov.net> | 2013-10-27 13:51:16 +0100 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2014-10-18 05:21:50 +0200 |
commit | a6e4ce9fd50897dc6d9c2ada4b6b8090de7de5bf (patch) | |
tree | 7ade07d87a7ad2df786bc28854be65effaaaac3f /libavcodec/mpegvideo.h | |
parent | 6cbbf0592f4f3940aac7f687850d1b726a2ea836 (diff) | |
download | ffmpeg-a6e4ce9fd50897dc6d9c2ada4b6b8090de7de5bf.tar.gz |
lavc: make rc_qsquish a private option of mpegvideo encoders
Diffstat (limited to 'libavcodec/mpegvideo.h')
-rw-r--r-- | libavcodec/mpegvideo.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/libavcodec/mpegvideo.h b/libavcodec/mpegvideo.h index 6df828837a..56e9242942 100644 --- a/libavcodec/mpegvideo.h +++ b/libavcodec/mpegvideo.h @@ -628,6 +628,12 @@ typedef struct MpegEncContext { int mpv_flags; ///< flags set by private options int quantizer_noise_shaping; + /** + * ratecontrol qmin qmax limiting method + * 0-> clipping, 1-> use a nice continuous function to limit qscale wthin qmin/qmax. + */ + float rc_qsquish; + /* temp buffers for rate control */ float *cplx_tab, *bits_tab; @@ -672,7 +678,9 @@ typedef struct MpegEncContext { FF_MPV_OFFSET(chroma_elim_threshold), AV_OPT_TYPE_INT, { .i64 = 0 }, INT_MIN, INT_MAX, FF_MPV_OPT_FLAGS },\ { "quantizer_noise_shaping", NULL, FF_MPV_OFFSET(quantizer_noise_shaping), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, INT_MAX, FF_MPV_OPT_FLAGS },\ { "error_rate", "Simulate errors in the bitstream to test error concealment.", \ - FF_MPV_OFFSET(error_rate), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, INT_MAX, FF_MPV_OPT_FLAGS }, + FF_MPV_OFFSET(error_rate), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, INT_MAX, FF_MPV_OPT_FLAGS },\ +{"qsquish", "how to keep quantizer between qmin and qmax (0 = clip, 1 = use differentiable function)", \ + FF_MPV_OFFSET(rc_qsquish), AV_OPT_TYPE_FLOAT, {.dbl = 0 }, 0, 99, FF_MPV_OPT_FLAGS}, extern const AVOption ff_mpv_generic_options[]; |