On 8/12/2019 5:31 PM, Michael Niedermayer wrote: > On Mon, Aug 12, 2019 at 09:21:59PM +0200, Vittorio Giovara wrote: >> On Mon, Aug 12, 2019 at 9:19 PM Michael Niedermayer <mich...@niedermayer.cc> >> wrote: >> >>> Signed-off-by: Michael Niedermayer <mich...@niedermayer.cc> >>> --- >>> libavcodec/decode.c | 2 +- >>> 1 file changed, 1 insertion(+), 1 deletion(-) >>> >>> diff --git a/libavcodec/decode.c b/libavcodec/decode.c >>> index 6c31166ec2..09a509d659 100644 >>> --- a/libavcodec/decode.c >>> +++ b/libavcodec/decode.c >>> @@ -435,7 +435,7 @@ static int decode_simple_internal(AVCodecContext >>> *avctx, AVFrame *frame) >>> if (!(avctx->codec->caps_internal & FF_CODEC_CAP_SETS_PKT_DTS)) >>> frame->pkt_dts = pkt->dts; >>> if (avctx->codec->type == AVMEDIA_TYPE_VIDEO) { >>> - if(!avctx->has_b_frames) >>> + if(!avctx->has_b_frames && frame->pkt_pos < 0) >>> frame->pkt_pos = pkt->pos; >>> //FIXME these should be under if(!avctx->has_b_frames) >>> /* get_buffer is supposed to set frame parameters */ >>> -- >>> >> >> sure but why? > > the next 2 patches need this > [FFmpeg-devel] [PATCH 7/8] avcodec/qtrle: return last frame even if unchanged > [FFmpeg-devel] [PATCH 8/8] avcodec/nuv: Avoid duplicating frames > > without it the common code overwrites the pkt_pos set by the decoder
What about rawdec.c? It's also setting frame->pkt_pos. And cant' this be handled with a new internal codec cap like the pkt_dts one used above? > > thx > > [...] > > > _______________________________________________ > 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".