Re: [FFmpeg-devel] [PATCH] lavc/libxavs2.c: mark key-frame packets
On Mon, Jul 27, 2020 at 04:57:29PM +0800, Steven Liu wrote: > hwren 于2020年7月27日周一 下午3:59写道: > > > > > > > > > 在 2020-07-27 15:26:24,"Steven Liu" 写道: > > > 于2020年7月27日周一 下午2:22写道: > > >> > > >> From: hwren > > >> > > >> Signed-off-by: hwren > > >> --- > > >> 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. > > Looks ok then. will apply thx [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB You can kill me, but you cannot change the truth. signature.asc Description: PGP signature ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-devel] [PATCH] lavc/libxavs2.c: mark key-frame packets
hwren 于2020年7月27日周一 下午3:59写道: > > > > 在 2020-07-27 15:26:24,"Steven Liu" 写道: > > 于2020年7月27日周一 下午2:22写道: > >> > >> From: hwren > >> > >> Signed-off-by: hwren > >> --- > >> 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. Looks ok then. > > >> +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 > >> Thanks for your clarify respond Thanks Steven ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-devel] [PATCH] lavc/libxavs2.c: mark key-frame packets
在 2020-07-27 15:26:24,"Steven Liu" 写道: > 于2020年7月27日周一 下午2:22写道: >> >> From: hwren >> >> Signed-off-by: hwren >> --- >> 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@ffmpeg.org >> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel >> >> To unsubscribe, visit link above, or email >> ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe". >___ >ffmpeg-devel mailing list >ffmpeg-devel@ffmpeg.org >https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > >To unsubscribe, visit link above, or email >ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe". ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-devel] [PATCH] lavc/libxavs2.c: mark key-frame packets
于2020年7月27日周一 下午2:22写道: > > From: hwren > > Signed-off-by: hwren > --- > 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? > +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@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > To unsubscribe, visit link above, or email > ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe". ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".
[FFmpeg-devel] [PATCH] lavc/libxavs2.c: mark key-frame packets
From: hwren Signed-off-by: hwren --- 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 || +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@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".