Commit 9a174562 authored by Anton Khirnov's avatar Anton Khirnov

lavf: move private fields in AVStream to the end at next bump.

parent df968050
...@@ -513,8 +513,10 @@ typedef struct AVStream { ...@@ -513,8 +513,10 @@ typedef struct AVStream {
AVRational r_frame_rate; AVRational r_frame_rate;
void *priv_data; void *priv_data;
#if FF_API_REORDER_PRIVATE
/* internal data used in av_find_stream_info() */ /* internal data used in av_find_stream_info() */
int64_t first_dts; int64_t first_dts;
#endif
/** /**
* encoding: pts generation when outputting stream * encoding: pts generation when outputting stream
...@@ -529,7 +531,9 @@ typedef struct AVStream { ...@@ -529,7 +531,9 @@ typedef struct AVStream {
* encoding: set by libavformat in av_write_header * encoding: set by libavformat in av_write_header
*/ */
AVRational time_base; AVRational time_base;
#if FF_API_REORDER_PRIVATE
int pts_wrap_bits; /**< number of bits in pts (used for wrapping control) */ int pts_wrap_bits; /**< number of bits in pts (used for wrapping control) */
#endif
#if FF_API_STREAM_COPY #if FF_API_STREAM_COPY
/* ffmpeg.c private use */ /* ffmpeg.c private use */
attribute_deprecated int stream_copy; /**< If set, just copy stream. */ attribute_deprecated int stream_copy; /**< If set, just copy stream. */
...@@ -560,6 +564,7 @@ typedef struct AVStream { ...@@ -560,6 +564,7 @@ typedef struct AVStream {
*/ */
int64_t duration; int64_t duration;
#if FF_API_REORDER_PRIVATE
/* av_read_frame() support */ /* av_read_frame() support */
enum AVStreamParseType need_parsing; enum AVStreamParseType need_parsing;
struct AVCodecParserContext *parser; struct AVCodecParserContext *parser;
...@@ -572,14 +577,17 @@ typedef struct AVStream { ...@@ -572,14 +577,17 @@ typedef struct AVStream {
support seeking natively. */ support seeking natively. */
int nb_index_entries; int nb_index_entries;
unsigned int index_entries_allocated_size; unsigned int index_entries_allocated_size;
#endif
int64_t nb_frames; ///< number of frames in this stream if known or 0 int64_t nb_frames; ///< number of frames in this stream if known or 0
int disposition; /**< AV_DISPOSITION_* bit field */ int disposition; /**< AV_DISPOSITION_* bit field */
#if FF_API_REORDER_PRIVATE
AVProbeData probe_data; AVProbeData probe_data;
#define MAX_REORDER_DELAY 16 #define MAX_REORDER_DELAY 16
int64_t pts_buffer[MAX_REORDER_DELAY+1]; int64_t pts_buffer[MAX_REORDER_DELAY+1];
#endif
/** /**
* sample aspect ratio (0 if unknown) * sample aspect ratio (0 if unknown)
...@@ -590,6 +598,7 @@ typedef struct AVStream { ...@@ -590,6 +598,7 @@ typedef struct AVStream {
AVDictionary *metadata; AVDictionary *metadata;
#if FF_API_REORDER_PRIVATE
/* Intended mostly for av_read_frame() support. Not supposed to be used by */ /* Intended mostly for av_read_frame() support. Not supposed to be used by */
/* external applications; try to use something else if at all possible. */ /* external applications; try to use something else if at all possible. */
const uint8_t *cur_ptr; const uint8_t *cur_ptr;
...@@ -618,12 +627,21 @@ typedef struct AVStream { ...@@ -618,12 +627,21 @@ typedef struct AVStream {
* used internally, NOT PART OF PUBLIC API, dont read or write from outside of libav* * used internally, NOT PART OF PUBLIC API, dont read or write from outside of libav*
*/ */
struct AVPacketList *last_in_packet_buffer; struct AVPacketList *last_in_packet_buffer;
#endif
/** /**
* Average framerate * Average framerate
*/ */
AVRational avg_frame_rate; AVRational avg_frame_rate;
/*****************************************************************
* All fields below this line are not part of the public API. They
* may not be used outside of libavformat and can be changed and
* removed at will.
* New public fields should be added right above.
*****************************************************************
*/
/** /**
* Number of frames that have been demuxed during av_find_stream_info() * Number of frames that have been demuxed during av_find_stream_info()
*/ */
...@@ -640,6 +658,49 @@ typedef struct AVStream { ...@@ -640,6 +658,49 @@ typedef struct AVStream {
double duration_error[MAX_STD_TIMEBASES]; double duration_error[MAX_STD_TIMEBASES];
int64_t codec_info_duration; int64_t codec_info_duration;
} *info; } *info;
#if !FF_API_REORDER_PRIVATE
const uint8_t *cur_ptr;
int cur_len;
AVPacket cur_pkt;
// Timestamp generation support:
/**
* Timestamp corresponding to the last dts sync point.
*
* Initialized when AVCodecParserContext.dts_sync_point >= 0 and
* a DTS is received from the underlying container. Otherwise set to
* AV_NOPTS_VALUE by default.
*/
int64_t reference_dts;
int64_t first_dts;
int64_t cur_dts;
int last_IP_duration;
int64_t last_IP_pts;
/**
* Number of packets to buffer for codec probing
*/
#define MAX_PROBE_PACKETS 2500
int probe_packets;
/**
* last packet in packet_buffer for this stream when muxing.
*/
struct AVPacketList *last_in_packet_buffer;
AVProbeData probe_data;
#define MAX_REORDER_DELAY 16
int64_t pts_buffer[MAX_REORDER_DELAY+1];
/* av_read_frame() support */
enum AVStreamParseType need_parsing;
struct AVCodecParserContext *parser;
AVIndexEntry *index_entries; /**< Only used if the format does not
support seeking natively. */
int nb_index_entries;
unsigned int index_entries_allocated_size;
int pts_wrap_bits; /**< number of bits in pts (used for wrapping control) */
#endif
} AVStream; } AVStream;
#define AV_PROGRAM_RUNNING 1 #define AV_PROGRAM_RUNNING 1
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment