Mercurial > libavcodec.hg
comparison avcodec.h @ 9038:d4c12f2d226b libavcodec
Add timestamp computation if values are exported by decoder.
Patch by Ivan Schreter, schreter gmx net
| author | cehoyos |
|---|---|
| date | Tue, 24 Feb 2009 22:19:09 +0000 |
| parents | 96731d42ca82 |
| children | 9653d4585183 |
comparison
equal
deleted
inserted
replaced
| 9037:e2f94ff2f2e3 | 9038:d4c12f2d226b |
|---|---|
| 28 | 28 |
| 29 #include <errno.h> | 29 #include <errno.h> |
| 30 #include "libavutil/avutil.h" | 30 #include "libavutil/avutil.h" |
| 31 | 31 |
| 32 #define LIBAVCODEC_VERSION_MAJOR 52 | 32 #define LIBAVCODEC_VERSION_MAJOR 52 |
| 33 #define LIBAVCODEC_VERSION_MINOR 18 | 33 #define LIBAVCODEC_VERSION_MINOR 19 |
| 34 #define LIBAVCODEC_VERSION_MICRO 0 | 34 #define LIBAVCODEC_VERSION_MICRO 0 |
| 35 | 35 |
| 36 #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ | 36 #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ |
| 37 LIBAVCODEC_VERSION_MINOR, \ | 37 LIBAVCODEC_VERSION_MINOR, \ |
| 38 LIBAVCODEC_VERSION_MICRO) | 38 LIBAVCODEC_VERSION_MICRO) |
| 3145 * recovery point SEI in H.264 and match_time_delta in NUT. It is also | 3145 * recovery point SEI in H.264 and match_time_delta in NUT. It is also |
| 3146 * essential for some types of subtitle streams to ensure that all | 3146 * essential for some types of subtitle streams to ensure that all |
| 3147 * subtitles are correctly displayed after seeking. | 3147 * subtitles are correctly displayed after seeking. |
| 3148 */ | 3148 */ |
| 3149 int64_t convergence_duration; | 3149 int64_t convergence_duration; |
| 3150 | |
| 3151 // Timestamp generation support: | |
| 3152 /** | |
| 3153 * Synchronization point for start of timestamp generation. | |
| 3154 * | |
| 3155 * Set to >0 for sync point, 0 for no sync point and <0 for undefined | |
| 3156 * (default). | |
| 3157 * | |
| 3158 * For example, this corresponds to presence of H.264 buffering period | |
| 3159 * SEI message. | |
| 3160 */ | |
| 3161 int dts_sync_point; | |
| 3162 | |
| 3163 /** | |
| 3164 * Offset of the current timestamp against last timestamp sync point in | |
| 3165 * units of AVCodecContext.time_base. | |
| 3166 * | |
| 3167 * Set to INT_MIN when dts_sync_point unused. Otherwise, it must | |
| 3168 * contain a valid timestamp offset. | |
| 3169 * | |
| 3170 * Note that the timestamp of sync point has usually a nonzero | |
| 3171 * dts_ref_dts_delta, which refers to the previous sync point. Offset of | |
| 3172 * the next frame after timestamp sync point will be usually 1. | |
| 3173 * | |
| 3174 * For example, this corresponds to H.264 cpb_removal_delay. | |
| 3175 */ | |
| 3176 int dts_ref_dts_delta; | |
| 3177 | |
| 3178 /** | |
| 3179 * Presentation delay of current frame in units of AVCodecContext.time_base. | |
| 3180 * | |
| 3181 * Set to INT_MIN when dts_sync_point unused. Otherwise, it must | |
| 3182 * contain valid non-negative timestamp delta (presentation time of a frame | |
| 3183 * must not lie in the past). | |
| 3184 * | |
| 3185 * This delay represents the difference between decoding and presentation | |
| 3186 * time of the frame. | |
| 3187 * | |
| 3188 * For example, this corresponds to H.264 dpb_output_delay. | |
| 3189 */ | |
| 3190 int pts_dts_delta; | |
| 3150 } AVCodecParserContext; | 3191 } AVCodecParserContext; |
| 3151 | 3192 |
| 3152 typedef struct AVCodecParser { | 3193 typedef struct AVCodecParser { |
| 3153 int codec_ids[5]; /* several codec IDs are permitted */ | 3194 int codec_ids[5]; /* several codec IDs are permitted */ |
| 3154 int priv_data_size; | 3195 int priv_data_size; |
