FFmpeg
Data Structures | Macros | Enumerations | Functions | Variables
ffprobe.c File Reference

simple media prober based on the FFmpeg libraries More...

#include "config.h"
#include "libavutil/ffversion.h"
#include <string.h>
#include "libavformat/avformat.h"
#include "libavcodec/avcodec.h"
#include "libavutil/avassert.h"
#include "libavutil/avstring.h"
#include "libavutil/bprint.h"
#include "libavutil/display.h"
#include "libavutil/hash.h"
#include "libavutil/mastering_display_metadata.h"
#include "libavutil/opt.h"
#include "libavutil/pixdesc.h"
#include "libavutil/spherical.h"
#include "libavutil/stereo3d.h"
#include "libavutil/dict.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/libm.h"
#include "libavutil/parseutils.h"
#include "libavutil/timecode.h"
#include "libavutil/timestamp.h"
#include "libavdevice/avdevice.h"
#include "libswscale/swscale.h"
#include "libswresample/swresample.h"
#include "libpostproc/postprocess.h"
#include "cmdutils.h"
#include "libavutil/thread.h"

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 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 More...
 
#define SECTION_FLAG_IS_ARRAY   2
 the section contains an array of elements of the same type More...
 
#define SECTION_FLAG_HAS_VARIABLE_FIELDS   4
 the section may contain a variable number of fields with variable keys. More...
 
#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 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()   printf("%*c", json->indent_level * 4, ' ')
 
#define OFFSET(x)   offsetof(XMLContext, x)
 
#define CHECK_COMPLIANCE(opt, opt_name)
 
#define XML_INDENT()   printf("%*c", xml->indent_level * 4, ' ')
 
#define print_fmt(k, f, ...)
 
#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)
 

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_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 voidwriter_child_next (void *obj, void *prev)
 
static void writer_close (WriterContext **wctx)
 
static void bprint_bytes (AVBPrint *bp, const uint8_t *ubuf, size_t ubuf_size)
 
static int writer_open (WriterContext **wctx, const Writer *writer, const char *args, const struct section *sections, int nb_sections)
 
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, uint8_t *data, int size)
 
static void writer_print_data_hash (WriterContext *wctx, const char *name, 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)
 Apply C-language-like string escaping. More...
 
static const char * csv_escape_str (AVBPrint *dst, const char *src, const char sep, void *log_ctx)
 Quote fields containing special characters, check RFC4180. More...
 
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 const char * xml_escape_str (AVBPrint *dst, const char *src, void *log_ctx)
 
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_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, 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)
 
static void close_input_file (InputFile *ifile)
 
static int probe_file (WriterContext *wctx, const char *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_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 int opt_show_format_entry (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)
 
void show_help_default (const char *opt, const char *arg)
 Per-fftool specific help handler. More...
 
static int parse_read_interval (const char *interval_spec, ReadInterval *interval)
 Parse interval specification, according to the format: INTERVAL ::= [START|+START_OFFSET][%[END|+END_OFFSET]] INTERVALS ::= INTERVAL[,INTERVALS]. More...
 
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)
 
int main (int argc, char **argv)
 

Variables

const char program_name [] = "ffprobe"
 program name, defined by the program for show_version(). More...
 
const int program_birth_year = 2007
 program birth year, defined by the program for show_banner() More...
 
static int do_bitexact = 0
 
static int do_count_frames = 0
 
static int do_count_packets = 0
 
static int do_read_frames = 0
 
static int do_read_packets = 0
 
static int do_show_chapters = 0
 
static int do_show_error = 0
 
static int do_show_format = 0
 
static int do_show_frames = 0
 
static int do_show_packets = 0
 
static int do_show_programs = 0
 
static int do_show_streams = 0
 
static int do_show_stream_disposition = 0
 
static int do_show_data = 0
 
static int do_show_program_version = 0
 
static int do_show_library_versions = 0
 
static int do_show_pixel_formats = 0
 
static int do_show_pixel_format_flags = 0
 
static int do_show_pixel_format_components = 0
 
static int do_show_log = 0
 
static int do_show_chapter_tags = 0
 
static int do_show_format_tags = 0
 
static int do_show_frame_tags = 0
 
static int do_show_program_tags = 0
 
static int do_show_stream_tags = 0
 
static int do_show_packet_tags = 0
 
static int show_value_unit = 0
 
static int use_value_prefix = 0
 
static int use_byte_value_binary_prefix = 0
 
static int use_value_sexagesimal_format = 0
 
static int show_private_data = 1
 
static char * print_format
 
static char * stream_specifier
 
static char * show_data_hash
 
static ReadIntervalread_intervals
 
static int read_intervals_nb = 0
 
static int find_stream_info = 1
 
static struct section sections []
 
static const OptionDefoptions
 
static const char * input_filename
 
static AVInputFormatiformat = NULL
 
static struct AVHashContexthash
 
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"
 
static int nb_streams
 
static uint64_t * nb_streams_packets
 
static uint64_t * nb_streams_frames
 
static intselected_streams
 
static LogBufferlog_buffer
 
static int log_buffer_size
 
static const AVOption writer_options []
 
static const AVClass writer_class
 
static const Writerregistered_writers [MAX_REGISTERED_WRITERS_NB+1]
 
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
 
static const OptionDef real_options []
 

Detailed Description

simple media prober based on the FFmpeg libraries

Definition in file ffprobe.c.

Macro Definition Documentation

#define pthread_mutex_lock (   a)    do{}while(0)
#define pthread_mutex_unlock (   a)    do{}while(0)
#define SECTION_MAX_NB_CHILDREN   10

