[FFmpeg-devel] [PATCH v2 30/36] cbs_h264: Fix range and default value of max mv lengths

Mark Thompson sw at jkqxz.net
Fri Jun 8 02:43:25 EEST 2018


The max and default values are 15, not 16.
---
 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;
 
-- 
2.16.3



More information about the ffmpeg-devel mailing list