diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2015-03-21 22:08:19 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2015-03-21 23:05:34 +0100 |
commit | d8151a7e944aea52d167571badc247c8d9972847 (patch) | |
tree | 00f3d6dcaf271371dc5a2ef284baefb8697d446d /libavcodec/h264_picture.c | |
parent | e970b576d28dd515d4ccd665b53763e228816cac (diff) | |
parent | a12d3188cbec15e22070e139fa5cc541da07e2c3 (diff) | |
download | ffmpeg-d8151a7e944aea52d167571badc247c8d9972847.tar.gz |
Merge commit 'a12d3188cbec15e22070e139fa5cc541da07e2c3'
* commit 'a12d3188cbec15e22070e139fa5cc541da07e2c3':
h264: use a smaller struct for the ref lists
Conflicts:
libavcodec/h264_direct.c
libavcodec/h264_mb.c
libavcodec/h264_picture.c
libavcodec/h264_refs.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/h264_picture.c')
-rw-r--r-- | libavcodec/h264_picture.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/libavcodec/h264_picture.c b/libavcodec/h264_picture.c index d63a12e1f2..127bc45c88 100644 --- a/libavcodec/h264_picture.c +++ b/libavcodec/h264_picture.c @@ -203,20 +203,23 @@ int ff_h264_field_end(H264Context *h, H264SliceContext *sl, int in_setup) if (use_last_pic) { ff_h264_set_erpic(&sl->er.last_pic, &h->last_pic_for_ec); - COPY_PICTURE(&sl->ref_list[0][0], &h->last_pic_for_ec); + sl->ref_list[0][0].parent = &h->last_pic_for_ec; + memcpy(sl->ref_list[0][0].data, h->last_pic_for_ec.f.data, sizeof(sl->ref_list[0][0].data)); + memcpy(sl->ref_list[0][0].linesize, h->last_pic_for_ec.f.linesize, sizeof(sl->ref_list[0][0].linesize)); + sl->ref_list[0][0].reference = h->last_pic_for_ec.reference; } else if (sl->ref_count[0]) { - ff_h264_set_erpic(&sl->er.last_pic, &sl->ref_list[0][0]); + ff_h264_set_erpic(&sl->er.last_pic, sl->ref_list[0][0].parent); } else ff_h264_set_erpic(&sl->er.last_pic, NULL); if (sl->ref_count[1]) - ff_h264_set_erpic(&sl->er.next_pic, &sl->ref_list[1][0]); + ff_h264_set_erpic(&sl->er.next_pic, sl->ref_list[1][0].parent); sl->er.ref_count = sl->ref_count[0]; ff_er_frame_end(&sl->er); if (use_last_pic) - memset(&sl->ref_list[0][0], 0, sizeof(h->last_pic_for_ec)); + memset(&sl->ref_list[0][0], 0, sizeof(sl->ref_list[0][0])); } #endif /* CONFIG_ERROR_RESILIENCE */ |