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

Xiang, Haihao haihao.xiang at intel.com
Fri Mar 30 04:19:25 EEST 2018


> > On 27 Mar 2018, at 15:57, Haihao Xiang <haihao.xiang at intel.com> wrote:
> > 
> > hevc parser mistakenly reports the following message if a dummy buffer
> > is padded for EOF
> > 
> >   [hevc @ 0x559b63848610] missing picture in access unit
> > 
> > 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 a468682ed33..228784e946f 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 == 0);
> 
> What about use !buf_size

Thanks, I will update the patch to use !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;
> > -- 
> > 2.14.1
> > 
> > _______________________________________________
> > ffmpeg-devel mailing list
> > ffmpeg-devel at ffmpeg.org
> > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 
> Thanks
> Steven
> 
> 
> 
> 
> 


More information about the ffmpeg-devel mailing list