Browse Source

h264: move reading direct_spatial_mv_pred out of ff_set_ref_count()

It has nothing to do with the reference count and so does not belong in
this function.
tags/n3.1
Anton Khirnov 10 years ago
parent
commit
e9f884416c
3 changed files with 6 additions and 2 deletions
  1. +0
    -2
      libavcodec/h264.c
  2. +3
    -0
      libavcodec/h264_parser.c
  3. +3
    -0
      libavcodec/h264_slice.c

+ 0
- 2
libavcodec/h264.c View File

@@ -975,8 +975,6 @@ int ff_set_ref_count(H264Context *h, H264SliceContext *sl)
ref_count[1] = h->pps.ref_count[1];

if (sl->slice_type_nos != AV_PICTURE_TYPE_I) {
if (sl->slice_type_nos == AV_PICTURE_TYPE_B)
sl->direct_spatial_mv_pred = get_bits1(&sl->gb);
num_ref_idx_active_override_flag = get_bits1(&sl->gb);

if (num_ref_idx_active_override_flag) {


+ 3
- 0
libavcodec/h264_parser.c View File

@@ -117,6 +117,9 @@ static int scan_mmco_reset(AVCodecParserContext *s)
if (h->pps.redundant_pic_cnt_present)
get_ue_golomb(&sl->gb); // redundant_pic_count

if (sl->slice_type_nos == AV_PICTURE_TYPE_B)
get_bits1(&sl->gb); // direct_spatial_mv_pred

if (ff_set_ref_count(h, sl) < 0)
return AVERROR_INVALIDDATA;



+ 3
- 0
libavcodec/h264_slice.c View File

@@ -1454,6 +1454,9 @@ int ff_h264_decode_slice_header(H264Context *h, H264SliceContext *sl)
if (h->pps.redundant_pic_cnt_present)
sl->redundant_pic_count = get_ue_golomb(&sl->gb);

if (sl->slice_type_nos == AV_PICTURE_TYPE_B)
sl->direct_spatial_mv_pred = get_bits1(&sl->gb);

ret = ff_set_ref_count(h, sl);
if (ret < 0)
return ret;


Loading…
Cancel
Save