diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2013-01-18 16:54:38 +0400 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2013-01-18 16:54:38 +0400 |
commit | 8ac0d95bd371a3cf6b4dd57a3d56cdc7bceef464 (patch) | |
tree | 1cbdc131646a523249ebdd373387176c161e5928 /libavcodec | |
parent | 17596198cacbb7277f1d9641f0a76fe62ebf155d (diff) | |
parent | 940b8b5861241df7aff8977774e1de6e67de5b83 (diff) |
Merge remote-tracking branch 'qatar/master'
* qatar/master:
h264: avoid pointless copying of ref lists
lavr: always reset mix function names and pointers in mix_function_init()
lavr: call mix_function_init() in ff_audio_mix_set_matrix()
fate: update ref after rv30_loop_filter fix
rv30: fix masking in rv30_loop_filter()
Conflicts:
tests/ref/fate/filter-delogo
tests/ref/fate/rv30
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec')
-rw-r--r-- | libavcodec/h264.c | 3 | ||||
-rw-r--r-- | libavcodec/h264.h | 2 | ||||
-rw-r--r-- | libavcodec/rv30.c | 4 |
3 files changed, 4 insertions, 5 deletions
diff --git a/libavcodec/h264.c b/libavcodec/h264.c index db1e5d9e28..e1c76e3241 100644 --- a/libavcodec/h264.c +++ b/libavcodec/h264.c @@ -1301,7 +1301,7 @@ static int decode_update_thread_context(AVCodecContext *dst, // reference lists copy_fields(h, h1, ref_count, list_count); - copy_fields(h, h1, ref_list, intra_gb); + copy_fields(h, h1, ref2frm, intra_gb); copy_fields(h, h1, short_ref, cabac_init_idc); copy_picture_range(h->short_ref, h1->short_ref, 32, s, s1); @@ -2400,7 +2400,6 @@ static int clone_slice(H264Context *dst, H264Context *src) memcpy(dst->short_ref, src->short_ref, sizeof(dst->short_ref)); memcpy(dst->long_ref, src->long_ref, sizeof(dst->long_ref)); memcpy(dst->default_ref_list, src->default_ref_list, sizeof(dst->default_ref_list)); - memcpy(dst->ref_list, src->ref_list, sizeof(dst->ref_list)); memcpy(dst->dequant4_coeff, src->dequant4_coeff, sizeof(src->dequant4_coeff)); memcpy(dst->dequant8_coeff, src->dequant8_coeff, sizeof(src->dequant8_coeff)); diff --git a/libavcodec/h264.h b/libavcodec/h264.h index 4b6a19ed4a..e7ad07db8e 100644 --- a/libavcodec/h264.h +++ b/libavcodec/h264.h @@ -485,9 +485,9 @@ typedef struct H264Context { int redundant_pic_count; + Picture default_ref_list[2][32]; ///< base reference list for all slices of a coded picture Picture *short_ref[32]; Picture *long_ref[32]; - Picture default_ref_list[2][32]; ///< base reference list for all slices of a coded picture Picture *delayed_pic[MAX_DELAYED_PIC_COUNT + 2]; // FIXME size? int last_pocs[MAX_DELAYED_PIC_COUNT]; Picture *next_output_pic; diff --git a/libavcodec/rv30.c b/libavcodec/rv30.c index 9d33051354..17f1e99726 100644 --- a/libavcodec/rv30.c +++ b/libavcodec/rv30.c @@ -187,7 +187,7 @@ static void rv30_loop_filter(RV34DecContext *r, int row) for(i = !mb_x; i < 2; i++, C += 4){ int ij = i + (j >> 1); loc_lim = 0; - if(cur_cbp && (1 << ij)) + if (cur_cbp & (1 << ij)) loc_lim = cur_lim; else if(!i && left_cbp & (1 << (ij + 1))) loc_lim = left_lim; @@ -229,7 +229,7 @@ static void rv30_loop_filter(RV34DecContext *r, int row) for(i = 0; i < 2; i++, C += 4){ int ij = i + (j >> 1); loc_lim = 0; - if(r->cbp_chroma[mb_pos] && (1 << ij)) + if (r->cbp_chroma[mb_pos] & (1 << ij)) loc_lim = cur_lim; else if(!j && top_cbp & (1 << (ij + 2))) loc_lim = top_lim; |