[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