Definition at line 137 of file ffprobe.c.

#define SECTION_FLAG_IS_WRAPPER   1
#define SECTION_FLAG_IS_ARRAY   2
#define SECTION_FLAG_HAS_VARIABLE_FIELDS   4

the section may contain a variable number of fields with variable keys.

Definition at line 145 of file ffprobe.c.

Referenced by print_section(), xml_print_section_footer(), xml_print_section_header(), and xml_print_str().

#define WRITER_FLAG_DISPLAY_OPTIONAL_FIELDS   1

Definition at line 422 of file ffprobe.c.

Referenced by writer_print_string().

#define WRITER_FLAG_PUT_PACKETS_AND_FRAMES_IN_SAME_CHAPTER   2

Definition at line 423 of file ffprobe.c.

Referenced by probe_file().

#define SECTION_MAX_NB_LEVELS   10

Definition at line 448 of file ffprobe.c.

Referenced by writer_close(), writer_open(), and writer_print_section_header().

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

Definition at line 1628 of file ffprobe.c.

#define PRINT_STRING_OPT   1

Definition at line 736 of file ffprobe.c.

Referenced by writer_print_string(), writer_print_time(), and writer_print_ts().

#define PRINT_STRING_VALIDATE   2

Definition at line 737 of file ffprobe.c.

Referenced by writer_print_string().

#define MAX_REGISTERED_WRITERS_NB   64

Definition at line 879 of file ffprobe.c.

Referenced by writer_register().

#define DEFINE_WRITER_CLASS (   name)
Value:
static const char *name##_get_name(void *ctx) \
{ \
} \
static const AVClass name##_class = { \
.item_name = name##_get_name, \
.option = name##_options \
}
const char * class_name
The name of the class; usually it is the same name as the context structure type to which the AVClass...
Definition: log.h:72
AVFormatContext * ctx
Definition: movenc.c:48
Describe the class of an AVClass context structure.
Definition: log.h:67
these buffered frames must be flushed immediately if a new input produces new the filter must not call request_frame to get more It must just process the frame or queue it The task of requesting more frames is left to the filter s request_frame method or the application If a filter has several the filter must be ready for frames arriving randomly on any input any filter with several inputs will most likely require some kind of queuing mechanism It is perfectly acceptable to have a limited queue and to drop frames when the inputs are too unbalanced request_frame For filters that do not use the this method is called when a frame is wanted on an output For a it should directly call filter_frame on the corresponding output For a if there are queued frames already one of these frames should be pushed If the filter should request a frame on one of its repeatedly until at least one frame has been pushed Return or at least make progress towards producing a it should return
const char * name
Definition: opengl_enc.c:102

Definition at line 908 of file ffprobe.c.

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

Definition at line 1628 of file ffprobe.c.

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

Definition at line 1628 of file ffprobe.c.

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

Definition at line 1628 of file ffprobe.c.

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

Definition at line 1628 of file ffprobe.c.

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

Definition at line 1628 of file ffprobe.c.

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

Definition at line 1628 of file ffprobe.c.

#define JSON_INDENT ( )    printf("%*c", json->indent_level * 4, ' ')
#define OFFSET (   x)    offsetof(XMLContext, x)

Definition at line 1628 of file ffprobe.c.

#define CHECK_COMPLIANCE (   opt,
  opt_name 
)
Value:
if (opt) { \
"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); \
}
#define av_log(a,...)
#define AV_LOG_ERROR
Something went wrong and cannot losslessly be recovered.
Definition: log.h:176
these buffered frames must be flushed immediately if a new input produces new the filter must not call request_frame to get more It must just process the frame or queue it The task of requesting more frames is left to the filter s request_frame method or the application If a filter has several the filter must be ready for frames arriving randomly on any input any filter with several inputs will most likely require some kind of queuing mechanism It is perfectly acceptable to have a limited queue and to drop frames when the inputs are too unbalanced request_frame For filters that do not use the this method is called when a frame is wanted on an output For a it should directly call filter_frame on the corresponding output For a if there are queued frames already one of these frames should be pushed If the filter should request a frame on one of its repeatedly until at least one frame has been pushed Return or at least make progress towards producing a it should return
Filter the word “frame” indicates either a video frame or a group of audio as stored in an AVFrame structure Format for each input and each output the list of supported formats For video that means pixel format For audio that means channel sample they are references to shared objects When the negotiation mechanism computes the intersection of the formats supported at each end of a all references to both lists are replaced with a reference to the intersection And when a single format is eventually chosen for a link amongst the remaining all references to the list are updated That means that if a filter requires that its input and output have the same format amongst a supported all it has to do is use a reference to the same list of formats query_formats can leave some formats unset and return AVERROR(EAGAIN) to cause the negotiation mechanism toagain later.That can be used by filters with complex requirements to use the format negotiated on one link to set the formats supported on another.Frame references ownership and permissions

Referenced by xml_init().

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

Definition at line 1686 of file ffprobe.c.

Referenced by xml_print_section_footer(), xml_print_section_header(), and xml_print_str().

#define print_fmt (   k,
  f,
  ... 
)
Value:
do { \
av_bprintf(&pbuf, f, __VA_ARGS__); \
writer_print_string(w, k, pbuf.str, 0); \
} while (0)
void av_bprintf(AVBPrint *buf, const char *fmt,...)
Definition: bprint.c:94
#define f(width, name)
Definition: cbs_vp9.c:255
uint8_t w
Definition: llviddspenc.c:38
void av_bprint_clear(AVBPrint *buf)
Reset the string to "" but keep internal allocated data.
Definition: bprint.c:227
static int writer_print_string(WriterContext *wctx, const char *key, const char *val, int flags)
Definition: ffprobe.c:739

