On Fri, May 30, 2014 at 02:38:05PM +0200, Dirk Ausserhaus wrote:
> On Fri, May 30, 2014 at 7:38 AM, Anton Khirnov <[email protected]> wrote:
> >
> >
> > On Thu, 29 May 2014 13:44:34 +0200, Dirk Ausserhaus <[email protected]> 
> > wrote:
> > > diff --git a/libavcodec/ivi_common.c b/libavcodec/ivi_common.c
> > > index cf4df18..ef4df10 100644
> > > --- a/libavcodec/ivi_common.c
> > > +++ b/libavcodec/ivi_common.c
> > > @@ -968,6 +968,21 @@ int ff_ivi_decode_frame(AVCodecContext *avctx, void 
> > > *data, int *got_frame,
> > >      if (ctx->gop_invalid)
> > >          return AVERROR_INVALIDDATA;
> > >
> > > +    if (avctx->codec_id == AV_CODEC_ID_INDEO4 &&
> > > +        ctx->frame_type == IVI4_FRAMETYPE_NULL_LAST) {
> > > +        if (ctx->got_p_frame) {
> > > +            if ((result = av_frame_ref(data, ctx->p_frame)) < 0)
> > > +                return result;
> > > +            av_frame_free(&ctx->p_frame);
> > > +            ctx->p_frame = av_frame_alloc();
> >
> > The above 4 lines should be replaced with av_frame_move_ref(data, 
> > ctx->p_frame)
> >
> > The rest looks fine to me.
> 
> 
> Here're the updated patches in case you've not committed them yet.
> 
> P.S. I might look at I263 too. What are the samples with IP-frames there?

Thank you very much.
I've misremembered - I263 has PB-frames which are essentially the same things.
Files like
https://samples.libav.org/A-codecs/IMC/mensaje.avi
https://samples.libav.org/A-codecs/IMC/neal73_saber.avi or
https://samples.libav.org/A-codecs/IMC/nyc.avi
contain them. But decoder is relying on dreaded MpegEncContext and it might be
somewhat tricky to find where to hack it.
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to