FFmpegKit iOS / macOS / tvOS API 6.0
Loading...
Searching...
No Matches
Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
fftools_ffprobe.c File Reference

Go to the source code of this file.

Data Structures

struct  InputStream
 
struct  InputFile
 
struct  ReadInterval
 
struct  section
 
struct  LogBuffer
 
struct  unit_value
 
struct  Writer
 
struct  WriterContext
 
struct  DefaultContext
 
struct  CompactContext
 
struct  FlatContext
 
struct  INIContext
 
struct  JSONContext
 
struct  XMLContext
 

Macros

#define pthread_mutex_lock(a)   do{}while(0)
 
#define pthread_mutex_unlock(a)   do{}while(0)
 
#define SHOW_OPTIONAL_FIELDS_AUTO   -1
 
#define SHOW_OPTIONAL_FIELDS_NEVER   0
 
#define SHOW_OPTIONAL_FIELDS_ALWAYS   1
 
#define SECTION_MAX_NB_CHILDREN   10
 
#define SECTION_FLAG_IS_WRAPPER   1
 the section only contains other sections, but has no data at its own level
 
#define SECTION_FLAG_IS_ARRAY   2
 the section contains an array of elements of the same type
 
#define SECTION_FLAG_HAS_VARIABLE_FIELDS   4
 
#define WRITER_FLAG_DISPLAY_OPTIONAL_FIELDS   1
 
#define WRITER_FLAG_PUT_PACKETS_AND_FRAMES_IN_SAME_CHAPTER   2
 
#define SECTION_MAX_NB_LEVELS   10
 
#define OFFSET(x)   offsetof(WriterContext, x)
 
#define PRINT_STRING_OPT   1
 
#define PRINT_STRING_VALIDATE   2
 
#define writer_w8(wctx_, b_)   (wctx_)->writer_w8(wctx_, b_)
 
#define writer_put_str(wctx_, str_)   (wctx_)->writer_put_str(wctx_, str_)
 
#define writer_printf(wctx_, fmt_, ...)   (wctx_)->writer_printf(wctx_, fmt_, __VA_ARGS__)
 
#define MAX_REGISTERED_WRITERS_NB   64
 
#define DEFINE_WRITER_CLASS(name)
 
#define OFFSET(x)   offsetof(DefaultContext, x)
 
#define OFFSET(x)   offsetof(CompactContext, x)
 
#define OFFSET(x)   offsetof(CompactContext, x)
 
#define OFFSET(x)   offsetof(FlatContext, x)
 
#define OFFSET(x)   offsetof(INIContext, x)
 
#define OFFSET(x)   offsetof(JSONContext, x)
 
#define JSON_INDENT()   writer_printf(wctx, "%*c", json->indent_level * 4, ' ')
 
#define OFFSET(x)   offsetof(XMLContext, x)
 
#define CHECK_COMPLIANCE(opt, opt_name)
 
#define XML_INDENT()   writer_printf(wctx, "%*c", xml->indent_level * 4, ' ')
 
#define print_fmt(k, f, ...)
 
#define print_list_fmt(k, f, n, m, ...)
 
#define print_int(k, v)   writer_print_integer(w, k, v)
 
#define print_q(k, v, s)   writer_print_rational(w, k, v, s)
 
#define print_str(k, v)   writer_print_string(w, k, v, 0)
 
#define print_str_opt(k, v)   writer_print_string(w, k, v, PRINT_STRING_OPT)
 
#define print_str_validate(k, v)   writer_print_string(w, k, v, PRINT_STRING_VALIDATE)
 
#define print_time(k, v, tb)   writer_print_time(w, k, v, tb, 0)
 
#define print_ts(k, v)   writer_print_ts(w, k, v, 0)
 
#define print_duration_time(k, v, tb)   writer_print_time(w, k, v, tb, 1)
 
#define print_duration_ts(k, v)   writer_print_ts(w, k, v, 1)
 
#define print_val(k, v, u)
 
#define print_section_header(s)   writer_print_section_header(w, s)
 
#define print_section_footer(s)   writer_print_section_footer(w, s)
 
#define REALLOCZ_ARRAY_STREAM(ptr, cur_n, new_n)
 
#define PRINT_DISPOSITION(flagname, name)
 
#define CHECK_END   if (ret < 0) goto end
 
#define SHOW_LIB_VERSION(libname, LIBNAME)
 
#define PRINT_PIX_FMT_FLAG(flagname, name)
 
#define DEFINE_OPT_SHOW_SECTION(section, target_section_id)
 
#define SET_DO_SHOW(id, varname)
 

Typedefs

typedef struct InputStream InputStream
 
typedef struct InputFile InputFile
 
typedef struct ReadInterval ReadInterval
 
typedef struct LogBuffer LogBuffer
 
typedef struct WriterContext WriterContext
 
typedef struct Writer Writer
 
typedef struct DefaultContext DefaultContext
 
typedef struct CompactContext CompactContext
 
typedef struct FlatContext FlatContext
 
typedef struct INIContext INIContext
 
typedef struct JSONContext JSONContext
 
typedef struct XMLContext XMLContext
 

Enumerations

enum  SectionID {
  SECTION_ID_NONE = -1 , SECTION_ID_CHAPTER , SECTION_ID_CHAPTER_TAGS , SECTION_ID_CHAPTERS ,
  SECTION_ID_ERROR , SECTION_ID_FORMAT , SECTION_ID_FORMAT_TAGS , SECTION_ID_FRAME ,
  SECTION_ID_FRAMES , SECTION_ID_FRAME_TAGS , SECTION_ID_FRAME_SIDE_DATA_LIST , SECTION_ID_FRAME_SIDE_DATA ,
  SECTION_ID_FRAME_SIDE_DATA_TIMECODE_LIST , SECTION_ID_FRAME_SIDE_DATA_TIMECODE , SECTION_ID_FRAME_SIDE_DATA_COMPONENT_LIST , SECTION_ID_FRAME_SIDE_DATA_COMPONENT ,
  SECTION_ID_FRAME_SIDE_DATA_PIECE_LIST , SECTION_ID_FRAME_SIDE_DATA_PIECE , SECTION_ID_FRAME_LOG , SECTION_ID_FRAME_LOGS ,
  SECTION_ID_LIBRARY_VERSION , SECTION_ID_LIBRARY_VERSIONS , SECTION_ID_PACKET , SECTION_ID_PACKET_TAGS ,
  SECTION_ID_PACKETS , SECTION_ID_PACKETS_AND_FRAMES , SECTION_ID_PACKET_SIDE_DATA_LIST , SECTION_ID_PACKET_SIDE_DATA ,
  SECTION_ID_PIXEL_FORMAT , SECTION_ID_PIXEL_FORMAT_FLAGS , SECTION_ID_PIXEL_FORMAT_COMPONENT , SECTION_ID_PIXEL_FORMAT_COMPONENTS ,
  SECTION_ID_PIXEL_FORMATS , SECTION_ID_PROGRAM_STREAM_DISPOSITION , SECTION_ID_PROGRAM_STREAM_TAGS , SECTION_ID_PROGRAM ,
  SECTION_ID_PROGRAM_STREAMS , SECTION_ID_PROGRAM_STREAM , SECTION_ID_PROGRAM_TAGS , SECTION_ID_PROGRAM_VERSION ,
  SECTION_ID_PROGRAMS , SECTION_ID_ROOT , SECTION_ID_STREAM , SECTION_ID_STREAM_DISPOSITION ,
  SECTION_ID_STREAMS , SECTION_ID_STREAM_TAGS , SECTION_ID_STREAM_SIDE_DATA_LIST , SECTION_ID_STREAM_SIDE_DATA ,
  SECTION_ID_SUBTITLE
}
 
enum  StringValidation { WRITER_STRING_VALIDATION_FAIL , WRITER_STRING_VALIDATION_REPLACE , WRITER_STRING_VALIDATION_IGNORE , WRITER_STRING_VALIDATION_NB }
 

Functions

static void log_callback (void *ptr, int level, const char *fmt, va_list vl)
 
static void ffprobe_cleanup (int ret)
 
static char * value_string (char *buf, int buf_size, struct unit_value uv)
 
static const char * writer_get_name (void *p)
 
static void * writer_child_next (void *obj, void *prev)
 
static int writer_close (WriterContext **wctx)
 
static void bprint_bytes (AVBPrint *bp, const uint8_t *ubuf, size_t ubuf_size)
 
static void writer_w8_avio (WriterContext *wctx, int b)
 
static void writer_put_str_avio (WriterContext *wctx, const char *str)
 
static void writer_printf_avio (WriterContext *wctx, const char *fmt,...)
 
static void writer_w8_printf (WriterContext *wctx, int b)
 
static void writer_put_str_printf (WriterContext *wctx, const char *str)
 
static void writer_printf_printf (WriterContext *wctx, const char *fmt,...)
 
static int writer_open (WriterContext **wctx, const Writer *writer, const char *args, const struct section *sections, int nb_sections, const char *output)
 
static void writer_print_section_header (WriterContext *wctx, int section_id)
 
static void writer_print_section_footer (WriterContext *wctx)
 
static void writer_print_integer (WriterContext *wctx, const char *key, long long int val)
 
static int validate_string (WriterContext *wctx, char **dstp, const char *src)
 
static int writer_print_string (WriterContext *wctx, const char *key, const char *val, int flags)
 
static void writer_print_rational (WriterContext *wctx, const char *key, AVRational q, char sep)
 
static void writer_print_time (WriterContext *wctx, const char *key, int64_t ts, const AVRational *time_base, int is_duration)
 
static void writer_print_ts (WriterContext *wctx, const char *key, int64_t ts, int is_duration)
 
static void writer_print_data (WriterContext *wctx, const char *name, const uint8_t *data, int size)
 
static void writer_print_data_hash (WriterContext *wctx, const char *name, const uint8_t *data, int size)
 