Definition at line 1806 of file ffprobe.c.

Referenced by ffprobe_show_program_version(), show_frame(), show_packet(), and show_stream().

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

Definition at line 1813 of file ffprobe.c.

Referenced by print_pkt_side_data(), show_chapters(), show_frame(), and show_stream().

#define print_str (   k,
 
)    writer_print_string(w, k, v, 0)
#define print_str_opt (   k,
 
)    writer_print_string(w, k, v, PRINT_STRING_OPT)
#define print_str_validate (   k,
 
)    writer_print_string(w, k, v, PRINT_STRING_VALIDATE)

Definition at line 1816 of file ffprobe.c.

Referenced by show_format(), and show_tags().

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

Definition at line 1818 of file ffprobe.c.

Referenced by show_frame(), show_packet(), show_program(), show_stream(), and show_subtitle().

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

Definition at line 1819 of file ffprobe.c.

Referenced by show_frame(), and show_packet().

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

Definition at line 1820 of file ffprobe.c.

Referenced by show_frame(), and show_packet().

#define print_val (   k,
  v,
  u 
)
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)
Definition: ffprobe.c:365
#define u(width, name, range_min, range_max)
Definition: cbs_h2645.c:252
uint8_t w
Definition: llviddspenc.c:38
static int writer_print_string(WriterContext *wctx, const char *key, const char *val, int flags)
Definition: ffprobe.c:739
union unit_value::@27 val
long long int i
Definition: ffprobe.c:361

Definition at line 1821 of file ffprobe.c.

Referenced by show_format(), show_frame(), show_packet(), and show_stream().

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

Definition at line 1828 of file ffprobe.c.

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

Definition at line 1829 of file ffprobe.c.

#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)) ); \
}
static av_cold int end(AVCodecContext *avctx)
Definition: avrndec.c:90
int av_reallocp_array(void *ptr, size_t nmemb, size_t size)
Allocate, reallocate, or free an array through a pointer to a pointer.
Definition: mem.c:205
if(ret)

Definition at line 1831 of file ffprobe.c.

Referenced by probe_file(), and read_interval_packets().

