Go to the documentation of this file.
21 #ifndef AVFORMAT_INTERNAL_H
22 #define AVFORMAT_INTERNAL_H
30 #define MAX_URL_SIZE 4096
33 #define PROBE_BUF_MIN 2048
34 #define PROBE_BUF_MAX (1 << 20)
37 # define hex_dump_debug(class, buf, size) av_hex_dump_log(class, AV_LOG_DEBUG, buf, size)
39 # define hex_dump_debug(class, buf, size) do { if (0) av_hex_dump_log(class, AV_LOG_DEBUG, buf, size); } while(0)
98 #define RAW_PACKET_BUFFER_SIZE 2500000
113 #if FF_API_COMPUTE_PKT_FIELDS2
114 int missing_ts_warning;
197 #define dynarray_add(tab, nb_ptr, elem)\
199 __typeof__(tab) _tab = (tab);\
200 __typeof__(elem) _elem = (elem);\
201 (void)sizeof(**_tab == _elem); \
202 av_dynarray_add(_tab, nb_ptr, _elem);\
205 #define dynarray_add(tab, nb_ptr, elem)\
207 av_dynarray_add((tab), nb_ptr, (elem));\
243 #define NTP_OFFSET 2208988800ULL
244 #define NTP_OFFSET_US (NTP_OFFSET * 1000000ULL)
276 const char *dest_addr,
const char *dest_type,
343 #define SPACE_CHARS " \t\r\n"
356 int key_len,
char **dest,
int *dest_len);
379 int64_t wanted_timestamp,
int flags);
385 int *nb_index_entries,
386 unsigned int *index_entries_allocated_size,
403 int64_t start, int64_t
end,
const char *title);
422 int64_t target_ts,
int flags);
435 int64_t (*read_timestamp)(
struct AVFormatContext *,
int , int64_t *, int64_t ));
444 int64_t target_ts, int64_t pos_min,
445 int64_t pos_max, int64_t pos_limit,
446 int64_t ts_min, int64_t ts_max,
447 int flags, int64_t *ts_ret,
448 int64_t (*read_timestamp)(
struct AVFormatContext *,
int , int64_t *, int64_t ));
463 unsigned int pts_num,
unsigned int pts_den);
579 int ff_rename(
const char *url_src,
const char *url_dst,
void *logctx);
633 #define FFERROR_REDO FFERRTAG('R','E','D','O')
679 #define CONTAINS_PAL 2
733 #define FF_PACKETLIST_FLAG_REF_PACKET (1 << 0)
it s the only field you need to keep assuming you have a context There is some magic you don t need to care about around this just let it be(in the first position) for now. Options ------- Then comes the options array. This is what will define the user accessible options. For example
it s the only field you need to keep assuming you have a context There is some magic you don t need to care about around this just let it vf default minimum maximum flags name is the option name
int reorder
Set to 1 if the codec allows reordering, so pts can be different from dts.
AVCodecContext * avctx
The codec context used by avformat_find_stream_info, the parser, etc.
This struct describes the properties of an encoded stream.
static av_cold int end(AVCodecContext *avctx)
AVBSFContext * bsfc
bitstream filter to run on stream
The bitstream filter state.
int avctx_inited
1 if avctx has been initialized with the values from the codec parameters
it s the only field you need to keep assuming you have a context There is some magic you don t need to care about around this just let it vf default minimum maximum flags name is the option keep it simple and lowercase description are in without and describe what they for example set the foo of the bar offset is the offset of the field in your context
static void flush(AVCodecContext *avctx)
Rational number (pair of numerator and denominator).
AVCodecID
Identify the syntax and semantics of the bitstream.
static void interleave(uint8_t *dst, uint8_t *src, int w, int h, int dst_linesize, int src_linesize, enum FilterMode mode, int swap)
const OptionDef options[]
struct AVStreamInternal::@256 extract_extradata
AVChromaLocation
Location of chroma samples.
#define i(width, name, range_min, range_max)
it s the only field you need to keep assuming you have a context There is some magic you don t need to care about around this just let it vf default minimum maximum flags name is the option keep it simple and lowercase description are in lowercase
main external API structure.
static float compare(const AVFrame *haystack, const AVFrame *obj, int offx, int offy)
int need_context_update
Whether the internal avctx needs to be updated from codecpar (after a late change to codecpar)
enum AVCodecID orig_codec_id
This structure stores compressed data.
static float distance(float x, float y, int band)
#define flags(name, subs,...)
The exact value of the fractional number is: 'val + num / den'.
int bitstream_checked
Whether or not check_bitstream should still be run on each packet.