On Tue, Mar 06, 2012 at 02:49:54PM -0800, Ronald S. Bultje wrote: > From: "Ronald S. Bultje" <rsbul...@gmail.com> > > Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind > CC: libav-sta...@libav.org > --- > libavcodec/dvdata.c | 30 ++++++++++++++++-------------- > 1 file changed, 16 insertions(+), 14 deletions(-) > > diff --git a/libavcodec/dvdata.c b/libavcodec/dvdata.c > index e9929d0..7a82424 100644 > --- a/libavcodec/dvdata.c > +++ b/libavcodec/dvdata.c > @@ -286,26 +286,28 @@ static const DVprofile dv_profiles[] = { > const DVprofile* avpriv_dv_frame_profile(const DVprofile *sys, > const uint8_t* frame, unsigned buf_size) > { > - int i; > + int i, dsf, stype; > > - int dsf = (frame[3] & 0x80) >> 7; > + if (buf_size < 80*5 + 48 + 4) > + return NULL; > > - int stype = frame[80*5 + 48 + 3] & 0x1f; > + dsf = (frame[3] & 0x80) >> 7; > + stype = frame[80*5 + 48 + 3] & 0x1f; > > - /* 576i50 25Mbps 4:1:1 is a special case */ > - if (dsf == 1 && stype == 0 && frame[4] & 0x07 /* the APT field */) { > - return &dv_profiles[2]; > - } > + /* 576i50 25Mbps 4:1:1 is a special case */ > + if (dsf == 1 && stype == 0 && frame[4] & 0x07 /* the APT field */) { > + return &dv_profiles[2]; > + } > > - for (i=0; i<FF_ARRAY_ELEMS(dv_profiles); i++) > - if (dsf == dv_profiles[i].dsf && stype == dv_profiles[i].video_stype) > - return &dv_profiles[i]; > + for (i=0; i<FF_ARRAY_ELEMS(dv_profiles); i++) > + if (dsf == dv_profiles[i].dsf && stype == dv_profiles[i].video_stype) > + return &dv_profiles[i]; > > - /* check if old sys matches and assumes corrupted input */ > - if (sys && buf_size == sys->frame_size) > - return sys; > + /* check if old sys matches and assumes corrupted input */ > + if (sys && buf_size == sys->frame_size) > + return sys; > > - return NULL; > + return NULL; > } > > const DVprofile* avpriv_dv_codec_profile(AVCodecContext* codec) > --
cosmetics here is unrelated to the change itself, both look OK separately _______________________________________________ libav-devel mailing list libav-devel@libav.org https://lists.libav.org/mailman/listinfo/libav-devel