#define PRINT_DISPOSITION (   flagname,
  name 
)
Value:
do { \
print_int(name, !!(stream->disposition & AV_DISPOSITION_##flagname)); \
} while (0)
#define print_int(k, v)
Definition: ffprobe.c:1812
const char * name
Definition: opengl_enc.c:102

Referenced by show_stream().

#define CHECK_END   if (ret < 0) goto end

Referenced by probe_file().

#define SHOW_LIB_VERSION (   libname,
  LIBNAME 
)
Value:
do { \
if (CONFIG_##LIBNAME) { \
unsigned int version = libname##_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); \
} \
} while (0)
int version
Definition: avisynth_c.h:858
static void writer_print_section_header(WriterContext *wctx, int section_id)
Definition: ffprobe.c:629
#define print_int(k, v)
Definition: ffprobe.c:1812
uint8_t w
Definition: llviddspenc.c:38
if(ret)
#define print_str(k, v)
Definition: ffprobe.c:1814
static void writer_print_section_footer(WriterContext *wctx)
Definition: ffprobe.c:653

Definition at line 3073 of file ffprobe.c.

Referenced by ffprobe_show_library_versions().

#define PRINT_PIX_FMT_FLAG (   flagname,
  name 
)
Value:
do { \
print_int(name, !!(pixdesc->flags & AV_PIX_FMT_FLAG_##flagname)); \
} while (0)
#define print_int(k, v)
Definition: ffprobe.c:1812
const char * name
Definition: opengl_enc.c:102

Definition at line 3102 of file ffprobe.c.

Referenced by ffprobe_show_pixel_formats().

#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; \
}
#define NULL
Definition: coverity.c:32
static void mark_section_show_entries(SectionID section_id, int show_all_entries, AVDictionary *entries)
Definition: ffprobe.c:3166
const char * arg
Definition: jacosubdec.c:66
these buffered frames must be flushed immediately if a new input produces new the filter must not call request_frame to get more It must just process the frame or queue it The task of requesting more frames is left to the filter s request_frame method or the application If a filter has several the filter must be ready for frames arriving randomly on any input any filter with several inputs will most likely require some kind of queuing mechanism It is perfectly acceptable to have a limited queue and to drop frames when the inputs are too unbalanced request_frame For filters that do not use the this method is called when a frame is wanted on an output For a it should directly call filter_frame on the corresponding output For a if there are queued frames already one of these frames should be pushed If the filter should request a frame on one of its repeatedly until at least one frame has been pushed Return or at least make progress towards producing a it should return

Definition at line 3481 of file ffprobe.c.

#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: ffprobe.c:3548
if(ret)

Definition at line 3560 of file ffprobe.c.

Referenced by main().

Enumeration Type Documentation

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_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 155 of file ffprobe.c.

Enumerator
WRITER_STRING_VALIDATION_FAIL 
WRITER_STRING_VALIDATION_REPLACE 
WRITER_STRING_VALIDATION_IGNORE 
WRITER_STRING_VALIDATION_NB 

Definition at line 425 of file ffprobe.c.

Function Documentation

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

Definition at line 300 of file ffprobe.c.

Referenced by av_vlog(), and main().

static void ffprobe_cleanup ( int  ret)
static

Definition at line 349 of file ffprobe.c.

Referenced by main().

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

Definition at line 365 of file ffprobe.c.

Referenced by writer_print_time().

static const char* writer_get_name ( void p)
static

Definition at line 478 of file ffprobe.c.

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

Definition at line 499 of file ffprobe.c.

static void writer_close ( WriterContext **  wctx)
static

Definition at line 515 of file ffprobe.c.

Referenced by main(), and writer_open().

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

Definition at line 533 of file ffprobe.c.

Referenced by validate_string(), and writer_open().

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

Definition at line 542 of file ffprobe.c.

Referenced by main().

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

Definition at line 670 of file ffprobe.c.

Referenced by writer_print_ts().

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

Definition at line 681 of file ffprobe.c.

Referenced by writer_print_string().

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

Definition at line 775 of file ffprobe.c.

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

Definition at line 784 of file ffprobe.c.

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

Definition at line 801 of file ffprobe.c.

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

Definition at line 810 of file ffprobe.c.

Referenced by show_packet(), and show_stream().

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

Definition at line 838 of file ffprobe.c.

Referenced by show_packet(), and show_stream().

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 853 of file ffprobe.c.

Referenced by print_pkt_side_data(), and show_frame().

static int writer_register ( const Writer writer)
static

Definition at line 883 of file ffprobe.c.

Referenced by writer_register_all().

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

Definition at line 894 of file ffprobe.c.

Referenced by main().

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

Definition at line 942 of file ffprobe.c.

Referenced by default_print_section_footer(), and default_print_section_header().

static void default_print_section_header ( WriterContext wctx)
static

Definition at line 951 of file ffprobe.c.

static void default_print_section_footer ( WriterContext wctx)
static

Definition at line 976 of file ffprobe.c.

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

Definition at line 989 of file ffprobe.c.

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

Definition at line 998 of file ffprobe.c.

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 1023 of file ffprobe.c.

Referenced by compact_init().

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 1046 of file ffprobe.c.

Referenced by compact_init().

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

Definition at line 1064 of file ffprobe.c.

Referenced by compact_init().

DEFINE_WRITER_CLASS ( compact  )
static av_cold int compact_init ( WriterContext wctx)
static

Definition at line 1099 of file ffprobe.c.

static void compact_print_section_header ( WriterContext wctx)
static

Definition at line 1121 of file ffprobe.c.

static void compact_print_section_footer ( WriterContext wctx)
static

Definition at line 1151 of file ffprobe.c.

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

Definition at line 1161 of file ffprobe.c.

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

Definition at line 1174 of file ffprobe.c.

DEFINE_WRITER_CLASS ( csv  )
DEFINE_WRITER_CLASS ( flat  )
static av_cold int flat_init ( WriterContext wctx)
static

Definition at line 1249 of file ffprobe.c.

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

Definition at line 1263 of file ffprobe.c.

Referenced by flat_print_str().

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

Definition at line 1278 of file ffprobe.c.

Referenced by flat_print_str().

static void flat_print_section_header ( WriterContext wctx)
static

Definition at line 1296 of file ffprobe.c.

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

Definition at line 1322 of file ffprobe.c.

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

Definition at line 1327 of file ffprobe.c.

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

Definition at line 1369 of file ffprobe.c.

Referenced by ini_print_str().

static void ini_print_section_header ( WriterContext wctx)
static

Definition at line 1396 of file ffprobe.c.

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

Definition at line 1429 of file ffprobe.c.

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

Definition at line 1440 of file ffprobe.c.

DEFINE_WRITER_CLASS ( json  )
static av_cold int json_init ( WriterContext wctx)
static

Definition at line 1475 of file ffprobe.c.

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

Definition at line 1485 of file ffprobe.c.

Referenced by json_print_int(), json_print_item_str(), and json_print_section_header().

static void json_print_section_header ( WriterContext wctx)
static

Definition at line 1507 of file ffprobe.c.

static void json_print_section_footer ( WriterContext wctx)
static

Definition at line 1545 of file ffprobe.c.

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

Definition at line 1567 of file ffprobe.c.

Referenced by json_print_str().

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

Definition at line 1579 of file ffprobe.c.

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

Definition at line 1590 of file ffprobe.c.

DEFINE_WRITER_CLASS ( xml  )
static av_cold int xml_init ( WriterContext wctx)
static

Definition at line 1640 of file ffprobe.c.

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

Definition at line 1668 of file ffprobe.c.

Referenced by xml_print_str().

static void xml_print_section_header ( WriterContext wctx)
static

Definition at line 1688 of file ffprobe.c.

static void xml_print_section_footer ( WriterContext wctx)
static

Definition at line 1728 of file ffprobe.c.

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

Definition at line 1747 of file ffprobe.c.

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

Definition at line 1770 of file ffprobe.c.

static void writer_register_all ( void  )
static

Definition at line 1789 of file ffprobe.c.

Referenced by main().

static int show_tags ( WriterContext w,
AVDictionary tags,
int  section_id 
)
inlinestatic
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 1857 of file ffprobe.c.

Referenced by show_packet(), and show_stream().

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

Definition at line 1932 of file ffprobe.c.

Referenced by show_frame(), and show_stream().

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

Definition at line 1942 of file ffprobe.c.

Referenced by show_frame(), and show_stream().

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

Definition at line 1952 of file ffprobe.c.

Referenced by show_frame(), and show_stream().

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

Definition at line 1962 of file ffprobe.c.

Referenced by show_frame(), and show_stream().

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

Definition at line 1972 of file ffprobe.c.

Referenced by show_frame(), and show_stream().

static void clear_log ( int  need_lock)
static

Definition at line 1983 of file ffprobe.c.

Referenced by process_frame(), and show_log().

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

Definition at line 1999 of file ffprobe.c.

Referenced by show_frame().

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

Definition at line 2034 of file ffprobe.c.

Referenced by read_interval_packets().

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

Definition at line 2089 of file ffprobe.c.

Referenced by process_frame().

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

Definition at line 2112 of file ffprobe.c.

Referenced by process_frame(), and uncompressed_header().

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

Definition at line 2258 of file ffprobe.c.

Referenced by read_interval_packets().

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

Definition at line 2321 of file ffprobe.c.

Referenced by parse_read_intervals(), and read_interval_packets().

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

Definition at line 2345 of file ffprobe.c.

Referenced by read_packets().

static int read_packets ( WriterContext w,
InputFile ifile 
)
static

Definition at line 2449 of file ffprobe.c.

Referenced by probe_file().

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

Definition at line 2469 of file ffprobe.c.

Referenced by show_program(), and show_streams().

static int show_streams ( WriterContext w,
InputFile ifile 
)
static

Definition at line 2695 of file ffprobe.c.

Referenced by probe_file().

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

Definition at line 2712 of file ffprobe.c.

Referenced by show_programs().

static int show_programs ( WriterContext w,
InputFile ifile 
)
static

Definition at line 2747 of file ffprobe.c.

Referenced by probe_file().

static int show_chapters ( WriterContext w,
InputFile ifile 
)
static

Definition at line 2765 of file ffprobe.c.

Referenced by probe_file().

static int show_format ( WriterContext w,
InputFile ifile 
)
static

Definition at line 2790 of file ffprobe.c.

Referenced by probe_file().

static void show_error ( WriterContext w,
int  err 
)
static

Definition at line 2821 of file ffprobe.c.

Referenced by main().

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

Definition at line 2835 of file ffprobe.c.

Referenced by probe_file().

static void close_input_file ( InputFile ifile)
static

Definition at line 2955 of file ffprobe.c.

Referenced by probe_file().

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

Definition at line 2970 of file ffprobe.c.

Referenced by main().

static void show_usage ( void  )
static

Definition at line 3050 of file ffprobe.c.

Referenced by main(), and show_help_default().

static void ffprobe_show_program_version ( WriterContext w)
static

Definition at line 3057 of file ffprobe.c.

Referenced by main().

static void ffprobe_show_library_versions ( WriterContext w)
static

Definition at line 3088 of file ffprobe.c.

Referenced by main().

static void ffprobe_show_pixel_formats ( WriterContext w)
static

Definition at line 3107 of file ffprobe.c.

Referenced by main().

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

Definition at line 3156 of file ffprobe.c.

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

Definition at line 3166 of file ffprobe.c.

Referenced by match_section(), and opt_show_versions().

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

Definition at line 3181 of file ffprobe.c.

Referenced by opt_show_entries().

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

Definition at line 3200 of file ffprobe.c.

Referenced by opt_show_format_entry().

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

Definition at line 3250 of file ffprobe.c.

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

Definition at line 3266 of file ffprobe.c.

Referenced by main(), and opt_input_file_i().

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

Definition at line 3279 of file ffprobe.c.

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

Per-fftool specific help handler.

Implemented in each fftool, called by show_help().

Definition at line 3285 of file ffprobe.c.

Referenced by show_help().

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 3301 of file ffprobe.c.

Referenced by parse_read_intervals().

static int parse_read_intervals ( const char *  intervals_spec)
static

Definition at line 3383 of file ffprobe.c.

Referenced by opt_read_intervals().

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

Definition at line 3431 of file ffprobe.c.

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

Definition at line 3436 of file ffprobe.c.

static void print_section ( SectionID  id,
int  level 
)
static

Definition at line 3445 of file ffprobe.c.

Referenced by opt_sections().

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

Definition at line 3462 of file ffprobe.c.

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

Definition at line 3474 of file ffprobe.c.

static int check_section_show_entries ( int  section_id)
inlinestatic

Definition at line 3548 of file ffprobe.c.

int main ( int  argc,
char **  argv 
)

Definition at line 3565 of file ffprobe.c.

Variable Documentation

const char program_name[] = "ffprobe"

program name, defined by the program for show_version().

Definition at line 81 of file ffprobe.c.

Referenced by expand_filename_template(), init_report(), main(), print_program_info(), show_help_default(), show_license(), and show_usage().

const int program_birth_year = 2007

program birth year, defined by the program for show_banner()

Definition at line 82 of file ffprobe.c.

Referenced by ffprobe_show_program_version(), and print_program_info().

int do_bitexact = 0
static

Definition at line 84 of file ffprobe.c.

Referenced by main(), show_format(), and show_stream().

int do_count_frames = 0
static

Definition at line 85 of file ffprobe.c.

Referenced by probe_file().

int do_count_packets = 0
static

Definition at line 86 of file ffprobe.c.

Referenced by probe_file().

int do_read_frames = 0
static

Definition at line 87 of file ffprobe.c.

Referenced by probe_file(), and read_interval_packets().

int do_read_packets = 0
static

Definition at line 88 of file ffprobe.c.

Referenced by probe_file(), and read_interval_packets().

int do_show_chapters = 0
static

Definition at line 89 of file ffprobe.c.

Referenced by main(), and probe_file().

int do_show_error = 0
static

Definition at line 90 of file ffprobe.c.

Referenced by main().

int do_show_format = 0
static

Definition at line 91 of file ffprobe.c.

Referenced by main(), and probe_file().

int do_show_frames = 0
static

Definition at line 92 of file ffprobe.c.

Referenced by probe_file(), process_frame(), and xml_init().

int do_show_packets = 0
static

Definition at line 93 of file ffprobe.c.

Referenced by main(), probe_file(), read_interval_packets(), and xml_init().

int do_show_programs = 0
static

Definition at line 94 of file ffprobe.c.

Referenced by main(), and probe_file().

int do_show_streams = 0
static

Definition at line 95 of file ffprobe.c.

Referenced by main(), and probe_file().

int do_show_stream_disposition = 0
static

Definition at line 96 of file ffprobe.c.

Referenced by show_stream().

int do_show_data = 0
static

Definition at line 97 of file ffprobe.c.

Referenced by show_packet(), and show_stream().

int do_show_program_version = 0
static

Definition at line 98 of file ffprobe.c.

Referenced by main().

int do_show_library_versions = 0
static

Definition at line 99 of file ffprobe.c.

Referenced by main().

int do_show_pixel_formats = 0
static

Definition at line 100 of file ffprobe.c.

Referenced by main().

int do_show_pixel_format_flags = 0
static

Definition at line 101 of file ffprobe.c.

Referenced by ffprobe_show_pixel_formats().

int do_show_pixel_format_components = 0
static

Definition at line 102 of file ffprobe.c.

Referenced by ffprobe_show_pixel_formats().

int do_show_log = 0
static

Definition at line 103 of file ffprobe.c.

Referenced by main(), open_input_file(), and show_frame().

int do_show_chapter_tags = 0
static

Definition at line 105 of file ffprobe.c.

Referenced by show_chapters().

int do_show_format_tags = 0
static

Definition at line 106 of file ffprobe.c.

Referenced by show_format().

int do_show_frame_tags = 0
static

Definition at line 107 of file ffprobe.c.

Referenced by show_frame().

int do_show_program_tags = 0
static

Definition at line 108 of file ffprobe.c.

Referenced by show_program().

int do_show_stream_tags = 0
static

Definition at line 109 of file ffprobe.c.

Referenced by show_stream().

int do_show_packet_tags = 0
static

Definition at line 110 of file ffprobe.c.

Referenced by show_packet().

int show_value_unit = 0
static

Definition at line 112 of file ffprobe.c.

Referenced by opt_pretty(), value_string(), and xml_init().

int use_value_prefix = 0
static

Definition at line 113 of file ffprobe.c.

Referenced by opt_pretty(), value_string(), and xml_init().

int use_byte_value_binary_prefix = 0
static

Definition at line 114 of file ffprobe.c.

Referenced by opt_pretty(), and value_string().

int use_value_sexagesimal_format = 0
static

Definition at line 115 of file ffprobe.c.

Referenced by opt_pretty(), and value_string().

int show_private_data = 1
static

Definition at line 116 of file ffprobe.c.

Referenced by show_stream(), and xml_init().

char* print_format
static

Definition at line 118 of file ffprobe.c.

Referenced by main().

char* stream_specifier
static

Definition at line 119 of file ffprobe.c.

Referenced by probe_file().

char* show_data_hash
static

Definition at line 120 of file ffprobe.c.

Referenced by main().

ReadInterval* read_intervals
static

Definition at line 130 of file ffprobe.c.

int read_intervals_nb = 0
static

Definition at line 131 of file ffprobe.c.

Referenced by parse_read_intervals(), and read_packets().

int find_stream_info = 1
static

Definition at line 133 of file ffprobe.c.

Referenced by open_input_file().

struct section sections[]
static

Definition at line 203 of file ffprobe.c.

Referenced by writer_open().

const OptionDef* options
static

Definition at line 253 of file ffprobe.c.

const char* input_filename
static

Definition at line 256 of file ffprobe.c.

Referenced by main(), and opt_input_file().

AVInputFormat* iformat = NULL
static
struct AVHashContext* hash
static

Definition at line 259 of file ffprobe.c.

double bin_val

Definition at line 262 of file ffprobe.c.

double dec_val

Definition at line 263 of file ffprobe.c.

const char* bin_str

Definition at line 264 of file ffprobe.c.

const char* dec_str

Definition at line 265 of file ffprobe.c.

const { ... } 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" },
}

