diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2015-04-29 15:44:21 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2015-04-29 16:35:24 +0200 |
commit | 36f862e04c2afe37c1fd541e01013c6cef4c6015 (patch) | |
tree | 3983371af49a7234d87bf999b35b17875db09a64 /libavcodec/h264_picture.c | |
parent | 07a79cf8694ac685ae8f579ccc33d113eb46fe3d (diff) | |
parent | a0f2946068c62e18cb05ac25c0df3d86077251a6 (diff) | |
download | ffmpeg-36f862e04c2afe37c1fd541e01013c6cef4c6015.tar.gz |
Merge commit 'a0f2946068c62e18cb05ac25c0df3d86077251a6'
* commit 'a0f2946068c62e18cb05ac25c0df3d86077251a6':
h264: use properly allocated AVFrames
Conflicts:
libavcodec/h264.c
libavcodec/h264.h
libavcodec/h264_refs.c
libavcodec/h264_slice.c
libavcodec/svq3.c
libavcodec/vda_h264.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 14a96d0e3d..14d8f19ef8 100644 --- a/libavcodec/h264_picture.c +++ b/libavcodec/h264_picture.c @@ -49,7 +49,7 @@ void ff_h264_unref_picture(H264Context *h, H264Picture *pic) int off = offsetof(H264Picture, tf) + sizeof(pic->tf); int i; - if (!pic->f.buf[0]) + if (!pic->f || !pic->f->buf[0]) return; ff_thread_release_buffer(h->avctx, &pic->tf); @@ -69,11 +69,11 @@ int ff_h264_ref_picture(H264Context *h, H264Picture *dst, H264Picture *src) { int ret, i; - av_assert0(!dst->f.buf[0]); - av_assert0(src->f.buf[0]); + av_assert0(!dst->f->buf[0]); + av_assert0(src->f->buf[0]); - src->tf.f = &src->f; - dst->tf.f = &dst->f; + src->tf.f = src->f; + dst->tf.f = dst->f; ret = ff_thread_ref_frame(&dst->tf, &src->tf); if (ret < 0) goto fail; @@ -138,7 +138,7 @@ void ff_h264_set_erpic(ERPicture *dst, H264Picture *src) if (!src) return; - dst->f = &src->f; + dst->f = src->f; dst->tf = &src->tf; for (i = 0; i < 2; i++) { @@ -196,15 +196,15 @@ int ff_h264_field_end(H264Context *h, H264SliceContext *sl, int in_setup) * causes problems for the first MB line, too. */ if (!FIELD_PICTURE(h) && h->current_slice && !h->sps.new && h->enable_er) { - int use_last_pic = h->last_pic_for_ec.f.buf[0] && !sl->ref_count[0]; + int use_last_pic = h->last_pic_for_ec.f->buf[0] && !sl->ref_count[0]; ff_h264_set_erpic(&sl->er.cur_pic, h->cur_pic_ptr); if (use_last_pic) { ff_h264_set_erpic(&sl->er.last_pic, &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)); + 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].parent); |