[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