Hi Ronald, unfortunately, this patch does not apply cleanly to the 0.8 branch. In order to have it for 0.8.2, I'd therefore require your assistance with this backport.
Cheers, Reinhard On Tue, Mar 27, 2012 at 1:39 AM, Ronald S. Bultje <[email protected]> wrote: > Module: libav > Branch: master > Commit: 5484170ac729d739b2747979408f47bd9aa31c7c > > Author: Ronald S. Bultje <[email protected]> > Committer: Ronald S. Bultje <[email protected]> > Date: Tue Mar 27 00:20:02 2012 +0200 > > rv34: set mb_num_left to 0 after finishing a frame > > Prevents running error resilience on a previous frame which will write > to the pic->mb_type[] array of the previous image. The array might > already be re-used for a new image in a subsequent thread, thus cause > two threads to write to the same pic->mb_type[] array, causing a race > condition which can crash in rv34_decode_cbp(), called by > rv34_decode_inter_mb_header() (which accesses mb_type[] twice, > assuming values are maintained, which the race condition breaks). > > Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind > CC: [email protected] > > --- > > libavcodec/rv34.c | 2 ++ > 1 files changed, 2 insertions(+), 0 deletions(-) > > diff --git a/libavcodec/rv34.c b/libavcodec/rv34.c > index da5d437..b366ead 100644 > --- a/libavcodec/rv34.c > +++ b/libavcodec/rv34.c > @@ -1576,6 +1576,7 @@ static int finish_frame(AVCodecContext *avctx, AVFrame > *pict) > > ff_er_frame_end(s); > ff_MPV_frame_end(s); > + s->mb_num_left = 0; > > if (HAVE_THREADS && (s->avctx->active_thread_type & FF_THREAD_FRAME)) > ff_thread_report_progress(&s->current_picture_ptr->f, INT_MAX, 0); > @@ -1774,6 +1775,7 @@ int ff_rv34_decode_frame(AVCodecContext *avctx, > * only complete frames */ > ff_er_frame_end(s); > ff_MPV_frame_end(s); > + s->mb_num_left = 0; > ff_thread_report_progress(&s->current_picture_ptr->f, INT_MAX, 0); > return AVERROR_INVALIDDATA; > } > > _______________________________________________ > libav-commits mailing list > [email protected] > https://lists.libav.org/mailman/listinfo/libav-commits -- regards, Reinhard _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