static void writer_print_integers (WriterContext *wctx, const char *name, uint8_t *data, int size, const char *format, int columns, int bytes, int offset_add)
 
static int writer_register (const Writer *writer)
 
static const Writerwriter_get_by_name (const char *name)
 
 DEFINE_WRITER_CLASS (default)
 
static char * upcase_string (char *dst, size_t dst_size, const char *src)
 
static void default_print_section_header (WriterContext *wctx)
 
static void default_print_section_footer (WriterContext *wctx)
 
static void default_print_str (WriterContext *wctx, const char *key, const char *value)
 
static void default_print_int (WriterContext *wctx, const char *key, long long int value)
 
static const char * c_escape_str (AVBPrint *dst, const char *src, const char sep, void *log_ctx)
 
static const char * csv_escape_str (AVBPrint *dst, const char *src, const char sep, void *log_ctx)
 
static const char * none_escape_str (AVBPrint *dst, const char *src, const char sep, void *log_ctx)
 
 DEFINE_WRITER_CLASS (compact)
 
static av_cold int compact_init (WriterContext *wctx)
 
static void compact_print_section_header (WriterContext *wctx)
 
static void compact_print_section_footer (WriterContext *wctx)
 
static void compact_print_str (WriterContext *wctx, const char *key, const char *value)
 
static void compact_print_int (WriterContext *wctx, const char *key, long long int value)
 
 DEFINE_WRITER_CLASS (csv)
 
 DEFINE_WRITER_CLASS (flat)
 
static av_cold int flat_init (WriterContext *wctx)
 
static const char * flat_escape_key_str (AVBPrint *dst, const char *src, const char sep)
 
static const char * flat_escape_value_str (AVBPrint *dst, const char *src)
 
static void flat_print_section_header (WriterContext *wctx)
 
static void flat_print_int (WriterContext *wctx, const char *key, long long int value)
 
static void flat_print_str (WriterContext *wctx, const char *key, const char *value)
 
 DEFINE_WRITER_CLASS (ini)
 
static char * ini_escape_str (AVBPrint *dst, const char *src)
 
static void ini_print_section_header (WriterContext *wctx)
 
static void ini_print_str (WriterContext *wctx, const char *key, const char *value)
 
static void ini_print_int (WriterContext *wctx, const char *key, long long int value)
 
 DEFINE_WRITER_CLASS (json)
 
static av_cold int json_init (WriterContext *wctx)
 
static const char * json_escape_str (AVBPrint *dst, const char *src, void *log_ctx)
 
static void json_print_section_header (WriterContext *wctx)
 
static void json_print_section_footer (WriterContext *wctx)
 
static void json_print_item_str (WriterContext *wctx, const char *key, const char *value)
 
static void json_print_str (WriterContext *wctx, const char *key, const char *value)
 
static void json_print_int (WriterContext *wctx, const char *key, long long int value)
 
 DEFINE_WRITER_CLASS (xml)
 
static av_cold int xml_init (WriterContext *wctx)
 
static void xml_print_section_header (WriterContext *wctx)
 
static void xml_print_section_footer (WriterContext *wctx)
 
static void xml_print_str (WriterContext *wctx, const char *key, const char *value)
 
static void xml_print_int (WriterContext *wctx, const char *key, long long int value)
 
static void writer_register_all (void)
 
static int show_tags (WriterContext *w, AVDictionary *tags, int section_id)
 
static void print_dovi_metadata (WriterContext *w, const AVDOVIMetadata *dovi)
 
static void print_dynamic_hdr10_plus (WriterContext *w, const AVDynamicHDRPlus *metadata)
 
static void print_dynamic_hdr_vivid (WriterContext *w, const AVDynamicHDRVivid *metadata)
 
static void print_ambient_viewing_environment (WriterContext *w, const AVAmbientViewingEnvironment *env)
 
static void print_pkt_side_data (WriterContext *w, AVCodecParameters *par, const AVPacketSideData *side_data, int nb_side_data, SectionID id_data_list, SectionID id_data)
 
static void print_color_range (WriterContext *w, enum AVColorRange color_range)
 
static void print_color_space (WriterContext *w, enum AVColorSpace color_space)
 
static void print_primaries (WriterContext *w, enum AVColorPrimaries color_primaries)
 
static void print_color_trc (WriterContext *w, enum AVColorTransferCharacteristic color_trc)
 
static void print_chroma_location (WriterContext *w, enum AVChromaLocation chroma_location)
 
static void clear_log (int need_lock)
 
static int show_log (WriterContext *w, int section_ids, int section_id, int log_level)
 
static void show_packet (WriterContext *w, InputFile *ifile, AVPacket *pkt, int packet_idx)
 
static void show_subtitle (WriterContext *w, AVSubtitle *sub, AVStream *stream, AVFormatContext *fmt_ctx)
 
static void show_frame (WriterContext *w, AVFrame *frame, AVStream *stream, AVFormatContext *fmt_ctx)
 
static av_always_inline int process_frame (WriterContext *w, InputFile *ifile, AVFrame *frame, const AVPacket *pkt, int *packet_new)
 
static void log_read_interval (const ReadInterval *interval, void *log_ctx, int log_level)
 
static int read_interval_packets (WriterContext *w, InputFile *ifile, const ReadInterval *interval, int64_t *cur_ts)
 
static int read_packets (WriterContext *w, InputFile *ifile)
 
static int show_stream (WriterContext *w, AVFormatContext *fmt_ctx, int stream_idx, InputStream *ist, int in_program)
 
static int show_streams (WriterContext *w, InputFile *ifile)
 
static int show_program (WriterContext *w, InputFile *ifile, AVProgram *program)
 
static int show_programs (WriterContext *w, InputFile *ifile)
 
static int show_chapters (WriterContext *w, InputFile *ifile)
 
static int show_format (WriterContext *w, InputFile *ifile)
 
static void show_error (WriterContext *w, int err)
 
static int open_input_file (InputFile *ifile, const char *filename, const char *print_filename)
 
static void close_input_file (InputFile *ifile)
 
static int probe_file (WriterContext *wctx, const char *filename, const char *print_filename)
 
static void show_usage (void)
 
static void ffprobe_show_program_version (WriterContext *w)
 
static void ffprobe_show_library_versions (WriterContext *w)
 
static void ffprobe_show_pixel_formats (WriterContext *w)
 
static int opt_show_optional_fields (void *optctx, const char *opt, const char *arg)
 
static int opt_format (void *optctx, const char *opt, const char *arg)
 
static void mark_section_show_entries (SectionID section_id, int show_all_entries, AVDictionary *entries)
 
static int match_section (const char *section_name, int show_all_entries, AVDictionary *entries)
 
static int opt_show_entries (void *optctx, const char *opt, const char *arg)
 
static void opt_input_file (void *optctx, const char *arg)
 
static int opt_input_file_i (void *optctx, const char *opt, const char *arg)
 
static void opt_output_file (void *optctx, const char *arg)
 
static int opt_output_file_o (void *optctx, const char *opt, const char *arg)
 
static int opt_print_filename (void *optctx, const char *opt, const char *arg)
 
void show_help_default_ffprobe (const char *opt, const char *arg)
 
static int parse_read_interval (const char *interval_spec, ReadInterval *interval)
 
static int parse_read_intervals (const char *intervals_spec)
 
static int opt_read_intervals (void *optctx, const char *opt, const char *arg)
 
static int opt_pretty (void *optctx, const char *opt, const char *arg)
 
static void print_section (SectionID id, int level)
 
static int opt_sections (void *optctx, const char *opt, const char *arg)
 
static int opt_show_versions (void *optctx, const char *opt, const char *arg)
 
static int check_section_show_entries (int section_id)
 
void ffprobe_var_cleanup ()
 
int ffprobe_execute (int argc, char **argv)
 

Variables

__thread int do_bitexact = 0
 
__thread int do_count_frames = 0
 
__thread int do_count_packets = 0
 
__thread int do_read_frames = 0
 
__thread int do_read_packets = 0
 
__thread int do_show_chapters = 0
 
__thread int do_show_error = 0
 
__thread int do_show_format = 0
 
__thread int do_show_frames = 0
 
__thread int do_show_packets = 0
 
__thread int do_show_programs = 0
 
__thread int do_show_streams = 0
 
__thread int do_show_stream_disposition = 0
 
__thread int do_show_data = 0
 
__thread int do_show_program_version = 0
 
__thread int do_show_library_versions = 0
 
__thread int do_show_pixel_formats = 0
 
__thread int do_show_pixel_format_flags = 0
 
__thread int do_show_pixel_format_components = 0
 
__thread int do_show_log = 0
 
__thread int do_show_chapter_tags = 0
 
__thread int do_show_format_tags = 0
 
__thread int do_show_frame_tags = 0
 
__thread int do_show_program_tags = 0
 
__thread int do_show_stream_tags = 0
 
__thread int do_show_packet_tags = 0
 
__thread int show_value_unit = 0
 
__thread int use_value_prefix = 0
 
__thread int use_byte_value_binary_prefix = 0
 
__thread int use_value_sexagesimal_format = 0
 
__thread int show_private_data = 1
 
__thread int show_optional_fields = SHOW_OPTIONAL_FIELDS_AUTO
 
__thread char * print_format
 
__thread char * stream_specifier
 
__thread char * show_data_hash
 
__thread ReadIntervalread_intervals
 
__thread int read_intervals_nb = 0
 
__thread int find_stream_info = 1
 
static __thread struct section sections []
 
__thread OptionDefffprobe_options = NULL
 
__thread const char * input_filename
 
__thread const char * print_input_filename
 
__thread const AVInputFormat * iformat = NULL
 
__thread const char * output_filename = NULL
 
__thread struct AVHashContext * hash
 
__thread int main_ffprobe_return_code = 0
 
__thread int longjmp_value
 
struct { 
 
   double   bin_val 
 
   double   dec_val 
 
   const char *   bin_str 
 
