diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2011-05-21 03:11:50 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2011-05-21 03:11:50 +0200 |
commit | 0424e052f83adc422d8a746e3cdc5ab6bc28679e (patch) | |
tree | 80437095d9912fb844ec2773afe862d54f08c80d /libavcodec/mpegvideo.c | |
parent | 5c08c7b2151409c3b7a05e54fe46834deedff119 (diff) | |
download | ffmpeg-0424e052f83adc422d8a746e3cdc5ab6bc28679e.tar.gz |
Merge remote-tracking branch 'ffmpeg-mt/master'
* ffmpeg-mt/master:
Update todo.
h264: add an assert that copied pictures are valid picture pointers
valgrind-check: run with 1 and 3 threads
h264: When decoding a packet with multiple PPS/SPS, don't start the next thread until all of them have been read
Allow some pictures to be released earlier after 51ead6d2c40c5defdd211f435aec49b19f5f6a18
h264: fix slice threading MC reading uninitialized frame edges.
Please see ffmpeg-mt for a list of authors of these changes.
Conflicts:
libavcodec/h264.c
mt-work/valgrind-check.sh
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/mpegvideo.c')
-rw-r--r-- | libavcodec/mpegvideo.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c index 6bb35f9f39..0a0a11ebc9 100644 --- a/libavcodec/mpegvideo.c +++ b/libavcodec/mpegvideo.c @@ -316,7 +316,7 @@ int ff_alloc_picture(MpegEncContext *s, Picture *pic, int shared){ s->prev_pict_types[0]= s->dropable ? AV_PICTURE_TYPE_B : s->pict_type; if(pic->age < PREV_PICT_TYPES_BUFFER_SIZE && s->prev_pict_types[pic->age] == AV_PICTURE_TYPE_B) pic->age= INT_MAX; // Skipped MBs in B-frames are quite rare in MPEG-1/2 and it is a bit tricky to skip them anyway. - pic->owner2 = s; + pic->owner2 = NULL; return 0; fail: //for the FF_ALLOCZ_OR_GOTO macro @@ -955,7 +955,7 @@ void ff_release_unused_pictures(MpegEncContext *s, int remove_current) /* release non reference frames */ for(i=0; i<s->picture_count; i++){ if(s->picture[i].data[0] && !s->picture[i].reference - && s->picture[i].owner2 == s + && (!s->picture[i].owner2 || s->picture[i].owner2 == s) && (remove_current || &s->picture[i] != s->current_picture_ptr) /*&& s->picture[i].type!=FF_BUFFER_TYPE_SHARED*/){ free_frame_buffer(s, &s->picture[i]); |