Referenced by value_string().

const char unit_second_str[] = "s"
static

Definition at line 275 of file ffprobe.c.

Referenced by value_string(), and writer_print_time().

const char unit_hertz_str[] = "Hz"
static

Definition at line 276 of file ffprobe.c.

Referenced by show_stream().

const char unit_byte_str[] = "byte"
static

Definition at line 277 of file ffprobe.c.

Referenced by show_format(), show_frame(), show_packet(), and value_string().

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

Definition at line 278 of file ffprobe.c.

Referenced by show_format(), and show_stream().

int nb_streams
static
uint64_t* nb_streams_packets
static

Definition at line 281 of file ffprobe.c.

Referenced by probe_file(), read_interval_packets(), and show_stream().

uint64_t* nb_streams_frames
static

Definition at line 282 of file ffprobe.c.

Referenced by probe_file(), process_frame(), read_interval_packets(), and show_stream().

int* selected_streams
static

Definition at line 283 of file ffprobe.c.

Referenced by probe_file(), read_interval_packets(), show_program(), and show_streams().

LogBuffer* log_buffer
static

Definition at line 297 of file ffprobe.c.

int log_buffer_size
static

Definition at line 298 of file ffprobe.c.

Referenced by clear_log(), log_callback(), and show_log().

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 }
}
#define NULL
Definition: coverity.c:32
#define OFFSET(x)
Definition: ffprobe.c:1628

