From 39ab2ea53121b9976a619cd545fbd3464b908696 Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Mon, 9 May 2016 09:30:10 +0200 Subject: [PATCH] h264: rename mmco_index to nb_mmco The variable stores the number of mmco entries, so the current name is misleading. --- libavcodec/h264.h | 2 +- libavcodec/h264_picture.c | 2 +- libavcodec/h264_refs.c | 36 ++++++++++++++++++------------------ libavcodec/h264_slice.c | 8 ++++---- 4 files changed, 24 insertions(+), 24 deletions(-) diff --git a/libavcodec/h264.h b/libavcodec/h264.h index a87680b9d7..feccf3a60f 100644 --- a/libavcodec/h264.h +++ b/libavcodec/h264.h @@ -574,7 +574,7 @@ typedef struct H264Context { * memory management control operations buffer. */ MMCO mmco[MAX_MMCO_COUNT]; - int mmco_index; + int nb_mmco; int mmco_reset; int long_ref_count; ///< number of actual long term references diff --git a/libavcodec/h264_picture.c b/libavcodec/h264_picture.c index 6c617a28f6..b16e3c09ae 100644 --- a/libavcodec/h264_picture.c +++ b/libavcodec/h264_picture.c @@ -154,7 +154,7 @@ int ff_h264_field_end(H264Context *h, H264SliceContext *sl, int in_setup) if (in_setup || !(avctx->active_thread_type & FF_THREAD_FRAME)) { if (!h->droppable) { - err = ff_h264_execute_ref_pic_marking(h, h->mmco, h->mmco_index); + err = ff_h264_execute_ref_pic_marking(h, h->mmco, h->nb_mmco); h->poc.prev_poc_msb = h->poc.poc_msb; h->poc.prev_poc_lsb = h->poc.poc_lsb; } diff --git a/libavcodec/h264_refs.c b/libavcodec/h264_refs.c index ce3806c311..d985c5ea16 100644 --- a/libavcodec/h264_refs.c +++ b/libavcodec/h264_refs.c @@ -539,7 +539,7 @@ static int check_opcodes(MMCO *mmco1, MMCO *mmco2, int n_mmcos) int ff_generate_sliding_window_mmcos(H264Context *h, int first_slice) { MMCO mmco_temp[MAX_MMCO_COUNT], *mmco = first_slice ? h->mmco : mmco_temp; - int mmco_index = 0, i = 0; + int nb_mmco = 0, i = 0; assert(h->long_ref_count + h->short_ref_count <= h->ps.sps->ref_frame_count); @@ -548,23 +548,23 @@ int ff_generate_sliding_window_mmcos(H264Context *h, int first_slice) !(FIELD_PICTURE(h) && !h->first_field && h->cur_pic_ptr->reference)) { mmco[0].opcode = MMCO_SHORT2UNUSED; mmco[0].short_pic_num = h->short_ref[h->short_ref_count - 1]->frame_num; - mmco_index = 1; + nb_mmco = 1; if (FIELD_PICTURE(h)) { mmco[0].short_pic_num *= 2; mmco[1].opcode = MMCO_SHORT2UNUSED; mmco[1].short_pic_num = mmco[0].short_pic_num + 1; - mmco_index = 2; + nb_mmco = 2; } } if (first_slice) { - h->mmco_index = mmco_index; - } else if (!first_slice && mmco_index >= 0 && - (mmco_index != h->mmco_index || - (i = check_opcodes(h->mmco, mmco_temp, mmco_index)))) { + h->nb_mmco = nb_mmco; + } else if (!first_slice && nb_mmco >= 0 && + (nb_mmco != h->nb_mmco || + (i = check_opcodes(h->mmco, mmco_temp, nb_mmco)))) { av_log(h->avctx, AV_LOG_ERROR, "Inconsistent MMCO state between slices [%d, %d, %d]\n", - mmco_index, h->mmco_index, i); + nb_mmco, h->nb_mmco, i); return AVERROR_INVALIDDATA; } return 0; @@ -748,14 +748,14 @@ int ff_h264_decode_ref_pic_marking(H264Context *h, GetBitContext *gb, { int i, ret; MMCO mmco_temp[MAX_MMCO_COUNT], *mmco = first_slice ? h->mmco : mmco_temp; - int mmco_index = 0; + int nb_mmco = 0; if (h->nal_unit_type == NAL_IDR_SLICE) { // FIXME fields skip_bits1(gb); // broken_link if (get_bits1(gb)) { mmco[0].opcode = MMCO_LONG; mmco[0].long_arg = 0; - mmco_index = 1; + nb_mmco = 1; } } else { if (get_bits1(gb)) { // adaptive_ref_pic_marking_mode_flag @@ -801,25 +801,25 @@ int ff_h264_decode_ref_pic_marking(H264Context *h, GetBitContext *gb, if (opcode == MMCO_END) break; } - mmco_index = i; + nb_mmco = i; } else { if (first_slice) { ret = ff_generate_sliding_window_mmcos(h, first_slice); if (ret < 0 && h->avctx->err_recognition & AV_EF_EXPLODE) return ret; } - mmco_index = -1; + nb_mmco = -1; } } - if (first_slice && mmco_index != -1) { - h->mmco_index = mmco_index; - } else if (!first_slice && mmco_index >= 0 && - (mmco_index != h->mmco_index || - check_opcodes(h->mmco, mmco_temp, mmco_index))) { + if (first_slice && nb_mmco != -1) { + h->nb_mmco = nb_mmco; + } else if (!first_slice && nb_mmco >= 0 && + (nb_mmco != h->nb_mmco || + check_opcodes(h->mmco, mmco_temp, nb_mmco))) { av_log(h->avctx, AV_LOG_ERROR, "Inconsistent MMCO state between slices [%d, %d]\n", - mmco_index, h->mmco_index); + nb_mmco, h->nb_mmco); return AVERROR_INVALIDDATA; } diff --git a/libavcodec/h264_slice.c b/libavcodec/h264_slice.c index 5cb5844cc7..634f181be5 100644 --- a/libavcodec/h264_slice.c +++ b/libavcodec/h264_slice.c @@ -416,7 +416,7 @@ int ff_h264_update_thread_context(AVCodecContext *dst, h->next_outputed_poc = h1->next_outputed_poc; memcpy(h->mmco, h1->mmco, sizeof(h->mmco)); - h->mmco_index = h1->mmco_index; + h->nb_mmco = h1->nb_mmco; h->mmco_reset = h1->mmco_reset; h->long_ref_count = h1->long_ref_count; h->short_ref_count = h1->short_ref_count; @@ -430,7 +430,7 @@ int ff_h264_update_thread_context(AVCodecContext *dst, return 0; if (!h->droppable) { - err = ff_h264_execute_ref_pic_marking(h, h->mmco, h->mmco_index); + err = ff_h264_execute_ref_pic_marking(h, h->mmco, h->nb_mmco); h->poc.prev_poc_msb = h->poc.poc_msb; h->poc.prev_poc_lsb = h->poc.poc_lsb; } @@ -1204,7 +1204,7 @@ static int h264_slice_header_parse(H264Context *h, H264SliceContext *sl) ret = ff_generate_sliding_window_mmcos(h, 1); if (ret < 0 && (h->avctx->err_recognition & AV_EF_EXPLODE)) return ret; - ret = ff_h264_execute_ref_pic_marking(h, h->mmco, h->mmco_index); + ret = ff_h264_execute_ref_pic_marking(h, h->mmco, h->nb_mmco); if (ret < 0 && (h->avctx->err_recognition & AV_EF_EXPLODE)) return ret; /* Error concealment: If a ref is missing, copy the previous ref @@ -1343,7 +1343,7 @@ static int h264_slice_header_parse(H264Context *h, H264SliceContext *sl) sl->slice_type_nos, &sl->pwt); // If frame-mt is enabled, only update mmco tables for the first slice - // in a field. Subsequent slices can temporarily clobber h->mmco_index + // in a field. Subsequent slices can temporarily clobber h->nb_mmco // or h->mmco, which will cause ref list mix-ups and decoding errors // further down the line. This may break decoding if the first slice is // corrupt, thus we only do this if frame-mt is enabled.