[FFmpeg-devel] [PATCH v2] lavc/hevc: Don't parse NAL unit for a dummy buffer

Michael Niedermayer michael at niedermayer.cc
Sun Sep 30 03:29:47 EEST 2018


On Sat, Sep 29, 2018 at 03:11:40AM +0000, Li, Zhong wrote:
> > From: ffmpeg-devel [mailto:ffmpeg-devel-bounces at ffmpeg.org] On Behalf
> > Of mypopy at gmail.com
> > Sent: Friday, September 28, 2018 9:51 AM
> > To: FFmpeg development discussions and patches
> > <ffmpeg-devel at ffmpeg.org>
> > Cc: lq at chinaffmpeg.org; sw at jkqxz.net
> > Subject: Re: [FFmpeg-devel] [PATCH v2] lavc/hevc: Don't parse NAL unit for a
> > dummy buffer
> > 
> > On Fri, Apr 13, 2018 at 9:04 AM Xiang, Haihao <haihao.xiang at intel.com>
> > wrote:
> > >
> > >
> > > Thank Steven for reviewing the patch, could anyone help to push the
> > patch?
> > >
> > > Best Regards
> > > Haihao
> > >
> > > > > On 8 Apr 2018, at 12:53, Xiang, Haihao <haihao.xiang at intel.com>
> > wrote:
> > > > >
> > > > >
> > > > >
> > > > > Hi Steven,
> > > > >
> > > > > Are there more comments on this patch?
> > > > >
> > > > > Thanks
> > > > > Haihao
> > > > >
> > > > >
> > > > > > hevc parser mistakenly reports the following message if a dummy
> > > > > > buffer is padded for EOF
> > > > > >
> > > > > >   [hevc @ 0x559b63848610] missing picture in access unit
> > > > > >
> > > > > > v2: use the preferred code style and rebase the patch
> > > > > >
> > > > > > Signed-off-by: Haihao Xiang <haihao.xiang at intel.com>
> > > > > > ---
> > > > > > libavcodec/hevc_parser.c | 7 ++++++-
> > > > > > 1 file changed, 6 insertions(+), 1 deletion(-)
> > > > > >
> > > > > > diff --git a/libavcodec/hevc_parser.c b/libavcodec/hevc_parser.c
> > > > > > index a468682ed3..01418b276d 100644
> > > > > > --- a/libavcodec/hevc_parser.c
> > > > > > +++ b/libavcodec/hevc_parser.c
> > > > > > @@ -294,6 +294,8 @@ static int hevc_parse(AVCodecParserContext
> > > > > > *s, AVCodecContext *avctx,
> > > > > >     int next;
> > > > > >     HEVCParserContext *ctx = s->priv_data;
> > > > > >     ParseContext *pc = &ctx->pc;
> > > > > > +    int is_dummy_buf = !buf_size;
> > > > > > +    const uint8_t *dummy_buf = buf;
> > > > > >
> > > > > >     if (avctx->extradata && !ctx->parsed_extradata) {
> > > > > >         ff_hevc_decode_extradata(avctx->extradata,
> > > > > > avctx->extradata_size, &ctx->ps, &ctx->sei, @@ -313,7 +315,10 @@
> > > > > > static int hevc_parse(AVCodecParserContext *s, AVCodecContext
> > > > > > *avctx,
> > > > > >         }
> > > > > >     }
> > > > > >
> > > > > > -    parse_nal_units(s, buf, buf_size, avctx);
> > > > > > +    is_dummy_buf = (is_dummy_buf && (dummy_buf == buf));
> > > > > > +
> > > > > > +    if (!is_dummy_buf)
> > > > > > +        parse_nal_units(s, buf, buf_size, avctx);
> > > > > >
> > > > > >     *poutbuf      = buf;
> > > > > >     *poutbuf_size = buf_size;
> > > >
> > > > LGTM
> > > >
> > > > Thanks
> > > > Steven
> > > >
> > > >
> > 
> > 
> > I've encountered this annoying error message, can we push the patch?
> > Thanks.
> > 
> > BTW: The dummy_buf is not part of the original HEVC clip, it's come from
> > av_parser_parse2() if buf_size == 0.
> > 
> > Thanks.
> 
> Patch LGTM.

will apply

thx

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

If you fake or manipulate statistics in a paper in physics you will never
get a job again.
If you fake or manipulate statistics in a paper in medicin you will get
a job for life at the pharma industry.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20180930/27fbb013/attachment.sig>


More information about the ffmpeg-devel mailing list