[FFmpeg-devel] [PATCH] lavc/libxavs2.c: mark key-frame packets

hwren hwrenx at 126.com
Mon Jul 27 10:58:59 EEST 2020




















在 2020-07-27 15:26:24,"Steven Liu" <lingjiujianke at gmail.com> 写道:
><hwrenx at 126.com> 于2020年7月27日周一 下午2:22写道:
>>
>> From: hwren <hwrenx at 126.com>
>>
>> Signed-off-by: hwren <hwrenx at 126.com>
>> ---
>>  libavcodec/libxavs2.c | 6 ++++++
>>  1 file changed, 6 insertions(+)
>>
>> diff --git a/libavcodec/libxavs2.c b/libavcodec/libxavs2.c
>> index 76b57e731e..8519f6925a 100644
>> --- a/libavcodec/libxavs2.c
>> +++ b/libavcodec/libxavs2.c
>> @@ -223,6 +223,12 @@ static int xavs2_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
>>          pkt->pts = cae->packet.pts;
>>          pkt->dts = cae->packet.dts;
>>
>> +        if (cae->packet.type == XAVS2_TYPE_IDR ||
>> +            cae->packet.type == XAVS2_TYPE_I ||
>Don't support OpenGOP?

There is no obvious difference between IDR/I frame in AVS2. Actually we will use TYPE_I in most cases.
So I think, when a jump occurs, ffmpeg just needs to find the closest I frame. Then the decoder will
determine the validity and discard the illegal frames. This method may trigger some error reports,
but they should be harmless.

>> +            cae->packet.type == XAVS2_TYPE_KEYFRAME) {
>> +            pkt->flags |= AV_PKT_FLAG_KEY;
>> +        }
>> +
>>          memcpy(pkt->data, cae->packet.stream, cae->packet.len);
>>          pkt->size = cae->packet.len;
>>
>> --
>> 2.23.0.windows.1
>>
>> _______________________________________________
>> ffmpeg-devel mailing list
>> ffmpeg-devel at ffmpeg.org
>> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>>
>> To unsubscribe, visit link above, or email
>> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
>_______________________________________________
>ffmpeg-devel mailing list
>ffmpeg-devel at ffmpeg.org
>https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
>To unsubscribe, visit link above, or email
>ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".




More information about the ffmpeg-devel mailing list