[FFmpeg-devel] [PATCH v2] lavc/hevc: Don't parse NAL unit for a dummy buffer
mypopy at gmail.com
mypopy at gmail.com
Fri Sep 28 04:51:01 EEST 2018
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.
More information about the ffmpeg-devel
mailing list