[FFmpeg-devel] [PATCH v2 30/36] cbs_h264: Fix range and default value of max mv lengths
Xiang, Haihao
haihao.xiang at intel.com
Fri Jun 15 06:01:37 EEST 2018
On Fri, 2018-06-08 at 00:43 +0100, Mark Thompson wrote:
> The max and default values are 15, not 16.
I guessed you mixed both h264 and h265. The h264 doc i have specifies the range
for log2_max_mv_length_vertical/log2_max_mv_length_horizontal is [0, 16] and the
value of log2_max_mv_length_vertical/log2_max_mv_length_horizontal should be
inferred to 16 when log2_max_mv_length_vertical/log2_max_mv_length_horizontal is
not present.
> ---
> libavcodec/cbs_h264_syntax_template.c | 8 ++++----
> libavcodec/vaapi_encode_h264.c | 4 ++--
> 2 files changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/libavcodec/cbs_h264_syntax_template.c
> b/libavcodec/cbs_h264_syntax_template.c
> index 027b555db6..21edcb799e 100644
> --- a/libavcodec/cbs_h264_syntax_template.c
> +++ b/libavcodec/cbs_h264_syntax_template.c
> @@ -185,16 +185,16 @@ static int FUNC(vui_parameters)(CodedBitstreamContext
> *ctx, RWContext *rw,
> flag(motion_vectors_over_pic_boundaries_flag);
> ue(max_bytes_per_pic_denom, 0, 16);
> ue(max_bits_per_mb_denom, 0, 16);
> - ue(log2_max_mv_length_horizontal, 0, 16);
> - ue(log2_max_mv_length_vertical, 0, 16);
> + ue(log2_max_mv_length_horizontal, 0, 15);
> + ue(log2_max_mv_length_vertical, 0, 15);
> ue(max_num_reorder_frames, 0, H264_MAX_DPB_FRAMES);
> ue(max_dec_frame_buffering, 0, H264_MAX_DPB_FRAMES);
> } else {
> infer(motion_vectors_over_pic_boundaries_flag, 1);
> infer(max_bytes_per_pic_denom, 2);
> infer(max_bits_per_mb_denom, 1);
> - infer(log2_max_mv_length_horizontal, 16);
> - infer(log2_max_mv_length_vertical, 16);
> + infer(log2_max_mv_length_horizontal, 15);
> + infer(log2_max_mv_length_vertical, 15);
>
> if ((sps->profile_idc == 44 || sps->profile_idc == 86 ||
> sps->profile_idc == 110 || sps->profile_idc == 110 ||
> diff --git a/libavcodec/vaapi_encode_h264.c b/libavcodec/vaapi_encode_h264.c
> index 4034053dc0..0d7780110c 100644
> --- a/libavcodec/vaapi_encode_h264.c
> +++ b/libavcodec/vaapi_encode_h264.c
> @@ -491,8 +491,8 @@ static int
> vaapi_encode_h264_init_sequence_params(AVCodecContext *avctx)
>
> sps->vui.bitstream_restriction_flag = 1;
> sps->vui.motion_vectors_over_pic_boundaries_flag = 1;
> - sps->vui.log2_max_mv_length_horizontal = 16;
> - sps->vui.log2_max_mv_length_vertical = 16;
> + sps->vui.log2_max_mv_length_horizontal = 15;
> + sps->vui.log2_max_mv_length_vertical = 15;
> sps->vui.max_num_reorder_frames = (ctx->b_per_p > 0);
> sps->vui.max_dec_frame_buffering = sps->max_num_ref_frames;
>
More information about the ffmpeg-devel
mailing list