X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Favcodec.h;h=ff70d254af3211f24036da9eb984648f646f033c;hb=71199ee9077da7d92a8728e2a694fb1ab31488a7;hp=aac51985f0cb2accf4be6ce1cffacb04df56cdef;hpb=7c46f24bde12d13e3214852b87f8bb2a8bbf0ac8;p=ffmpeg diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h index aac51985f0c..ff70d254af3 100644 --- a/libavcodec/avcodec.h +++ b/libavcodec/avcodec.h @@ -296,6 +296,7 @@ enum AVCodecID { AV_CODEC_ID_HAP, AV_CODEC_ID_DDS, AV_CODEC_ID_DXV, + AV_CODEC_ID_SCREENPRESSO, AV_CODEC_ID_Y41P = 0x8000, AV_CODEC_ID_AVRP, @@ -1411,28 +1412,19 @@ typedef struct AVPacket { * Duration of this packet in AVStream->time_base units, 0 if unknown. * Equals next_pts - this_pts in presentation order. */ - int duration; + int64_t duration; int64_t pos; ///< byte position in stream, -1 if unknown +#if FF_API_CONVERGENCE_DURATION /** - * Time difference in AVStream->time_base units from the pts of this - * packet to the point at which the output from the decoder has converged - * independent from the availability of previous frames. That is, the - * frames are virtually identical no matter if decoding started from - * the very first frame or from this keyframe. - * Is AV_NOPTS_VALUE if unknown. - * This field is not the display duration of the current packet. - * This field has no meaning if the packet does not have AV_PKT_FLAG_KEY - * set. - * - * The purpose of this field is to allow seeking in streams that have no - * keyframes in the conventional sense. It corresponds to the - * recovery point SEI in H.264 and match_time_delta in NUT. It is also - * essential for some types of subtitle streams to ensure that all - * subtitles are correctly displayed after seeking. + * @deprecated Same as the duration field, but as int64_t. This was required + * for Matroska subtitles, whose duration values could overflow when the + * duration field was still an int. */ + attribute_deprecated int64_t convergence_duration; +#endif } AVPacket; #define AV_PKT_FLAG_KEY 0x0001 ///< The packet contains a keyframe #define AV_PKT_FLAG_CORRUPT 0x0002 ///< The packet content is corrupted @@ -1532,11 +1524,7 @@ typedef struct AVCodecContext { * - decoding: Set by user, may be overwritten by libavcodec * if this info is available in the stream */ -#if AV_HAVE_INCOMPATIBLE_LIBAV_ABI - int bit_rate; -#else int64_t bit_rate; -#endif /** * number of bits the bitstream is allowed to diverge from the reference. @@ -2467,22 +2455,14 @@ typedef struct AVCodecContext { * - encoding: Set by user. * - decoding: Set by user, may be overwritten by libavcodec. */ -#if AV_HAVE_INCOMPATIBLE_LIBAV_ABI - int rc_max_rate; -#else int64_t rc_max_rate; -#endif /** * minimum bitrate * - encoding: Set by user. * - decoding: unused */ -#if AV_HAVE_INCOMPATIBLE_LIBAV_ABI - int rc_min_rate; -#else int64_t rc_min_rate; -#endif #if FF_API_MPV_OPT /** @@ -4337,24 +4317,13 @@ typedef struct AVCodecParserContext { */ int key_frame; +#if FF_API_CONVERGENCE_DURATION /** - * Time difference in stream time base units from the pts of this - * packet to the point at which the output from the decoder has converged - * independent from the availability of previous frames. That is, the - * frames are virtually identical no matter if decoding started from - * the very first frame or from this keyframe. - * Is AV_NOPTS_VALUE if unknown. - * This field is not the display duration of the current frame. - * This field has no meaning if the packet does not have AV_PKT_FLAG_KEY - * set. - * - * The purpose of this field is to allow seeking in streams that have no - * keyframes in the conventional sense. It corresponds to the - * recovery point SEI in H.264 and match_time_delta in NUT. It is also - * essential for some types of subtitle streams to ensure that all - * subtitles are correctly displayed after seeking. + * @deprecated unused */ + attribute_deprecated int64_t convergence_duration; +#endif // Timestamp generation support: /**