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

Steven Liu lq at chinaffmpeg.org
Sun Apr 8 09:41:07 EEST 2018



> 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







More information about the ffmpeg-devel mailing list