mirror of
https://github.com/xenia-project/FFmpeg.git
synced 2024-11-24 12:09:55 +00:00
Move AVPacket up a bit, so that structs/functions that include AVPacket can
themselves be reasonably positioned. Patch by Thilo Borgmann thilo.borgmann googlemail com, see mailinglist thread "[FFmpeg-devel] Google Summer of Code participation". Originally committed as revision 18350 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
b02d3aef94
commit
18c915eef4
@ -843,6 +843,55 @@ typedef struct AVPanScan{
|
||||
#define FF_BUFFER_HINTS_PRESERVE 0x04 // User must not alter buffer content.
|
||||
#define FF_BUFFER_HINTS_REUSABLE 0x08 // Codec will reuse the buffer (update).
|
||||
|
||||
typedef struct AVPacket {
|
||||
/**
|
||||
* Presentation timestamp in time_base units; the time at which the
|
||||
* decompressed packet will be presented to the user.
|
||||
* Can be AV_NOPTS_VALUE if it is not stored in the file.
|
||||
* pts MUST be larger or equal to dts as presentation cannot happen before
|
||||
* decompression, unless one wants to view hex dumps. Some formats misuse
|
||||
* the terms dts and pts/cts to mean something different. Such timestamps
|
||||
* must be converted to true pts/dts before they are stored in AVPacket.
|
||||
*/
|
||||
int64_t pts;
|
||||
/**
|
||||
* Decompression timestamp in time_base units; the time at which the
|
||||
* packet is decompressed.
|
||||
* Can be AV_NOPTS_VALUE if it is not stored in the file.
|
||||
*/
|
||||
int64_t dts;
|
||||
uint8_t *data;
|
||||
int size;
|
||||
int stream_index;
|
||||
int flags;
|
||||
/**
|
||||
* Duration of this packet in time_base units, 0 if unknown.
|
||||
* Equals next_pts - this_pts in presentation order.
|
||||
*/
|
||||
int duration;
|
||||
void (*destruct)(struct AVPacket *);
|
||||
void *priv;
|
||||
int64_t pos; ///< byte position in stream, -1 if unknown
|
||||
|
||||
/**
|
||||
* 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 packet.
|
||||
*
|
||||
* 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.
|
||||
*/
|
||||
int64_t convergence_duration;
|
||||
} AVPacket;
|
||||
#define PKT_FLAG_KEY 0x0001
|
||||
|
||||
/**
|
||||
* Audio Video Frame.
|
||||
* New fields can be added to the end of FF_COMMON_FRAME with minor version
|
||||
@ -2530,55 +2579,6 @@ typedef struct AVPaletteControl {
|
||||
} AVPaletteControl attribute_deprecated;
|
||||
#endif
|
||||
|
||||
typedef struct AVPacket {
|
||||
/**
|
||||
* Presentation timestamp in time_base units; the time at which the
|
||||
* decompressed packet will be presented to the user.
|
||||
* Can be AV_NOPTS_VALUE if it is not stored in the file.
|
||||
* pts MUST be larger or equal to dts as presentation cannot happen before
|
||||
* decompression, unless one wants to view hex dumps. Some formats misuse
|
||||
* the terms dts and pts/cts to mean something different. Such timestamps
|
||||
* must be converted to true pts/dts before they are stored in AVPacket.
|
||||
*/
|
||||
int64_t pts;
|
||||
/**
|
||||
* Decompression timestamp in time_base units; the time at which the
|
||||
* packet is decompressed.
|
||||
* Can be AV_NOPTS_VALUE if it is not stored in the file.
|
||||
*/
|
||||
int64_t dts;
|
||||
uint8_t *data;
|
||||
int size;
|
||||
int stream_index;
|
||||
int flags;
|
||||
/**
|
||||
* Duration of this packet in time_base units, 0 if unknown.
|
||||
* Equals next_pts - this_pts in presentation order.
|
||||
*/
|
||||
int duration;
|
||||
void (*destruct)(struct AVPacket *);
|
||||
void *priv;
|
||||
int64_t pos; ///< byte position in stream, -1 if unknown
|
||||
|
||||
/**
|
||||
* 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 packet.
|
||||
*
|
||||
* 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.
|
||||
*/
|
||||
int64_t convergence_duration;
|
||||
} AVPacket;
|
||||
#define PKT_FLAG_KEY 0x0001
|
||||
|
||||
enum AVSubtitleType {
|
||||
SUBTITLE_NONE,
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user