diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2015-03-21 14:59:58 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2015-03-21 15:18:10 +0100 |
commit | cc2cfdc49786a8268d1514661c17ea96035d6f1d (patch) | |
tree | fd17d2f29472b84fce724d66fc982ee51f7cd42f /libavcodec/h264_picture.c | |
parent | 27b3522ba3cf539e13bb0f8f9c68d2dd513a8f73 (diff) | |
parent | 95eb35f30513e335990ad0d5dca6ddc318477291 (diff) | |
download | ffmpeg-cc2cfdc49786a8268d1514661c17ea96035d6f1d.tar.gz |
Merge commit '95eb35f30513e335990ad0d5dca6ddc318477291'
* commit '95eb35f30513e335990ad0d5dca6ddc318477291':
h264: move the ref lists variables into the per-slice context
Conflicts:
libavcodec/h264.c
libavcodec/h264.h
libavcodec/h264_cabac.c
libavcodec/h264_cavlc.c
libavcodec/h264_direct.c
libavcodec/h264_mb.c
libavcodec/h264_picture.c
libavcodec/h264_refs.c
libavcodec/h264_slice.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/h264_picture.c')
-rw-r--r-- | libavcodec/h264_picture.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/libavcodec/h264_picture.c b/libavcodec/h264_picture.c index 30ac65c8d5..65135e4922 100644 --- a/libavcodec/h264_picture.c +++ b/libavcodec/h264_picture.c @@ -152,7 +152,7 @@ void ff_h264_set_erpic(ERPicture *dst, H264Picture *src) #endif /* CONFIG_ERROR_RESILIENCE */ } -int ff_h264_field_end(H264Context *h, int in_setup) +int ff_h264_field_end(H264Context *h, H264SliceContext *sl, int in_setup) { AVCodecContext *const avctx = h->avctx; int err = 0; @@ -197,26 +197,26 @@ int ff_h264_field_end(H264Context *h, int in_setup) * causes problems for the first MB line, too. */ if (!FIELD_PICTURE(h) && h->current_slice && !h->sps.new) { - int use_last_pic = h->last_pic_for_ec.f.buf[0] && !h->ref_count[0]; + int use_last_pic = h->last_pic_for_ec.f.buf[0] && !sl->ref_count[0]; ff_h264_set_erpic(&h->er.cur_pic, h->cur_pic_ptr); if (use_last_pic) { ff_h264_set_erpic(&h->er.last_pic, &h->last_pic_for_ec); - COPY_PICTURE(&h->ref_list[0][0], &h->last_pic_for_ec); - } else if (h->ref_count[0]) { - ff_h264_set_erpic(&h->er.last_pic, &h->ref_list[0][0]); + COPY_PICTURE(&sl->ref_list[0][0], &h->last_pic_for_ec); + } else if (sl->ref_count[0]) { + ff_h264_set_erpic(&h->er.last_pic, &sl->ref_list[0][0]); } else ff_h264_set_erpic(&h->er.last_pic, NULL); - if (h->ref_count[1]) - ff_h264_set_erpic(&h->er.next_pic, &h->ref_list[1][0]); + if (sl->ref_count[1]) + ff_h264_set_erpic(&h->er.next_pic, &sl->ref_list[1][0]); - h->er.ref_count = h->ref_count[0]; + h->er.ref_count = sl->ref_count[0]; ff_er_frame_end(&h->er); if (use_last_pic) - memset(&h->ref_list[0][0], 0, sizeof(h->last_pic_for_ec)); + memset(&sl->ref_list[0][0], 0, sizeof(h->last_pic_for_ec)); } #endif /* CONFIG_ERROR_RESILIENCE */ |