   const char *   dec_str 
 
si_prefixes [] 
 
static const char unit_second_str [] = "s"
 
static const char unit_hertz_str [] = "Hz"
 
static const char unit_byte_str [] = "byte"
 
static const char unit_bit_per_second_str [] = "bit/s"
 
__thread int nb_streams
 
__thread uint64_t * nb_streams_packets
 
__thread uint64_t * nb_streams_frames
 
__thread intselected_streams
 
__thread LogBufferlog_buffer
 
__thread int log_buffer_size
 
static const AVOption writer_options []
 
static const AVClass writer_class
 
__thread const Writerregistered_writers [MAX_REGISTERED_WRITERS_NB+1]
 
__thread int next_registered_writer_idx = 0
 
static const AVOption default_options []
 
static const Writer default_writer
 
static const AVOption compact_options []
 
static const Writer compact_writer
 
static const AVOption csv_options []
 
static const Writer csv_writer
 
static const AVOption flat_options []
 
static const Writer flat_writer
 
static const AVOption ini_options []
 
static const Writer ini_writer
 
static const AVOption json_options []
 
static const Writer json_writer
 
static const AVOption xml_options []
 
static Writer xml_writer
 

Detailed Description

simple media prober based on the FFmpeg libraries

Definition in file fftools_ffprobe.c.

Macro Definition Documentation

◆ CHECK_COMPLIANCE

#define CHECK_COMPLIANCE (   opt,
  opt_name 
)
Value:
if (opt) { \
av_log(wctx, AV_LOG_ERROR, \
"XSD-compliant output selected but option '%s' was selected, XML output may be non-compliant.\n" \
"You need to disable such option with '-no%s'\n", opt_name, opt_name); \
return AVERROR(EINVAL); \
}

◆ CHECK_END

#define CHECK_END   if (ret < 0) goto end

◆ DEFINE_OPT_SHOW_SECTION

#define DEFINE_OPT_SHOW_SECTION (   section,
  target_section_id 
)
Value:
static int opt_show_##section(void *optctx, const char *opt, const char *arg) \
{ \
mark_section_show_entries(SECTION_ID_##target_section_id, 1, NULL); \
return 0; \
}

Definition at line 3992 of file fftools_ffprobe.c.

◆ DEFINE_WRITER_CLASS

#define DEFINE_WRITER_CLASS (   name)
Value:
static const char *name##_get_name(void *ctx) \
{ \
return #name ; \
} \
static const AVClass name##_class = { \
.class_name = #name, \
.item_name = name##_get_name, \
.option = name##_options \
}

Definition at line 1034 of file fftools_ffprobe.c.

◆ JSON_INDENT

#define JSON_INDENT ( )    writer_printf(wctx, "%*c", json->indent_level * 4, ' ')

Definition at line 1633 of file fftools_ffprobe.c.

◆ MAX_REGISTERED_WRITERS_NB

#define MAX_REGISTERED_WRITERS_NB   64

Definition at line 1005 of file fftools_ffprobe.c.

◆ OFFSET [1/8]

#define OFFSET (   x)    offsetof(WriterContext, x)

Definition at line 546 of file fftools_ffprobe.c.

◆ OFFSET [2/8]

#define OFFSET (   x)    offsetof(DefaultContext, x)

Definition at line 546 of file fftools_ffprobe.c.

◆ OFFSET [3/8]

#define OFFSET (   x)    offsetof(CompactContext, x)

Definition at line 546 of file fftools_ffprobe.c.

◆ OFFSET [4/8]

#define OFFSET (   x)    offsetof(CompactContext, x)

Definition at line 546 of file fftools_ffprobe.c.

◆ OFFSET [5/8]

#define OFFSET (   x)    offsetof(FlatContext, x)

Definition at line 546 of file fftools_ffprobe.c.

◆ OFFSET [6/8]

#define OFFSET (   x)    offsetof(INIContext, x)

Definition at line 546 of file fftools_ffprobe.c.

◆ OFFSET [7/8]

#define OFFSET (   x)    offsetof(JSONContext, x)

Definition at line 546 of file fftools_ffprobe.c.

◆ OFFSET [8/8]

#define OFFSET (   x)    offsetof(XMLContext, x)

Definition at line 546 of file fftools_ffprobe.c.

◆ PRINT_DISPOSITION

#define PRINT_DISPOSITION (   flagname,
  name 
)
Value:
do { \
print_int(name, !!(stream->disposition & AV_DISPOSITION_##flagname)); \
} while (0)

◆ print_duration_time

#define print_duration_time (   k,
  v,
  tb 
)    writer_print_time(w, k, v, tb, 1)

Definition at line 1942 of file fftools_ffprobe.c.

◆ print_duration_ts

#define print_duration_ts (   k,
 
)    writer_print_ts(w, k, v, 1)

Definition at line 1943 of file fftools_ffprobe.c.

◆ print_fmt

#define print_fmt (   k,
  f,
  ... 
)
Value:
do { \
av_bprint_clear(&pbuf); \
av_bprintf(&pbuf, f, __VA_ARGS__); \
writer_print_string(w, k, pbuf.str, 0); \
} while (0)

Definition at line 1917 of file fftools_ffprobe.c.

◆ print_int

#define print_int (   k,
 
)    writer_print_integer(w, k, v)

Definition at line 1935 of file fftools_ffprobe.c.

◆ print_list_fmt

#define print_list_fmt (   k,
  f,
  n,
  m,
  ... 
)
Value:
do { \
av_bprint_clear(&pbuf); \
for (int idx = 0; idx < n; idx++) { \
for (int idx2 = 0; idx2 < m; idx2++) { \
if (idx > 0 || idx2 > 0) \
av_bprint_chars(&pbuf, ' ', 1); \
av_bprintf(&pbuf, f, __VA_ARGS__); \
} \
} \
writer_print_string(w, k, pbuf.str, 0); \
} while (0)

Definition at line 1923 of file fftools_ffprobe.c.

◆ PRINT_PIX_FMT_FLAG

#define PRINT_PIX_FMT_FLAG (   flagname,
  name 
)
Value:
do { \
print_int(name, !!(pixdesc->flags & AV_PIX_FMT_FLAG_##flagname)); \
} while (0)

Definition at line 3597 of file fftools_ffprobe.c.

◆ print_q

#define print_q (   k,
  v,
 
)    writer_print_rational(w, k, v, s)

Definition at line 1936 of file fftools_ffprobe.c.

◆ print_section_footer

#define print_section_footer (   s)    writer_print_section_footer(w, s)

Definition at line 1952 of file fftools_ffprobe.c.

◆ print_section_header

#define print_section_header (   s)    writer_print_section_header(w, s)

Definition at line 1951 of file fftools_ffprobe.c.

◆ print_str

#define print_str (   k,
 
)    writer_print_string(w, k, v, 0)

Definition at line 1937 of file fftools_ffprobe.c.

◆ print_str_opt

#define print_str_opt (   k,
 
)    writer_print_string(w, k, v, PRINT_STRING_OPT)

Definition at line 1938 of file fftools_ffprobe.c.

◆ print_str_validate

#define print_str_validate (   k,
 
)    writer_print_string(w, k, v, PRINT_STRING_VALIDATE)

Definition at line 1939 of file fftools_ffprobe.c.

◆ PRINT_STRING_OPT

#define PRINT_STRING_OPT   1

Definition at line 856 of file fftools_ffprobe.c.

◆ PRINT_STRING_VALIDATE

#define PRINT_STRING_VALIDATE   2

Definition at line 857 of file fftools_ffprobe.c.

◆ print_time

#define print_time (   k,
  v,
  tb 
)    writer_print_time(w, k, v, tb, 0)

Definition at line 1940 of file fftools_ffprobe.c.

◆ print_ts

#define print_ts (   k,
 
)    writer_print_ts(w, k, v, 0)

Definition at line 1941 of file fftools_ffprobe.c.

◆ print_val

#define print_val (   k,
  v,
 
)
Value:
do { \
struct unit_value uv; \
uv.val.i = v; \
uv.unit = u; \
writer_print_string(w, k, value_string(val_str, sizeof(val_str), uv), 0); \
} while (0)
static char * value_string(char *buf, int buf_size, struct unit_value uv)
long long int i
union unit_value::@5 val

Definition at line 1944 of file fftools_ffprobe.c.

◆ pthread_mutex_lock

#define pthread_mutex_lock (   a)    do{}while(0)

Definition at line 102 of file fftools_ffprobe.c.

◆ pthread_mutex_unlock

#define pthread_mutex_unlock (   a)    do{}while(0)

Definition at line 106 of file fftools_ffprobe.c.

◆ REALLOCZ_ARRAY_STREAM

#define REALLOCZ_ARRAY_STREAM (   ptr,
  cur_n,
  new_n 
)
Value:
{ \
ret = av_reallocp_array(&(ptr), (new_n), sizeof(*(ptr))); \
if (ret < 0) \
goto end; \
memset( (ptr) + (cur_n), 0, ((new_n) - (cur_n)) * sizeof(*(ptr)) ); \
}

Definition at line 1954 of file fftools_ffprobe.c.

◆ SECTION_FLAG_HAS_VARIABLE_FIELDS

#define SECTION_FLAG_HAS_VARIABLE_FIELDS   4

the section may contain a variable number of fields with variable keys. For these sections the element_name field is mandatory.

Definition at line 189 of file fftools_ffprobe.c.

◆ SECTION_FLAG_IS_ARRAY

#define SECTION_FLAG_IS_ARRAY   2

the section contains an array of elements of the same type

Definition at line 187 of file fftools_ffprobe.c.

◆ SECTION_FLAG_IS_WRAPPER

#define SECTION_FLAG_IS_WRAPPER   1

the section only contains other sections, but has no data at its own level

Definition at line 186 of file fftools_ffprobe.c.

◆ SECTION_MAX_NB_CHILDREN

#define SECTION_MAX_NB_CHILDREN   10

Definition at line 180 of file fftools_ffprobe.c.

◆ SECTION_MAX_NB_LEVELS

