[FFmpeg-cvslog] r18376 - trunk/doc/APIchanges

Uoti Urpala uoti.urpala
Thu Apr 9 02:50:06 CEST 2009


On Wed, 2009-04-08 at 14:37 +0200, rbultje wrote:
> Author: rbultje
> Date: Wed Apr  8 14:37:29 2009
> New Revision: 18376
> 
> Log:
> Document addition of new avcodec_decode_video2/audio3/subtitle2() API and
> the deprecation of the old API calls.

> +2009-04-07 - r18351 - lavc 52.23.0 - avcodec_decode_video/audio/subtitle
> +  The old decoding functions are deprecated, all new code should use the
> +  new functions avcodec_decode_video2(), avcodec_decode_audio3() and
> +  avcodec_decode_subtitle2(). These new functions take an AVPacket *pkt
> +  argument instead of a const uint8_t *buf / int buf_size pair.

And exactly what are you supposed to place in the AVPacket? Presumably
packets from libavformat are OK, but what about other data? Exactly
which fields need to be filled? This entry doesn't really tell how you
should convert code using the old API to the new one.

All the time-related entries in struct AVPacket are meaningless because
they are expressed in stream-dependent units ("in AVStream->time_base
units"), but there is no associated stream when using these APIs. Does
this mean it's guaranteed these fields will be ignored, and they can be
freely set to meaningless values or at least 0? If not then what?
Setting them to AV_NOPTS_VALUE can't be required unless there is an
exception for packets from libavformat.




More information about the ffmpeg-cvslog mailing list