[FFmpeg-devel] [PATCH v2] lavc/hevc: Don't parse NAL unit for a dummy buffer
Xiang, Haihao
haihao.xiang at intel.com
Sun Apr 8 07:53:53 EEST 2018
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;
More information about the ffmpeg-devel
mailing list