Definition at line 486 of file ffprobe.c.

const AVClass writer_class
static
Initial value:
= {
.class_name = "Writer",
.item_name = writer_get_name,
.option = writer_options,
.child_next = writer_child_next,
}
#define LIBAVUTIL_VERSION_INT
Definition: version.h:85
static const AVOption writer_options[]
Definition: ffprobe.c:486
static void * writer_child_next(void *obj, void *prev)
Definition: ffprobe.c:499
static const char * writer_get_name(void *p)
Definition: ffprobe.c:478

Definition at line 507 of file ffprobe.c.

Referenced by writer_open().

const Writer* registered_writers[MAX_REGISTERED_WRITERS_NB+1]
static

Definition at line 881 of file ffprobe.c.

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},
}
#define NULL
Definition: coverity.c:32
#define OFFSET(x)
Definition: ffprobe.c:1628

Definition at line 931 of file ffprobe.c.

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)
Definition: ffprobe.c:951
static void default_print_int(WriterContext *wctx, const char *key, long long int value)
Definition: ffprobe.c:998
#define print_section_footer(s)
Definition: ffprobe.c:1829
#define WRITER_FLAG_DISPLAY_OPTIONAL_FIELDS
Definition: ffprobe.c:422
#define flags(name, subs,...)
Definition: cbs_av1.c:561
static void default_print_str(WriterContext *wctx, const char *key, const char *value)
Definition: ffprobe.c:989
static void default_print_section_footer(WriterContext *wctx)
Definition: ffprobe.c:976
#define print_section_header(s)
Definition: ffprobe.c:1828