#define SECTION_MAX_NB_LEVELS   10

Definition at line 504 of file fftools_ffprobe.c.

◆ SET_DO_SHOW

#define SET_DO_SHOW (   id,
  varname 
)
Value:
do { \
if (check_section_show_entries(SECTION_ID_##id)) \
do_show_##varname = 1; \
} while (0)
static int check_section_show_entries(int section_id)

Definition at line 4022 of file fftools_ffprobe.c.

◆ SHOW_LIB_VERSION

#define SHOW_LIB_VERSION (   libname,
  LIBNAME 
)
Value:
do { \
if (CONFIG_##LIBNAME) { \
unsigned int version = libname##_version(); \
writer_print_section_header(w, SECTION_ID_LIBRARY_VERSION); \
print_str("name", "lib" #libname); \
print_int("major", LIB##LIBNAME##_VERSION_MAJOR); \
print_int("minor", LIB##LIBNAME##_VERSION_MINOR); \
print_int("micro", LIB##LIBNAME##_VERSION_MICRO); \
print_int("version", version); \
print_str("ident", LIB##LIBNAME##_IDENT); \
writer_print_section_footer(w); \
} \
} while (0)
@ SECTION_ID_LIBRARY_VERSION

Definition at line 3569 of file fftools_ffprobe.c.

◆ SHOW_OPTIONAL_FIELDS_ALWAYS

#define SHOW_OPTIONAL_FIELDS_ALWAYS   1

Definition at line 158 of file fftools_ffprobe.c.

◆ SHOW_OPTIONAL_FIELDS_AUTO

#define SHOW_OPTIONAL_FIELDS_AUTO   -1

Definition at line 156 of file fftools_ffprobe.c.

◆ SHOW_OPTIONAL_FIELDS_NEVER

#define SHOW_OPTIONAL_FIELDS_NEVER   0

Definition at line 157 of file fftools_ffprobe.c.

◆ WRITER_FLAG_DISPLAY_OPTIONAL_FIELDS

#define WRITER_FLAG_DISPLAY_OPTIONAL_FIELDS   1

Definition at line 478 of file fftools_ffprobe.c.

◆ WRITER_FLAG_PUT_PACKETS_AND_FRAMES_IN_SAME_CHAPTER

#define WRITER_FLAG_PUT_PACKETS_AND_FRAMES_IN_SAME_CHAPTER   2

Definition at line 479 of file fftools_ffprobe.c.

◆ writer_printf

#define writer_printf (   wctx_,
  fmt_,
  ... 
)    (wctx_)->writer_printf(wctx_, fmt_, __VA_ARGS__)

Definition at line 1003 of file fftools_ffprobe.c.

◆ writer_put_str

#define writer_put_str (   wctx_,
  str_ 
)    (wctx_)->writer_put_str(wctx_, str_)

Definition at line 1002 of file fftools_ffprobe.c.

◆ writer_w8

#define writer_w8 (   wctx_,
  b_ 
)    (wctx_)->writer_w8(wctx_, b_)

Definition at line 1001 of file fftools_ffprobe.c.

◆ XML_INDENT

#define XML_INDENT ( )    writer_printf(wctx, "%*c", xml->indent_level * 4, ' ')

Definition at line 1794 of file fftools_ffprobe.c.

Typedef Documentation

◆ CompactContext

◆ DefaultContext

◆ FlatContext

typedef struct FlatContext FlatContext

◆ INIContext

typedef struct INIContext INIContext

◆ InputFile

typedef struct InputFile InputFile

◆ InputStream

typedef struct InputStream InputStream

◆ JSONContext

typedef struct JSONContext JSONContext

◆ LogBuffer

typedef struct LogBuffer LogBuffer

◆ ReadInterval

typedef struct ReadInterval ReadInterval

◆ Writer

typedef struct Writer Writer

◆ WriterContext

typedef struct WriterContext WriterContext

Definition at line 476 of file fftools_ffprobe.c.

◆ XMLContext

typedef struct XMLContext XMLContext

Enumeration Type Documentation

◆ SectionID

enum SectionID
Enumerator
SECTION_ID_NONE 
SECTION_ID_CHAPTER 
SECTION_ID_CHAPTER_TAGS 
SECTION_ID_CHAPTERS 
SECTION_ID_ERROR 
SECTION_ID_FORMAT 
SECTION_ID_FORMAT_TAGS 
SECTION_ID_FRAME 
SECTION_ID_FRAMES 
SECTION_ID_FRAME_TAGS 
SECTION_ID_FRAME_SIDE_DATA_LIST 
SECTION_ID_FRAME_SIDE_DATA 
SECTION_ID_FRAME_SIDE_DATA_TIMECODE_LIST 
SECTION_ID_FRAME_SIDE_DATA_TIMECODE 
SECTION_ID_FRAME_SIDE_DATA_COMPONENT_LIST 
SECTION_ID_FRAME_SIDE_DATA_COMPONENT 
SECTION_ID_FRAME_SIDE_DATA_PIECE_LIST 
SECTION_ID_FRAME_SIDE_DATA_PIECE 
SECTION_ID_FRAME_LOG 
SECTION_ID_FRAME_LOGS 
SECTION_ID_LIBRARY_VERSION 
SECTION_ID_LIBRARY_VERSIONS 
SECTION_ID_PACKET 
SECTION_ID_PACKET_TAGS 
SECTION_ID_PACKETS 
SECTION_ID_PACKETS_AND_FRAMES 
SECTION_ID_PACKET_SIDE_DATA_LIST 
SECTION_ID_PACKET_SIDE_DATA 
SECTION_ID_PIXEL_FORMAT 
SECTION_ID_PIXEL_FORMAT_FLAGS 
SECTION_ID_PIXEL_FORMAT_COMPONENT 
SECTION_ID_PIXEL_FORMAT_COMPONENTS 
SECTION_ID_PIXEL_FORMATS 
SECTION_ID_PROGRAM_STREAM_DISPOSITION 
SECTION_ID_PROGRAM_STREAM_TAGS 
SECTION_ID_PROGRAM 
SECTION_ID_PROGRAM_STREAMS 
SECTION_ID_PROGRAM_STREAM 
SECTION_ID_PROGRAM_TAGS 
SECTION_ID_PROGRAM_VERSION 
SECTION_ID_PROGRAMS 
SECTION_ID_ROOT 
SECTION_ID_STREAM 
SECTION_ID_STREAM_DISPOSITION 
SECTION_ID_STREAMS 
SECTION_ID_STREAM_TAGS 
SECTION_ID_STREAM_SIDE_DATA_LIST 
SECTION_ID_STREAM_SIDE_DATA 
SECTION_ID_SUBTITLE 

Definition at line 198 of file fftools_ffprobe.c.

◆ StringValidation

Enumerator
WRITER_STRING_VALIDATION_FAIL 
WRITER_STRING_VALIDATION_REPLACE 
WRITER_STRING_VALIDATION_IGNORE 
WRITER_STRING_VALIDATION_NB 

Definition at line 481 of file fftools_ffprobe.c.

Function Documentation

◆ bprint_bytes()

static void bprint_bytes ( AVBPrint *  bp,
const uint8_t *  ubuf,
size_t  ubuf_size 
)
static

Definition at line 601 of file fftools_ffprobe.c.

◆ c_escape_str()

static const char * c_escape_str ( AVBPrint *  dst,
const char *  src,
const char  sep,
void *  log_ctx 
)
static

Apply C-language-like string escaping.

Definition at line 1149 of file fftools_ffprobe.c.

◆ check_section_show_entries()

static int check_section_show_entries ( int  section_id)
inlinestatic

Definition at line 4010 of file fftools_ffprobe.c.

◆ clear_log()

static void clear_log ( int  need_lock)
static

Definition at line 2463 of file fftools_ffprobe.c.

◆ close_input_file()

static void close_input_file ( InputFile ifile)
static

Definition at line 3451 of file fftools_ffprobe.c.

◆ compact_init()

static av_cold int compact_init ( WriterContext wctx)
static

Definition at line 1225 of file fftools_ffprobe.c.

◆ compact_print_int()

static void compact_print_int ( WriterContext wctx,
const char *  key,
long long int  value 
)
static

Definition at line 1302 of file fftools_ffprobe.c.

◆ compact_print_section_footer()

static void compact_print_section_footer ( WriterContext wctx)
static

Definition at line 1279 of file fftools_ffprobe.c.

◆ compact_print_section_header()

static void compact_print_section_header ( WriterContext wctx)
static

Definition at line 1247 of file fftools_ffprobe.c.

◆ compact_print_str()

static void compact_print_str ( WriterContext wctx,
const char *  key,
const char *  value 
)
static

Definition at line 1289 of file fftools_ffprobe.c.

◆ csv_escape_str()

static const char * csv_escape_str ( AVBPrint *  dst,
const char *  src,
const char  sep,
void *  log_ctx 
)
static

Quote fields containing special characters, check RFC4180.

Definition at line 1172 of file fftools_ffprobe.c.

◆ default_print_int()

static void default_print_int ( WriterContext wctx,
const char *  key,
long long int  value 
)
static

Definition at line 1124 of file fftools_ffprobe.c.

◆ default_print_section_footer()

static void default_print_section_footer ( WriterContext wctx)
static

Definition at line 1102 of file fftools_ffprobe.c.

◆ default_print_section_header()

static void default_print_section_header ( WriterContext wctx)
static

Definition at line 1077 of file fftools_ffprobe.c.

◆ default_print_str()

static void default_print_str ( WriterContext wctx,
const char *  key,
const char *  value 
)
static

Definition at line 1115 of file fftools_ffprobe.c.

◆ DEFINE_WRITER_CLASS() [1/7]

DEFINE_WRITER_CLASS ( compact  )

◆ DEFINE_WRITER_CLASS() [2/7]

DEFINE_WRITER_CLASS ( csv  )

◆ DEFINE_WRITER_CLASS() [3/7]

DEFINE_WRITER_CLASS ( default  )

◆ DEFINE_WRITER_CLASS() [4/7]

DEFINE_WRITER_CLASS ( flat  )

◆ DEFINE_WRITER_CLASS() [5/7]

DEFINE_WRITER_CLASS ( ini  )

◆ DEFINE_WRITER_CLASS() [6/7]

DEFINE_WRITER_CLASS ( json  )

◆ DEFINE_WRITER_CLASS() [7/7]

DEFINE_WRITER_CLASS ( xml  )

◆ ffprobe_cleanup()

static void ffprobe_cleanup ( int  ret)
static

Definition at line 405 of file fftools_ffprobe.c.

◆ ffprobe_execute()

int ffprobe_execute ( int  argc,
char **  argv 
)

Forward declaration for function defined in fftools_ffprobe.c

Definition at line 4096 of file fftools_ffprobe.c.

◆ ffprobe_show_library_versions()

static void ffprobe_show_library_versions ( WriterContext w)
static

Definition at line 3584 of file fftools_ffprobe.c.

◆ ffprobe_show_pixel_formats()

static void ffprobe_show_pixel_formats ( WriterContext w)
static

Definition at line 3602 of file fftools_ffprobe.c.

◆ ffprobe_show_program_version()

static void ffprobe_show_program_version ( WriterContext w)
static

Definition at line 3553 of file fftools_ffprobe.c.

◆ ffprobe_var_cleanup()

void ffprobe_var_cleanup ( )

Definition at line 4027 of file fftools_ffprobe.c.

◆ flat_escape_key_str()

static const char * flat_escape_key_str ( AVBPrint *  dst,
const char *  src,
const char  sep 
)
static

Definition at line 1391 of file fftools_ffprobe.c.

◆ flat_escape_value_str()

static const char * flat_escape_value_str ( AVBPrint *  dst,
const char *  src 
)
static

Definition at line 1406 of file fftools_ffprobe.c.

◆ flat_init()

static av_cold int flat_init ( WriterContext wctx)
static

Definition at line 1377 of file fftools_ffprobe.c.

◆ flat_print_int()

static void flat_print_int ( WriterContext wctx,
const char *  key,
long long int  value 
)
static

Definition at line 1450 of file fftools_ffprobe.c.

◆ flat_print_section_header()

static void flat_print_section_header ( WriterContext wctx)
static

Definition at line 1424 of file fftools_ffprobe.c.

◆ flat_print_str()

static void flat_print_str ( WriterContext wctx,
const char *  key,
const char *  value 
)
static

Definition at line 1455 of file fftools_ffprobe.c.

◆ ini_escape_str()

static char * ini_escape_str ( AVBPrint *  dst,
const char *  src 
)
static

Definition at line 1497 of file fftools_ffprobe.c.

◆ ini_print_int()

static void ini_print_int ( WriterContext wctx,
const char *  key,
long long int  value 
)
static

Definition at line 1568 of file fftools_ffprobe.c.

◆ ini_print_section_header()

static void ini_print_section_header ( WriterContext wctx)
static

Definition at line 1524 of file fftools_ffprobe.c.

◆ ini_print_str()

static void ini_print_str ( WriterContext wctx,
const char *  key,
const char *  value 
)
static

Definition at line 1557 of file fftools_ffprobe.c.

◆ json_escape_str()

static const char * json_escape_str ( AVBPrint *  dst,
const char *  src,
void *  log_ctx 
)
static

Definition at line 1613 of file fftools_ffprobe.c.

◆ json_init()

static av_cold int json_init ( WriterContext wctx)
static

Definition at line 1603 of file fftools_ffprobe.c.

◆ json_print_int()

static void json_print_int ( WriterContext wctx,
const char *  key,
long long int  value 
)
static

Definition at line 1721 of file fftools_ffprobe.c.

◆ json_print_item_str()

static void json_print_item_str ( WriterContext wctx,
const char *  key,
const char *  value 
)
inlinestatic

Definition at line 1696 of file fftools_ffprobe.c.

◆ json_print_section_footer()

static void json_print_section_footer ( WriterContext wctx)
static

Definition at line 1674 of file fftools_ffprobe.c.

◆ json_print_section_header()

static void json_print_section_header ( WriterContext wctx)
static

Definition at line 1635 of file fftools_ffprobe.c.

◆ json_print_str()

static void json_print_str ( WriterContext wctx,
const char *  key,
const char *  value 
)
static

Definition at line 1708 of file fftools_ffprobe.c.

◆ log_callback()

static void log_callback ( void *  ptr,
int  level,
const char *  fmt,
va_list  vl 
)
static

Definition at line 356 of file fftools_ffprobe.c.

◆ log_read_interval()

static void log_read_interval ( const ReadInterval interval,
void *  log_ctx,
int  log_level 
)
static

Definition at line 2827 of file fftools_ffprobe.c.

◆ mark_section_show_entries()

static void mark_section_show_entries ( SectionID  section_id,
int  show_all_entries,
AVDictionary *  entries 
)
inlinestatic

Definition at line 3669 of file fftools_ffprobe.c.

◆ match_section()

static int match_section ( const char *  section_name,
int  show_all_entries,
AVDictionary *  entries 
)
static

Definition at line 3684 of file fftools_ffprobe.c.

◆ none_escape_str()

static const char * none_escape_str ( AVBPrint *  dst,
const char *  src,
const char  sep,
void *  log_ctx 
)
static

Definition at line 1190 of file fftools_ffprobe.c.

◆ open_input_file()

static int open_input_file ( InputFile ifile,
const char *  filename,
const char *  print_filename 
)
static

Definition at line 3336 of file fftools_ffprobe.c.

◆ opt_format()

static int opt_format ( void *  optctx,
const char *  opt,
const char *  arg 
)
static

Definition at line 3659 of file fftools_ffprobe.c.

◆ opt_input_file()

static void opt_input_file ( void *  optctx,
const char *  arg 
)
static

Definition at line 3753 of file fftools_ffprobe.c.

◆ opt_input_file_i()

static int opt_input_file_i ( void *  optctx,
const char *  opt,
const char *  arg 
)
static

Definition at line 3766 of file fftools_ffprobe.c.

◆ opt_output_file()

static void opt_output_file ( void *  optctx,
const char *  arg 
)
static

Definition at line 3772 of file fftools_ffprobe.c.

◆ opt_output_file_o()

static int opt_output_file_o ( void *  optctx,
const char *  opt,
const char *  arg 
)
static

Definition at line 3785 of file fftools_ffprobe.c.

◆ opt_pretty()

static int opt_pretty ( void *  optctx,
const char *  opt,
const char *  arg 
)
static

Definition at line 3947 of file fftools_ffprobe.c.

◆ opt_print_filename()

static int opt_print_filename ( void *  optctx,
const char *  opt,
const char *  arg 
)
static

Definition at line 3791 of file fftools_ffprobe.c.

◆ opt_read_intervals()

static int opt_read_intervals ( void *  optctx,
const char *  opt,
const char *  arg 
)
static

Definition at line 3942 of file fftools_ffprobe.c.

◆ opt_sections()

static int opt_sections ( void *  optctx,
const char *  opt,
const char *  arg 
)
static

Definition at line 3973 of file fftools_ffprobe.c.

◆ opt_show_entries()

static int opt_show_entries ( void *  optctx,
const char *  opt,
const char *  arg 
)
static

Definition at line 3703 of file fftools_ffprobe.c.

◆ opt_show_optional_fields()

static int opt_show_optional_fields ( void *  optctx,
const char *  opt,
const char *  arg 
)
static

Definition at line 3648 of file fftools_ffprobe.c.

◆ opt_show_versions()

static int opt_show_versions ( void *  optctx,
const char *  opt,
const char *  arg 
)
static

Definition at line 3985 of file fftools_ffprobe.c.

◆ parse_read_interval()

static int parse_read_interval ( const char *  interval_spec,
ReadInterval interval 
)
static

Parse interval specification, according to the format: INTERVAL ::= [START|+START_OFFSET][%[END|+END_OFFSET]] INTERVALS ::= INTERVAL[,INTERVALS]

Definition at line 3812 of file fftools_ffprobe.c.

◆ parse_read_intervals()

static int parse_read_intervals ( const char *  intervals_spec)
static

Definition at line 3894 of file fftools_ffprobe.c.

◆ print_ambient_viewing_environment()

static void print_ambient_viewing_environment ( WriterContext w,
const AVAmbientViewingEnvironment *  env 
)
static

Definition at line 2294 of file fftools_ffprobe.c.

◆ print_chroma_location()

static void print_chroma_location ( WriterContext w,
enum AVChromaLocation  chroma_location 
)
static

Definition at line 2452 of file fftools_ffprobe.c.

◆ print_color_range()

static void print_color_range ( WriterContext w,
enum AVColorRange  color_range 
)
static

Definition at line 2412 of file fftools_ffprobe.c.

◆ print_color_space()

static void print_color_space ( WriterContext w,
enum AVColorSpace  color_space 
)
static

Definition at line 2422 of file fftools_ffprobe.c.

◆ print_color_trc()

static void print_color_trc ( WriterContext w,
enum AVColorTransferCharacteristic  color_trc 
)
static

Definition at line 2442 of file fftools_ffprobe.c.

◆ print_dovi_metadata()

static void print_dovi_metadata ( WriterContext w,
const AVDOVIMetadata *  dovi 
)
static

Definition at line 1980 of file fftools_ffprobe.c.

◆ print_dynamic_hdr10_plus()

static void print_dynamic_hdr10_plus ( WriterContext w,
const AVDynamicHDRPlus *  metadata 
)
static

Definition at line 2127 of file fftools_ffprobe.c.

◆ print_dynamic_hdr_vivid()

static void print_dynamic_hdr_vivid ( WriterContext w,
const AVDynamicHDRVivid *  metadata 
)
static

Definition at line 2226 of file fftools_ffprobe.c.

◆ print_pkt_side_data()

static void print_pkt_side_data ( WriterContext w,
AVCodecParameters *  par,
const AVPacketSideData *  side_data,
int  nb_side_data,
SectionID  id_data_list,
SectionID  id_data 
)
static

Definition at line 2305 of file fftools_ffprobe.c.

◆ print_primaries()

static void print_primaries ( WriterContext w,
enum AVColorPrimaries  color_primaries 
)
static

Definition at line 2432 of file fftools_ffprobe.c.

◆ print_section()

static void print_section ( SectionID  id,
int  level 
)
static

Definition at line 3956 of file fftools_ffprobe.c.

◆ probe_file()

static int probe_file ( WriterContext wctx,
const char *  filename,
const char *  print_filename 
)
static

Definition at line 3465 of file fftools_ffprobe.c.

◆ process_frame()

static av_always_inline int process_frame ( WriterContext w,
InputFile ifile,
AVFrame *  frame,
const AVPacket *  pkt,
int packet_new 
)
static

Definition at line 2761 of file fftools_ffprobe.c.

◆ read_interval_packets()

static int read_interval_packets ( WriterContext w,
InputFile ifile,
const ReadInterval interval,
int64_t *  cur_ts 
)
static

Definition at line 2851 of file fftools_ffprobe.c.

◆ read_packets()

static int read_packets ( WriterContext w,
InputFile ifile 
)
static

Definition at line 2963 of file fftools_ffprobe.c.

◆ show_chapters()

static int show_chapters ( WriterContext w,
InputFile ifile 
)
static

Definition at line 3272 of file fftools_ffprobe.c.

◆ show_error()

static void show_error ( WriterContext w,
int  err 
)
static

Definition at line 3328 of file fftools_ffprobe.c.

◆ show_format()

static int show_format ( WriterContext w,
InputFile ifile 
)
static

Definition at line 3297 of file fftools_ffprobe.c.

◆ show_frame()

static void show_frame ( WriterContext w,
AVFrame *  frame,
AVStream *  stream,
AVFormatContext *  fmt_ctx 
)
static

Definition at line 2591 of file fftools_ffprobe.c.

◆ show_help_default_ffprobe()

void show_help_default_ffprobe ( const char *  opt,
const char *  arg 
)

Definition at line 3797 of file fftools_ffprobe.c.

◆ show_log()

static int show_log ( WriterContext w,
int  section_ids,
int  section_id,
int  log_level 
)
static

Definition at line 2479 of file fftools_ffprobe.c.

◆ show_packet()

static void show_packet ( WriterContext w,
InputFile ifile,
AVPacket *  pkt,
int  packet_idx 
)
static

Definition at line 2514 of file fftools_ffprobe.c.

◆ show_program()

static int show_program ( WriterContext w,
InputFile ifile,
AVProgram *  program 
)
static

Definition at line 3223 of file fftools_ffprobe.c.

◆ show_programs()

static int show_programs ( WriterContext w,
InputFile ifile 
)
static

Definition at line 3254 of file fftools_ffprobe.c.

◆ show_stream()

static int show_stream ( WriterContext w,
AVFormatContext *  fmt_ctx,
int  stream_idx,
InputStream ist,
int  in_program 
)
static

Definition at line 2983 of file fftools_ffprobe.c.

◆ show_streams()

static int show_streams ( WriterContext w,
InputFile ifile 
)
static

Definition at line 3206 of file fftools_ffprobe.c.

◆ show_subtitle()

static void show_subtitle ( WriterContext w,
AVSubtitle *  sub,
AVStream *  stream,
AVFormatContext *  fmt_ctx 
)
static

Definition at line 2568 of file fftools_ffprobe.c.

◆ show_tags()

static int show_tags ( WriterContext w,
AVDictionary *  tags,
int  section_id 
)
inlinestatic

Definition at line 1962 of file fftools_ffprobe.c.

◆ show_usage()

static void show_usage ( void  )
static

Definition at line 3546 of file fftools_ffprobe.c.

◆ upcase_string()

static char * upcase_string ( char *  dst,
size_t  dst_size,
const char *  src 
)
inlinestatic

Definition at line 1068 of file fftools_ffprobe.c.

◆ validate_string()

static int validate_string ( WriterContext wctx,
char **  dstp,
const char *  src 
)
inlinestatic

Definition at line 801 of file fftools_ffprobe.c.

◆ value_string()

static char * value_string ( char *  buf,
int  buf_size,
struct unit_value  uv 
)
static

Definition at line 421 of file fftools_ffprobe.c.

◆ writer_child_next()

static void * writer_child_next ( void *  obj,
void *  prev 
)
static

Definition at line 561 of file fftools_ffprobe.c.

◆ writer_close()

static int writer_close ( WriterContext **  wctx)
static

Definition at line 577 of file fftools_ffprobe.c.

◆ writer_get_by_name()

static const Writer * writer_get_by_name ( const char *  name)
static

Definition at line 1020 of file fftools_ffprobe.c.

◆ writer_get_name()

static const char * writer_get_name ( void *  p)
static

Definition at line 540 of file fftools_ffprobe.c.

◆ writer_open()

static int writer_open ( WriterContext **  wctx,
const Writer writer,
const char *  args,
const struct section sections,
int  nb_sections,
const char *  output 
)
static

Definition at line 647 of file fftools_ffprobe.c.

◆ writer_print_data()

static void writer_print_data ( WriterContext wctx,
const char *  name,
const uint8_t *  data,
int  size 
)
static

Definition at line 932 of file fftools_ffprobe.c.

◆ writer_print_data_hash()

static void writer_print_data_hash ( WriterContext wctx,
const char *  name,
const uint8_t *  data,
int  size 
)
static

Definition at line 960 of file fftools_ffprobe.c.

◆ writer_print_integer()

static void writer_print_integer ( WriterContext wctx,
const char *  key,
long long int  val 
)
inlinestatic

Definition at line 790 of file fftools_ffprobe.c.

◆ writer_print_integers()

static void writer_print_integers ( WriterContext wctx,
const char *  name,
uint8_t *  data,
int  size,
const char *  format,
int  columns,
int  bytes,
int  offset_add 
)
static

Definition at line 975 of file fftools_ffprobe.c.

◆ writer_print_rational()

static void writer_print_rational ( WriterContext wctx,
const char *  key,
AVRational  q,
char  sep 
)
inlinestatic

Definition at line 897 of file fftools_ffprobe.c.

◆ writer_print_section_footer()

static void writer_print_section_footer ( WriterContext wctx)
inlinestatic

Definition at line 773 of file fftools_ffprobe.c.

◆ writer_print_section_header()

static void writer_print_section_header ( WriterContext wctx,
int  section_id 
)
inlinestatic

Definition at line 749 of file fftools_ffprobe.c.

◆ writer_print_string()

static int writer_print_string ( WriterContext wctx,
const char *  key,
const char *  val,
int  flags 
)
inlinestatic

Definition at line 859 of file fftools_ffprobe.c.

◆ writer_print_time()

static void writer_print_time ( WriterContext wctx,
const char *  key,
int64_t  ts,
const AVRational *  time_base,
int  is_duration 
)
static

Definition at line 906 of file fftools_ffprobe.c.

◆ writer_print_ts()

static void writer_print_ts ( WriterContext wctx,
const char *  key,
int64_t  ts,
int  is_duration 
)
static

Definition at line 923 of file fftools_ffprobe.c.

◆ writer_printf_avio()

static void writer_printf_avio ( WriterContext wctx,
const char *  fmt,
  ... 
)
inlinestatic

Definition at line 619 of file fftools_ffprobe.c.

◆ writer_printf_printf()

static void writer_printf_printf ( WriterContext wctx,
const char *  fmt,
  ... 
)
inlinestatic

Definition at line 638 of file fftools_ffprobe.c.

◆ writer_put_str_avio()

static void writer_put_str_avio ( WriterContext wctx,
const char *  str 
)
inlinestatic

Definition at line 614 of file fftools_ffprobe.c.

◆ writer_put_str_printf()

static void writer_put_str_printf ( WriterContext wctx,
const char *  str 
)
inlinestatic

Definition at line 633 of file fftools_ffprobe.c.

◆ writer_register()

static int writer_register ( const Writer writer)
static

Definition at line 1011 of file fftools_ffprobe.c.

◆ writer_register_all()

static void writer_register_all ( void  )
static

Definition at line 1905 of file fftools_ffprobe.c.

◆ writer_w8_avio()

static void writer_w8_avio ( WriterContext wctx,
int  b 
)
inlinestatic

Definition at line 609 of file fftools_ffprobe.c.

◆ writer_w8_printf()

static void writer_w8_printf ( WriterContext wctx,
int  b 
)
inlinestatic

Definition at line 628 of file fftools_ffprobe.c.

◆ xml_init()

static av_cold int xml_init ( WriterContext wctx)
static

Definition at line 1773 of file fftools_ffprobe.c.

◆ xml_print_int()

static void xml_print_int ( WriterContext wctx,
const char *  key,
long long int  value 
)
static

Definition at line 1886 of file fftools_ffprobe.c.

◆ xml_print_section_footer()

static void xml_print_section_footer ( WriterContext wctx)
static

Definition at line 1836 of file fftools_ffprobe.c.

◆ xml_print_section_header()

static void xml_print_section_header ( WriterContext wctx)
static

Definition at line 1796 of file fftools_ffprobe.c.

◆ xml_print_str()

static void xml_print_str ( WriterContext wctx,
const char *  key,
const char *  value 
)
static

Definition at line 1855 of file fftools_ffprobe.c.

Variable Documentation

◆ bin_str

const char* bin_str

Definition at line 320 of file fftools_ffprobe.c.

◆ bin_val

double bin_val

Definition at line 318 of file fftools_ffprobe.c.

◆ compact_options

const AVOption compact_options[]
static
Initial value:
= {
{"item_sep", "set item separator", OFFSET(item_sep_str), AV_OPT_TYPE_STRING, {.str="|"}, 0, 0 },
{"s", "set item separator", OFFSET(item_sep_str), AV_OPT_TYPE_STRING, {.str="|"}, 0, 0 },
{"nokey", "force no key printing", OFFSET(nokey), AV_OPT_TYPE_BOOL, {.i64=0}, 0, 1 },
{"nk", "force no key printing", OFFSET(nokey), AV_OPT_TYPE_BOOL, {.i64=0}, 0, 1 },
{"escape", "set escape mode", OFFSET(escape_mode_str), AV_OPT_TYPE_STRING, {.str="c"}, 0, 0 },
{"e", "set escape mode", OFFSET(escape_mode_str), AV_OPT_TYPE_STRING, {.str="c"}, 0, 0 },
{"print_section", "print section name", OFFSET(print_section), AV_OPT_TYPE_BOOL, {.i64=1}, 0, 1 },
{"p", "print section name", OFFSET(print_section), AV_OPT_TYPE_BOOL, {.i64=1}, 0, 1 },
{NULL},
}
static void print_section(SectionID id, int level)
#define OFFSET(x)

Definition at line 1211 of file fftools_ffprobe.c.

◆ compact_writer

const Writer compact_writer
static
Initial value:
= {
.name = "compact",
.priv_size = sizeof(CompactContext),
.init = compact_init,
.print_integer = compact_print_int,
.print_string = compact_print_str,
.priv_class = &compact_class,
}
#define WRITER_FLAG_DISPLAY_OPTIONAL_FIELDS
static void compact_print_section_footer(WriterContext *wctx)
#define print_section_header(s)
static void compact_print_section_header(WriterContext *wctx)
static void compact_print_int(WriterContext *wctx, const char *key, long long int value)
static av_cold int compact_init(WriterContext *wctx)
#define print_section_footer(s)
static void compact_print_str(WriterContext *wctx, const char *key, const char *value)

Definition at line 1312 of file fftools_ffprobe.c.

◆ csv_options

const AVOption csv_options[]
static
Initial value:
= {
{"item_sep", "set item separator", OFFSET(item_sep_str), AV_OPT_TYPE_STRING, {.str=","}, 0, 0 },
{"s", "set item separator", OFFSET(item_sep_str), AV_OPT_TYPE_STRING, {.str=","}, 0, 0 },
{"nokey", "force no key printing", OFFSET(nokey), AV_OPT_TYPE_BOOL, {.i64=1}, 0, 1 },
{"nk", "force no key printing", OFFSET(nokey), AV_OPT_TYPE_BOOL, {.i64=1}, 0, 1 },
{"escape", "set escape mode", OFFSET(escape_mode_str), AV_OPT_TYPE_STRING, {.str="csv"}, 0, 0 },
{"e", "set escape mode", OFFSET(escape_mode_str), AV_OPT_TYPE_STRING, {.str="csv"}, 0, 0 },
{"print_section", "print section name", OFFSET(print_section), AV_OPT_TYPE_BOOL, {.i64=1}, 0, 1 },
{"p", "print section name", OFFSET(print_section), AV_OPT_TYPE_BOOL, {.i64=1}, 0, 1 },
{NULL},
}

Definition at line 1329 of file fftools_ffprobe.c.

◆ csv_writer

const Writer csv_writer
static
Initial value:
= {
.name = "csv",
.priv_size = sizeof(CompactContext),
.init = compact_init,
.print_integer = compact_print_int,
.print_string = compact_print_str,
.priv_class = &csv_class,
}

Definition at line 1343 of file fftools_ffprobe.c.

◆ dec_str

const char* dec_str

Definition at line 321 of file fftools_ffprobe.c.

◆ dec_val

double dec_val

Definition at line 319 of file fftools_ffprobe.c.

◆ default_options

const AVOption default_options[]
static
Initial value:
= {
{ "noprint_wrappers", "do not print headers and footers", OFFSET(noprint_wrappers), AV_OPT_TYPE_BOOL, {.i64=0}, 0, 1 },
{ "nw", "do not print headers and footers", OFFSET(noprint_wrappers), AV_OPT_TYPE_BOOL, {.i64=0}, 0, 1 },
{ "nokey", "force no key printing", OFFSET(nokey), AV_OPT_TYPE_BOOL, {.i64=0}, 0, 1 },
{ "nk", "force no key printing", OFFSET(nokey), AV_OPT_TYPE_BOOL, {.i64=0}, 0, 1 },
{NULL},
}

Definition at line 1057 of file fftools_ffprobe.c.

◆ default_writer

const Writer default_writer
static
Initial value:
= {
.name = "default",
.priv_size = sizeof(DefaultContext),
.print_integer = default_print_int,
.print_string = default_print_str,
.priv_class = &default_class,
}
static void default_print_section_header(WriterContext *wctx)
static void default_print_int(WriterContext *wctx, const char *key, long long int value)
static void default_print_section_footer(WriterContext *wctx)
static void default_print_str(WriterContext *wctx, const char *key, const char *value)

Definition at line 1133 of file fftools_ffprobe.c.

◆ do_bitexact

__thread int do_bitexact = 0

Definition at line 122 of file fftools_ffprobe.c.

◆ do_count_frames

__thread int do_count_frames = 0

Definition at line 123 of file fftools_ffprobe.c.

◆ do_count_packets

__thread int do_count_packets = 0

Definition at line 124 of file fftools_ffprobe.c.

◆ do_read_frames

__thread int do_read_frames = 0

Definition at line 125 of file fftools_ffprobe.c.

◆ do_read_packets

__thread int do_read_packets = 0

Definition at line 126 of file fftools_ffprobe.c.

◆ do_show_chapter_tags

__thread int do_show_chapter_tags = 0

Definition at line 143 of file fftools_ffprobe.c.

◆ do_show_chapters

__thread int do_show_chapters = 0

Definition at line 127 of file fftools_ffprobe.c.

◆ do_show_data

__thread int do_show_data = 0

Definition at line 135 of file fftools_ffprobe.c.

◆ do_show_error

__thread int do_show_error = 0

Definition at line 128 of file fftools_ffprobe.c.

◆ do_show_format

__thread int do_show_format = 0

Definition at line 129 of file fftools_ffprobe.c.

◆ do_show_format_tags

__thread int do_show_format_tags = 0

Definition at line 144 of file fftools_ffprobe.c.

◆ do_show_frame_tags

__thread int do_show_frame_tags = 0

Definition at line 145 of file fftools_ffprobe.c.

◆ do_show_frames

__thread int do_show_frames = 0

Definition at line 130 of file fftools_ffprobe.c.

◆ do_show_library_versions

__thread int do_show_library_versions = 0

Definition at line 137 of file fftools_ffprobe.c.

◆ do_show_log

__thread int do_show_log = 0

Definition at line 141 of file fftools_ffprobe.c.

◆ do_show_packet_tags

__thread int do_show_packet_tags = 0

Definition at line 148 of file fftools_ffprobe.c.

◆ do_show_packets

__thread int do_show_packets = 0

Definition at line 131 of file fftools_ffprobe.c.

◆ do_show_pixel_format_components

__thread int do_show_pixel_format_components = 0

Definition at line 140 of file fftools_ffprobe.c.

◆ do_show_pixel_format_flags

__thread int do_show_pixel_format_flags = 0

Definition at line 139 of file fftools_ffprobe.c.

◆ do_show_pixel_formats

__thread int do_show_pixel_formats = 0

Definition at line 138 of file fftools_ffprobe.c.

◆ do_show_program_tags

__thread int do_show_program_tags = 0

Definition at line 146 of file fftools_ffprobe.c.

◆ do_show_program_version

__thread int do_show_program_version = 0

Definition at line 136 of file fftools_ffprobe.c.

◆ do_show_programs

__thread int do_show_programs = 0

Definition at line 132 of file fftools_ffprobe.c.

◆ do_show_stream_disposition

__thread int do_show_stream_disposition = 0

Definition at line 134 of file fftools_ffprobe.c.

◆ do_show_stream_tags

__thread int do_show_stream_tags = 0

Definition at line 147 of file fftools_ffprobe.c.

◆ do_show_streams

__thread int do_show_streams = 0

Definition at line 133 of file fftools_ffprobe.c.

◆ ffprobe_options

__thread OptionDef* ffprobe_options = NULL

Definition at line 304 of file fftools_ffprobe.c.

◆ find_stream_info

__thread int find_stream_info = 1

Definition at line 176 of file fftools_ffprobe.c.

◆ flat_options

const AVOption flat_options[]
static
Initial value:
= {
{"sep_char", "set separator", OFFSET(sep_str), AV_OPT_TYPE_STRING, {.str="."}, 0, 0 },
{"s", "set separator", OFFSET(sep_str), AV_OPT_TYPE_STRING, {.str="."}, 0, 0 },
{"hierarchical", "specify if the section specification should be hierarchical", OFFSET(hierarchical), AV_OPT_TYPE_BOOL, {.i64=1}, 0, 1 },
{"h", "specify if the section specification should be hierarchical", OFFSET(hierarchical), AV_OPT_TYPE_BOOL, {.i64=1}, 0, 1 },
{NULL},
}

Definition at line 1367 of file fftools_ffprobe.c.

◆ flat_writer

const Writer flat_writer
static
Initial value:
= {
.name = "flat",
.priv_size = sizeof(FlatContext),
.init = flat_init,
.print_integer = flat_print_int,
.print_string = flat_print_str,
.priv_class = &flat_class,
}
#define WRITER_FLAG_PUT_PACKETS_AND_FRAMES_IN_SAME_CHAPTER
static void flat_print_int(WriterContext *wctx, const char *key, long long int value)
static void flat_print_section_header(WriterContext *wctx)
static av_cold int flat_init(WriterContext *wctx)
static void flat_print_str(WriterContext *wctx, const char *key, const char *value)

Definition at line 1468 of file fftools_ffprobe.c.

◆ hash

__thread struct AVHashContext* hash

Definition at line 312 of file fftools_ffprobe.c.

◆ iformat

__thread const AVInputFormat* iformat = NULL

Definition at line 309 of file fftools_ffprobe.c.

◆ ini_options

const AVOption ini_options[]
static
Initial value:
= {
{"hierarchical", "specify if the section specification should be hierarchical", OFFSET(hierarchical), AV_OPT_TYPE_BOOL, {.i64=1}, 0, 1 },
{"h", "specify if the section specification should be hierarchical", OFFSET(hierarchical), AV_OPT_TYPE_BOOL, {.i64=1}, 0, 1 },
{NULL},
}

Definition at line 1489 of file fftools_ffprobe.c.

◆ ini_writer

const Writer ini_writer
static
Initial value:
= {
.name = "ini",
.priv_size = sizeof(INIContext),
.print_integer = ini_print_int,
.print_string = ini_print_str,
.priv_class = &ini_class,
}
static void ini_print_str(WriterContext *wctx, const char *key, const char *value)
static void ini_print_int(WriterContext *wctx, const char *key, long long int value)
static void ini_print_section_header(WriterContext *wctx)

Definition at line 1573 of file fftools_ffprobe.c.

◆ input_filename

__thread const char* input_filename

Definition at line 307 of file fftools_ffprobe.c.

◆ json_options

const AVOption json_options[]
static
Initial value:
= {
{ "compact", "enable compact output", OFFSET(compact), AV_OPT_TYPE_BOOL, {.i64=0}, 0, 1 },
{ "c", "enable compact output", OFFSET(compact), AV_OPT_TYPE_BOOL, {.i64=0}, 0, 1 },
{ NULL }
}

Definition at line 1595 of file fftools_ffprobe.c.

◆ json_writer

const Writer json_writer
static
Initial value:
= {
.name = "json",
.priv_size = sizeof(JSONContext),
.init = json_init,
.print_integer = json_print_int,
.print_string = json_print_str,
.priv_class = &json_class,
}
static av_cold int json_init(WriterContext *wctx)
static void json_print_section_footer(WriterContext *wctx)
static void json_print_int(WriterContext *wctx, const char *key, long long int value)
static void json_print_str(WriterContext *wctx, const char *key, const char *value)
static void json_print_section_header(WriterContext *wctx)

Definition at line 1738 of file fftools_ffprobe.c.

◆ log_buffer

__thread LogBuffer* log_buffer

Definition at line 353 of file fftools_ffprobe.c.

◆ log_buffer_size

__thread int log_buffer_size

Definition at line 354 of file fftools_ffprobe.c.

◆ longjmp_value

__thread int longjmp_value
extern

Definition at line 113 of file fftools_cmdutils.c.

◆ main_ffprobe_return_code

__thread int main_ffprobe_return_code = 0

Definition at line 314 of file fftools_ffprobe.c.

◆ nb_streams

__thread int nb_streams

Definition at line 336 of file fftools_ffprobe.c.

◆ nb_streams_frames

__thread uint64_t* nb_streams_frames

Definition at line 338 of file fftools_ffprobe.c.

◆ nb_streams_packets

__thread uint64_t* nb_streams_packets

Definition at line 337 of file fftools_ffprobe.c.

◆ next_registered_writer_idx

__thread int next_registered_writer_idx = 0

Definition at line 1009 of file fftools_ffprobe.c.

◆ output_filename

__thread const char* output_filename = NULL

Definition at line 310 of file fftools_ffprobe.c.

◆ print_format

__thread char* print_format

Definition at line 161 of file fftools_ffprobe.c.

◆ print_input_filename

__thread const char* print_input_filename

Definition at line 308 of file fftools_ffprobe.c.

◆ read_intervals

__thread ReadInterval* read_intervals

Definition at line 173 of file fftools_ffprobe.c.

◆ read_intervals_nb

__thread int read_intervals_nb = 0

Definition at line 174 of file fftools_ffprobe.c.

◆ registered_writers

__thread const Writer* registered_writers[MAX_REGISTERED_WRITERS_NB+1]

Definition at line 1007 of file fftools_ffprobe.c.

◆ sections

__thread struct section sections[]
static

Definition at line 250 of file fftools_ffprobe.c.

◆ selected_streams

__thread int* selected_streams

Definition at line 339 of file fftools_ffprobe.c.

◆ show_data_hash

__thread char* show_data_hash

Definition at line 163 of file fftools_ffprobe.c.

◆ show_optional_fields

__thread int show_optional_fields = SHOW_OPTIONAL_FIELDS_AUTO

Definition at line 159 of file fftools_ffprobe.c.

◆ show_private_data

__thread int show_private_data = 1

Definition at line 154 of file fftools_ffprobe.c.

◆ show_value_unit

__thread int show_value_unit = 0

Definition at line 150 of file fftools_ffprobe.c.

◆ [struct]

const struct { ... } si_prefixes[]
Initial value:
= {
{ 1.0, 1.0, "", "" },
{ 1.024e3, 1e3, "Ki", "K" },
{ 1.048576e6, 1e6, "Mi", "M" },
{ 1.073741824e9, 1e9, "Gi", "G" },
{ 1.099511627776e12, 1e12, "Ti", "T" },
{ 1.125899906842624e15, 1e15, "Pi", "P" },
}

◆ stream_specifier

__thread char* stream_specifier

Definition at line 162 of file fftools_ffprobe.c.

◆ unit_bit_per_second_str

const char unit_bit_per_second_str[] = "bit/s"
static

Definition at line 334 of file fftools_ffprobe.c.

◆ unit_byte_str

const char unit_byte_str[] = "byte"
static

Definition at line 333 of file fftools_ffprobe.c.

◆ unit_hertz_str

const char unit_hertz_str[] = "Hz"
static

Definition at line 332 of file fftools_ffprobe.c.

◆ unit_second_str

const char unit_second_str[] = "s"
static

Definition at line 331 of file fftools_ffprobe.c.

◆ use_byte_value_binary_prefix

__thread int use_byte_value_binary_prefix = 0

Definition at line 152 of file fftools_ffprobe.c.

◆ use_value_prefix

__thread int use_value_prefix = 0

Definition at line 151 of file fftools_ffprobe.c.

◆ use_value_sexagesimal_format

__thread int use_value_sexagesimal_format = 0

Definition at line 153 of file fftools_ffprobe.c.

◆ writer_class

const AVClass writer_class
static
Initial value:
= {
.class_name = "Writer",
.item_name = writer_get_name,
.option = writer_options,
.version = LIBAVUTIL_VERSION_INT,
.child_next = writer_child_next,
}
static const char * writer_get_name(void *p)
static const AVOption writer_options[]
static void * writer_child_next(void *obj, void *prev)

Definition at line 569 of file fftools_ffprobe.c.

◆ writer_options

const AVOption writer_options[]
static
Initial value:
= {
{ "string_validation", "set string validation mode",
OFFSET(string_validation), AV_OPT_TYPE_INT, {.i64=WRITER_STRING_VALIDATION_REPLACE}, 0, WRITER_STRING_VALIDATION_NB-1, .unit = "sv" },
{ "sv", "set string validation mode",
OFFSET(string_validation), AV_OPT_TYPE_INT, {.i64=WRITER_STRING_VALIDATION_REPLACE}, 0, WRITER_STRING_VALIDATION_NB-1, .unit = "sv" },
{ "ignore", NULL, 0, AV_OPT_TYPE_CONST, {.i64 = WRITER_STRING_VALIDATION_IGNORE}, .unit = "sv" },
{ "replace", NULL, 0, AV_OPT_TYPE_CONST, {.i64 = WRITER_STRING_VALIDATION_REPLACE}, .unit = "sv" },
{ "fail", NULL, 0, AV_OPT_TYPE_CONST, {.i64 = WRITER_STRING_VALIDATION_FAIL}, .unit = "sv" },
{ "string_validation_replacement", "set string validation replacement string", OFFSET(string_validation_replacement), AV_OPT_TYPE_STRING, {.str=""}},
{ "svr", "set string validation replacement string", OFFSET(string_validation_replacement), AV_OPT_TYPE_STRING, {.str="\xEF\xBF\xBD"}},
{ NULL }
}
@ WRITER_STRING_VALIDATION_NB
@ WRITER_STRING_VALIDATION_REPLACE
@ WRITER_STRING_VALIDATION_IGNORE
@ WRITER_STRING_VALIDATION_FAIL

Definition at line 548 of file fftools_ffprobe.c.

◆ xml_options

const AVOption xml_options[]
static
Initial value:
= {
{"fully_qualified", "specify if the output should be fully qualified", OFFSET(fully_qualified), AV_OPT_TYPE_BOOL, {.i64=0}, 0, 1 },
{"q", "specify if the output should be fully qualified", OFFSET(fully_qualified), AV_OPT_TYPE_BOOL, {.i64=0}, 0, 1 },
{"xsd_strict", "ensure that the output is XSD compliant", OFFSET(xsd_strict), AV_OPT_TYPE_BOOL, {.i64=0}, 0, 1 },
{"x", "ensure that the output is XSD compliant", OFFSET(xsd_strict), AV_OPT_TYPE_BOOL, {.i64=0}, 0, 1 },
{NULL},
}

Definition at line 1763 of file fftools_ffprobe.c.

◆ xml_writer

Writer xml_writer
static
Initial value:
= {
.name = "xml",
.priv_size = sizeof(XMLContext),
.init = xml_init,
.print_integer = xml_print_int,
.print_string = xml_print_str,
.priv_class = &xml_class,
}
static av_cold int xml_init(WriterContext *wctx)
static void xml_print_section_footer(WriterContext *wctx)
static void xml_print_str(WriterContext *wctx, const char *key, const char *value)
static void xml_print_section_header(WriterContext *wctx)
static void xml_print_int(WriterContext *wctx, const char *key, long long int value)

Definition at line 1893 of file fftools_ffprobe.c.