Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2013-01-18 16:54:38 +0400
committerMichael Niedermayer <michaelni@gmx.at>2013-01-18 16:54:38 +0400
commit8ac0d95bd371a3cf6b4dd57a3d56cdc7bceef464 (patch)
tree1cbdc131646a523249ebdd373387176c161e5928 /libavcodec
parent17596198cacbb7277f1d9641f0a76fe62ebf155d (diff)
parent940b8b5861241df7aff8977774e1de6e67de5b83 (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.c3
-rw-r--r--libavcodec/h264.h2
-rw-r--r--libavcodec/rv30.c4
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;