[FFmpeg-devel] [PATCH 6/8] avcodec/decode: Do not overwrite AVFrame.pkt_pos if its already set

Michael Niedermayer michael at niedermayer.cc
Wed Aug 14 20:39:02 EEST 2019


On Mon, Aug 12, 2019 at 09:03:22PM -0300, James Almer wrote:
> 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 <michael at niedermayer.cc>
> >> wrote:
> >>
> >>> Signed-off-by: Michael Niedermayer <michael at 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.

That looks redundant (will send patch after testing)


> 
> And cant' this be handled with a new internal codec cap like the pkt_dts
> one used above?

yes, if thats preferred ?

Thanks

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

If you drop bombs on a foreign country and kill a hundred thousand
innocent people, expect your government to call the consequence
"unprovoked inhuman terrorist attacks" and use it to justify dropping
more bombs and killing more people. The technology changed, the idea is old.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20190814/82abc030/attachment.sig>


More information about the ffmpeg-devel mailing list