[FFmpeg-devel] [FFmpeg-cvslog] lavc/qsvenc: assert uninitialized pict_type

Fu, Linjie linjie.fu at intel.com
Mon Dec 3 10:31:05 EET 2018


> -----Original Message-----
> From: ffmpeg-devel [mailto:ffmpeg-devel-bounces at ffmpeg.org] On Behalf
> Of James Almer
> Sent: Friday, November 30, 2018 23:53
> To: ffmpeg-devel at ffmpeg.org
> Subject: Re: [FFmpeg-devel] [FFmpeg-cvslog] lavc/qsvenc: assert
> uninitialized pict_type
> 
> On 11/30/2018 12:42 PM, Carl Eugen Hoyos wrote:
> > 2018-11-30 10:54 GMT+01:00, Linjie Fu <git at videolan.org>:
> >> ffmpeg | branch: master | Linjie Fu <linjie.fu at intel.com> | Wed Nov 28
> >> 10:41:55 2018 +0800| [67cdfcf694f840d215be940f82545c45c9be193a] |
> committer:
> >> Zhong Li
> >>
> >> lavc/qsvenc: assert uninitialized pict_type
> >>
> >> Assert in function ff_qsv_encode to avoid using uninitialized value:
> >>
> >> FF_DISABLE_DEPRECATION_WARNINGS
> >>         avctx->coded_frame->pict_type = pict_type;
> >> FF_ENABLE_DEPRECATION_WARNINGS
> >>
> >> Signed-off-by: Linjie Fu <linjie.fu at intel.com>
> >> Signed-off-by: Zhong Li <zhong.li at intel.com>
> >>
> >>>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=67cdfcf694f840d
> 215be940f82545c45c9be193a
> >> ---
> >>
> >>  libavcodec/qsvenc.c | 2 ++
> >>  1 file changed, 2 insertions(+)
> >>
> >> diff --git a/libavcodec/qsvenc.c b/libavcodec/qsvenc.c
> >> index 3946c1d837..7f4592f878 100644
> >> --- a/libavcodec/qsvenc.c
> >> +++ b/libavcodec/qsvenc.c
> >> @@ -1337,6 +1337,8 @@ int ff_qsv_encode(AVCodecContext *avctx,
> QSVEncContext
> >> *q,
> >>              pict_type = AV_PICTURE_TYPE_P;
> >>          else if (bs->FrameType & MFX_FRAMETYPE_B || bs->FrameType &
> >> MFX_FRAMETYPE_xB)
> >>              pict_type = AV_PICTURE_TYPE_B;
> >> +        else
> >> +            av_assert0(!"Uninitialized pict_type!");
> >
> > You generally cannot assert on a value coming from an external library.
> 
> And using string literals in an assert may generate warnings.
> 
> Just error out returning AVERROR_INVALIDDATA.
> 
Will replace the assert with an error return and send a new patch.

Thanks,
- Linjie, Fu

> >
> > Carl Eugen
> > _______________________________________________
> > ffmpeg-devel mailing list
> > ffmpeg-devel at ffmpeg.org
> > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> >
> 
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


More information about the ffmpeg-devel mailing list