Definition at line 1007 of file ffprobe.c.

const AVOption compact_options[]
static
Initial value:
= {
{"item_sep", "set item separator", OFFSET(item_sep_str), AV_OPT_TYPE_STRING, {.str="|"}, CHAR_MIN, CHAR_MAX },
{"s", "set item separator", OFFSET(item_sep_str), AV_OPT_TYPE_STRING, {.str="|"}, CHAR_MIN, CHAR_MAX },
{"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"}, CHAR_MIN, CHAR_MAX },
{"e", "set escape mode", OFFSET(escape_mode_str), AV_OPT_TYPE_STRING, {.str="c"}, CHAR_MIN, CHAR_MAX },
{"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},
}
#define NULL
Definition: coverity.c:32
#define OFFSET(x)
Definition: ffprobe.c:1628
static void print_section(SectionID id, int level)
Definition: ffprobe.c:3445

Definition at line 1085 of file ffprobe.c.

const Writer compact_writer
static
Initial value:
= {
.name = "compact",
.priv_size = sizeof(CompactContext),
.print_integer = compact_print_int,
.print_string = compact_print_str,
.priv_class = &compact_class,
}
static av_cold int init(AVCodecContext *avctx)
Definition: avrndec.c:35
static void compact_print_section_footer(WriterContext *wctx)
Definition: ffprobe.c:1151
static av_cold int compact_init(WriterContext *wctx)
Definition: ffprobe.c:1099
static void compact_print_section_header(WriterContext *wctx)
Definition: ffprobe.c:1121
#define print_section_footer(s)
Definition: ffprobe.c:1829
#define WRITER_FLAG_DISPLAY_OPTIONAL_FIELDS
Definition: ffprobe.c:422
static void compact_print_str(WriterContext *wctx, const char *key, const char *value)
Definition: ffprobe.c:1161
static void compact_print_int(WriterContext *wctx, const char *key, long long int value)
Definition: ffprobe.c:1174
#define flags(name, subs,...)
Definition: cbs_av1.c:561
#define print_section_header(s)
Definition: ffprobe.c:1828

Definition at line 1184 of file ffprobe.c.

const AVOption csv_options[]
static
Initial value:
= {
{"item_sep", "set item separator", OFFSET(item_sep_str), AV_OPT_TYPE_STRING, {.str=","}, CHAR_MIN, CHAR_MAX },
{"s", "set item separator", OFFSET(item_sep_str), AV_OPT_TYPE_STRING, {.str=","}, CHAR_MIN, CHAR_MAX },
{"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"}, CHAR_MIN, CHAR_MAX },
{"e", "set escape mode", OFFSET(escape_mode_str), AV_OPT_TYPE_STRING, {.str="csv"}, CHAR_MIN, CHAR_MAX },
{"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},
}
#define NULL
Definition: coverity.c:32
#define OFFSET(x)
Definition: ffprobe.c:1628
static void print_section(SectionID id, int level)
Definition: ffprobe.c:3445

Definition at line 1201 of file ffprobe.c.

const Writer csv_writer
static
Initial value:
= {
.name = "csv",
.priv_size = sizeof(CompactContext),
.print_integer = compact_print_int,
.print_string = compact_print_str,
.priv_class = &csv_class,
}
static av_cold int init(AVCodecContext *avctx)
Definition: avrndec.c:35
static void compact_print_section_footer(WriterContext *wctx)
Definition: ffprobe.c:1151
static av_cold int compact_init(WriterContext *wctx)
Definition: ffprobe.c:1099
static void compact_print_section_header(WriterContext *wctx)
Definition: ffprobe.c:1121
#define print_section_footer(s)
Definition: ffprobe.c:1829
#define WRITER_FLAG_DISPLAY_OPTIONAL_FIELDS
Definition: ffprobe.c:422
static void compact_print_str(WriterContext *wctx, const char *key, const char *value)
Definition: ffprobe.c:1161
static void compact_print_int(WriterContext *wctx, const char *key, long long int value)
Definition: ffprobe.c:1174
#define flags(name, subs,...)
Definition: cbs_av1.c:561
#define print_section_header(s)
Definition: ffprobe.c:1828

