| @@ -566,7 +566,6 @@ 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; | ||||
| enum AVDiscard discard; ///< Selects which packets can be discarded at will and do not need to be demuxed. | |||||
| /** | /** | ||||
| * Decoding: pts of the first frame of the stream, in stream time base. | * Decoding: pts of the first frame of the stream, in stream time base. | ||||
| @@ -587,6 +586,8 @@ typedef struct AVStream { | |||||
| int disposition; /**< AV_DISPOSITION_* bit field */ | int disposition; /**< AV_DISPOSITION_* bit field */ | ||||
| enum AVDiscard discard; ///< Selects which packets can be discarded at will and do not need to be demuxed. | |||||
| /** | /** | ||||
| * sample aspect ratio (0 if unknown) | * sample aspect ratio (0 if unknown) | ||||
| * - encoding: Set by user. | * - encoding: Set by user. | ||||
| @@ -609,11 +610,6 @@ typedef struct AVStream { | |||||
| ***************************************************************** | ***************************************************************** | ||||
| */ | */ | ||||
| /** | |||||
| * Number of frames that have been demuxed during av_find_stream_info() | |||||
| */ | |||||
| int codec_info_nb_frames; | |||||
| /** | /** | ||||
| * Stream information used internally by av_find_stream_info() | * Stream information used internally by av_find_stream_info() | ||||
| */ | */ | ||||
| @@ -626,9 +622,12 @@ typedef struct AVStream { | |||||
| int64_t codec_info_duration; | int64_t codec_info_duration; | ||||
| int nb_decoded_frames; | int nb_decoded_frames; | ||||
| } *info; | } *info; | ||||
| AVPacket cur_pkt; | |||||
| const uint8_t *cur_ptr; | const uint8_t *cur_ptr; | ||||
| int cur_len; | int cur_len; | ||||
| AVPacket cur_pkt; | |||||
| int pts_wrap_bits; /**< number of bits in pts (used for wrapping control) */ | |||||
| // Timestamp generation support: | // Timestamp generation support: | ||||
| /** | /** | ||||
| @@ -641,8 +640,8 @@ typedef struct AVStream { | |||||
| int64_t reference_dts; | int64_t reference_dts; | ||||
| int64_t first_dts; | int64_t first_dts; | ||||
| int64_t cur_dts; | int64_t cur_dts; | ||||
| int last_IP_duration; | |||||
| int64_t last_IP_pts; | int64_t last_IP_pts; | ||||
| int last_IP_duration; | |||||
| /** | /** | ||||
| * Number of packets to buffer for codec probing | * Number of packets to buffer for codec probing | ||||
| @@ -650,6 +649,15 @@ typedef struct AVStream { | |||||
| #define MAX_PROBE_PACKETS 2500 | #define MAX_PROBE_PACKETS 2500 | ||||
| int probe_packets; | int probe_packets; | ||||
| /** | |||||
| * Number of frames that have been demuxed during av_find_stream_info() | |||||
| */ | |||||
| int codec_info_nb_frames; | |||||
| /* av_read_frame() support */ | |||||
| enum AVStreamParseType need_parsing; | |||||
| struct AVCodecParserContext *parser; | |||||
| /** | /** | ||||
| * last packet in packet_buffer for this stream when muxing. | * last packet in packet_buffer for this stream when muxing. | ||||
| */ | */ | ||||
| @@ -657,16 +665,11 @@ typedef struct AVStream { | |||||
| 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]; | ||||
| /* av_read_frame() support */ | |||||
| enum AVStreamParseType need_parsing; | |||||
| struct AVCodecParserContext *parser; | |||||
| AVIndexEntry *index_entries; /**< Only used if the format does not | AVIndexEntry *index_entries; /**< Only used if the format does not | ||||
| 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; | ||||
| int pts_wrap_bits; /**< number of bits in pts (used for wrapping control) */ | |||||
| } AVStream; | } AVStream; | ||||
| #define AV_PROGRAM_RUNNING 1 | #define AV_PROGRAM_RUNNING 1 | ||||
| @@ -739,6 +742,9 @@ typedef struct AVFormatContext { | |||||
| */ | */ | ||||
| AVIOContext *pb; | AVIOContext *pb; | ||||
| /* stream info */ | |||||
| int ctx_flags; /**< Format-specific flags, see AVFMTCTX_xx */ | |||||
| /** | /** | ||||
| * A list of all streams in the file. New streams are created with | * A list of all streams in the file. New streams are created with | ||||
| * avformat_new_stream(). | * avformat_new_stream(). | ||||
| @@ -752,8 +758,6 @@ typedef struct AVFormatContext { | |||||
| AVStream **streams; | AVStream **streams; | ||||
| char filename[1024]; /**< input or output filename */ | char filename[1024]; /**< input or output filename */ | ||||
| /* stream info */ | |||||
| int ctx_flags; /**< Format-specific flags, see AVFMTCTX_xx */ | |||||
| /** | /** | ||||
| * Decoding: position of the first frame of the component, in | * Decoding: position of the first frame of the component, in | ||||
| @@ -846,12 +850,6 @@ typedef struct AVFormatContext { | |||||
| unsigned int nb_chapters; | unsigned int nb_chapters; | ||||
| AVChapter **chapters; | AVChapter **chapters; | ||||
| /** | |||||
| * Flags to enable debugging. | |||||
| */ | |||||
| int debug; | |||||
| #define FF_FDEBUG_TS 0x0001 | |||||
| AVDictionary *metadata; | AVDictionary *metadata; | ||||
| /** | /** | ||||
| @@ -887,6 +885,11 @@ typedef struct AVFormatContext { | |||||
| */ | */ | ||||
| AVIOInterruptCB interrupt_callback; | AVIOInterruptCB interrupt_callback; | ||||
| /** | |||||
| * Flags to enable debugging. | |||||
| */ | |||||
| int debug; | |||||
| #define FF_FDEBUG_TS 0x0001 | |||||
| /***************************************************************** | /***************************************************************** | ||||
| * All fields below this line are not part of the public API. They | * 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 | * may not be used outside of libavformat and can be changed and | ||||
| @@ -894,19 +897,6 @@ typedef struct AVFormatContext { | |||||
| * New public fields should be added right above. | * New public fields should be added right above. | ||||
| ***************************************************************** | ***************************************************************** | ||||
| */ | */ | ||||
| /** | |||||
| * Raw packets from the demuxer, prior to parsing and decoding. | |||||
| * This buffer is used for buffering packets until the codec can | |||||
| * be identified, as parsing cannot be done without knowing the | |||||
| * codec. | |||||
| */ | |||||
| struct AVPacketList *raw_packet_buffer; | |||||
| struct AVPacketList *raw_packet_buffer_end; | |||||
| /** | |||||
| * Remaining size available for raw_packet_buffer, in bytes. | |||||
| */ | |||||
| #define RAW_PACKET_BUFFER_SIZE 2500000 | |||||
| int raw_packet_buffer_remaining_size; | |||||
| /** | /** | ||||
| * This buffer is only needed when packets were already buffered but | * This buffer is only needed when packets were already buffered but | ||||
| @@ -921,6 +911,20 @@ typedef struct AVFormatContext { | |||||
| /* av_seek_frame() support */ | /* av_seek_frame() support */ | ||||
| int64_t data_offset; /**< offset of the first packet */ | int64_t data_offset; /**< offset of the first packet */ | ||||
| /** | |||||
| * Raw packets from the demuxer, prior to parsing and decoding. | |||||
| * This buffer is used for buffering packets until the codec can | |||||
| * be identified, as parsing cannot be done without knowing the | |||||
| * codec. | |||||
| */ | |||||
| struct AVPacketList *raw_packet_buffer; | |||||
| struct AVPacketList *raw_packet_buffer_end; | |||||
| /** | |||||
| * Remaining size available for raw_packet_buffer, in bytes. | |||||
| */ | |||||
| #define RAW_PACKET_BUFFER_SIZE 2500000 | |||||
| int raw_packet_buffer_remaining_size; | |||||
| } AVFormatContext; | } AVFormatContext; | ||||
| typedef struct AVPacketList { | typedef struct AVPacketList { | ||||