Definition at line 1215 of file ffprobe.c.

const AVOption flat_options[]
static
Initial value:
= {
{"sep_char", "set separator", OFFSET(sep_str), AV_OPT_TYPE_STRING, {.str="."}, CHAR_MIN, CHAR_MAX },
{"s", "set separator", OFFSET(sep_str), AV_OPT_TYPE_STRING, {.str="."}, CHAR_MIN, CHAR_MAX },
{"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},
}
#define NULL
Definition: coverity.c:32
#define OFFSET(x)
Definition: ffprobe.c:1628

Definition at line 1239 of file ffprobe.c.

const Writer flat_writer
static
Initial value:
= {
.name = "flat",
.priv_size = sizeof(FlatContext),
.print_integer = flat_print_int,
.print_string = flat_print_str,
.priv_class = &flat_class,
}
static av_cold int init(AVCodecContext *avctx)
Definition: avrndec.c:35
static void flat_print_str(WriterContext *wctx, const char *key, const char *value)
Definition: ffprobe.c:1327
static void flat_print_int(WriterContext *wctx, const char *key, long long int value)
Definition: ffprobe.c:1322
#define WRITER_FLAG_DISPLAY_OPTIONAL_FIELDS
Definition: ffprobe.c:422
#define WRITER_FLAG_PUT_PACKETS_AND_FRAMES_IN_SAME_CHAPTER
Definition: ffprobe.c:423
#define flags(name, subs,...)
Definition: cbs_av1.c:561
static void flat_print_section_header(WriterContext *wctx)
Definition: ffprobe.c:1296
static av_cold int flat_init(WriterContext *wctx)
Definition: ffprobe.c:1249
#define print_section_header(s)
Definition: ffprobe.c:1828

Definition at line 1340 of file ffprobe.c.

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},
}
#define NULL
Definition: coverity.c:32
#define OFFSET(x)
Definition: ffprobe.c:1628

Definition at line 1361 of file ffprobe.c.

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_section_header(WriterContext *wctx)
Definition: ffprobe.c:1396
#define WRITER_FLAG_DISPLAY_OPTIONAL_FIELDS
Definition: ffprobe.c:422
static void ini_print_str(WriterContext *wctx, const char *key, const char *value)
Definition: ffprobe.c:1429
#define WRITER_FLAG_PUT_PACKETS_AND_FRAMES_IN_SAME_CHAPTER
Definition: ffprobe.c:423
#define flags(name, subs,...)
Definition: cbs_av1.c:561
static void ini_print_int(WriterContext *wctx, const char *key, long long int value)
Definition: ffprobe.c:1440
#define print_section_header(s)
Definition: ffprobe.c:1828

Definition at line 1445 of file ffprobe.c.

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 }
}
#define NULL
Definition: coverity.c:32
#define OFFSET(x)
Definition: ffprobe.c:1628

Definition at line 1467 of file ffprobe.c.

const Writer json_writer
static
Initial value:
= {
.name = "json",
.priv_size = sizeof(JSONContext),
.print_integer = json_print_int,
.print_string = json_print_str,
.priv_class = &json_class,
}
static void json_print_int(WriterContext *wctx, const char *key, long long int value)
Definition: ffprobe.c:1590
static void json_print_section_footer(WriterContext *wctx)
Definition: ffprobe.c:1545
static av_cold int init(AVCodecContext *avctx)
Definition: avrndec.c:35
static void json_print_section_header(WriterContext *wctx)
Definition: ffprobe.c:1507
static av_cold int json_init(WriterContext *wctx)
Definition: ffprobe.c:1475
#define print_section_footer(s)
Definition: ffprobe.c:1829
#define WRITER_FLAG_PUT_PACKETS_AND_FRAMES_IN_SAME_CHAPTER
Definition: ffprobe.c:423
#define flags(name, subs,...)
Definition: cbs_av1.c:561
static void json_print_str(WriterContext *wctx, const char *key, const char *value)
Definition: ffprobe.c:1579
#define print_section_header(s)
Definition: ffprobe.c:1828

Definition at line 1605 of file ffprobe.c.

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},
}
#define NULL
Definition: coverity.c:32
#define OFFSET(x)
Definition: ffprobe.c:1628

Definition at line 1630 of file ffprobe.c.

Writer xml_writer
static
Initial value:
= {
.name = "xml",
.priv_size = sizeof(XMLContext),
.print_integer = xml_print_int,
.print_string = xml_print_str,
.priv_class = &xml_class,
}
static av_cold int init(AVCodecContext *avctx)
Definition: avrndec.c:35
static void xml_print_section_footer(WriterContext *wctx)
Definition: ffprobe.c:1728
static void xml_print_str(WriterContext *wctx, const char *key, const char *value)
Definition: ffprobe.c:1747
#define print_section_footer(s)
Definition: ffprobe.c:1829
static av_cold int xml_init(WriterContext *wctx)
Definition: ffprobe.c:1640
static void xml_print_int(WriterContext *wctx, const char *key, long long int value)
Definition: ffprobe.c:1770
#define WRITER_FLAG_PUT_PACKETS_AND_FRAMES_IN_SAME_CHAPTER
Definition: ffprobe.c:423
#define flags(name, subs,...)
Definition: cbs_av1.c:561
static void xml_print_section_header(WriterContext *wctx)
Definition: ffprobe.c:1688
#define print_section_header(s)
Definition: ffprobe.c:1828

Definition at line 1777 of file ffprobe.c.

const OptionDef real_options[]
static

Definition at line 3499 of file ffprobe.c.

Referenced by main().