#include "config.h"
#include "version.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/opt.h"
#include "libavutil/pixdesc.h"
#include "libavutil/dict.h"
#include "libavutil/libm.h"
#include "libavutil/timecode.h"
#include "libavdevice/avdevice.h"
#include "libswscale/swscale.h"
#include "libswresample/swresample.h"
#include "libpostproc/postprocess.h"
#include "cmdutils.h"
#include "cmdutils_common_opts.h"
Go to the source code of this file.
Data Structures | |
| struct | section | 
| struct | unit_value | 
| struct | Writer | 
| struct | WriterContext | 
| struct | DefaultContext | 
| struct | CompactContext | 
| struct | FlatContext | 
| struct | INIContext | 
| struct | JSONContext | 
| struct | XMLContext | 
Defines | |
| #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_ENTRY(id, name, flags) [SECTION_ID_##id] = { SECTION_ID_##id, name, flags } | 
| #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 | 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, 1) | 
| #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 | SHOW_LIB_VERSION(libname, LIBNAME) | 
Typedefs | |
| typedef struct WriterContext | WriterContext | 
Enumerations | |
| enum | SectionID {  SECTION_ID_NONE = -1, SECTION_ID_ERROR, SECTION_ID_FORMAT, SECTION_ID_FORMAT_TAGS, SECTION_ID_FRAME, SECTION_ID_FRAMES, SECTION_ID_FRAME_TAGS, SECTION_ID_LIBRARY_VERSION, SECTION_ID_LIBRARY_VERSIONS, SECTION_ID_PACKET, SECTION_ID_PACKETS, SECTION_ID_PACKETS_AND_FRAMES, SECTION_ID_PROGRAM_VERSION, SECTION_ID_ROOT, SECTION_ID_STREAM, SECTION_ID_STREAMS, SECTION_ID_STREAM_TAGS }  | 
Functions | |
| void av_noreturn | exit_program (int ret) | 
| Do all the necessary cleanup and abort.   | |
| static char * | value_string (char *buf, int buf_size, struct unit_value uv) | 
| static const char * | writer_get_name (void *p) | 
| static void | writer_close (WriterContext **wctx) | 
| 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 void | writer_print_string (WriterContext *wctx, const char *key, const char *val, int opt) | 
| 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 int | writer_register (const Writer *writer) | 
| static const Writer * | writer_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.   | |
| static const char * | csv_escape_str (AVBPrint *dst, const char *src, const char sep, void *log_ctx) | 
| Quote fields containing special characters, check RFC4180.   | |
| 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, const char *args) | 
| 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, const char *args) | 
| static void | flat_uninit (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_key_prefix (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, const char *args) | 
| 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, const char *args) | 
| 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 void | show_tags (WriterContext *wctx, AVDictionary *tags, int section_id) | 
| static void | show_packet (WriterContext *w, AVFormatContext *fmt_ctx, AVPacket *pkt, int packet_idx) | 
| static void | show_frame (WriterContext *w, AVFrame *frame, AVStream *stream, AVFormatContext *fmt_ctx) | 
| static av_always_inline int | process_frame (WriterContext *w, AVFormatContext *fmt_ctx, AVFrame *frame, AVPacket *pkt) | 
| static void | read_packets (WriterContext *w, AVFormatContext *fmt_ctx) | 
| static void | show_stream (WriterContext *w, AVFormatContext *fmt_ctx, int stream_idx) | 
| static void | show_streams (WriterContext *w, AVFormatContext *fmt_ctx) | 
| static void | show_format (WriterContext *w, AVFormatContext *fmt_ctx) | 
| static void | show_error (WriterContext *w, int err) | 
| static int | open_input_file (AVFormatContext **fmt_ctx_ptr, const char *filename) | 
| static void | close_input_file (AVFormatContext **ctx_ptr) | 
| 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 int | opt_format (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-avtool specific help handler.   | |
| static int | opt_pretty (void *optctx, const char *opt, const char *arg) | 
| static int | opt_show_versions (const char *opt, const char *arg) | 
| int | main (int argc, char **argv) | 
Variables | |
| const char | program_name [] = "ffprobe" | 
| program name, defined by the program for show_version().   | |
| const int | program_birth_year = 2007 | 
| program birth year, defined by the program for show_banner()   | |
| 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_error = 0 | 
| static int | do_show_format = 0 | 
| static int | do_show_frames = 0 | 
| static AVDictionary * | fmt_entries_to_show = NULL | 
| static int | do_show_packets = 0 | 
| static int | do_show_streams = 0 | 
| static int | do_show_data = 0 | 
| static int | do_show_program_version = 0 | 
| static int | do_show_library_versions = 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 struct section | sections [] | 
| static const OptionDef * | options | 
| static const char * | input_filename | 
| static AVInputFormat * | iformat = NULL | 
| static const char *const | binary_unit_prefixes [] = { "", "Ki", "Mi", "Gi", "Ti", "Pi" } | 
| static const char *const | decimal_unit_prefixes [] = { "", "K" , "M" , "G" , "T" , "P" } | 
| 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 uint64_t * | nb_streams_packets | 
| static uint64_t * | nb_streams_frames | 
| static const AVClass | writer_class | 
| static const Writer * | registered_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 [] | 
Definition in file ffprobe.c.
| #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); \ }
Referenced by xml_init().
| #define DEFINE_WRITER_CLASS | ( | name | ) | 
| #define JSON_INDENT | ( | ) | printf("%*c", json->indent_level * 4, ' ') | 
Definition at line 1071 of file ffprobe.c.
Referenced by json_print_int(), json_print_section_footer(), json_print_section_header(), and json_print_str().
| #define MAX_REGISTERED_WRITERS_NB 64 | 
| #define OFFSET | ( | x | ) | offsetof(XMLContext, x) | 
| #define OFFSET | ( | x | ) | offsetof(JSONContext, x) | 
| #define OFFSET | ( | x | ) | offsetof(INIContext, x) | 
| #define OFFSET | ( | x | ) | offsetof(FlatContext, x) | 
| #define OFFSET | ( | x | ) | offsetof(CompactContext, x) | 
| #define OFFSET | ( | x | ) | offsetof(CompactContext, x) | 
| #define OFFSET | ( | x | ) | offsetof(DefaultContext, x) | 
| #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_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 1372 of file ffprobe.c.
Referenced by ffprobe_show_program_version(), show_frame(), show_packet(), and show_stream().
| #define print_int | ( | k, | |||
| v | ) | writer_print_integer(w, k, v) | 
Definition at line 1378 of file ffprobe.c.
Referenced by show_error(), show_format(), show_frame(), show_packet(), and show_stream().
| #define print_q | ( | k, | |||
| v, | |||||
| s | ) | writer_print_rational(w, k, v, s) | 
| #define print_section_footer | ( | s | ) | writer_print_section_footer(w, s) | 
| #define print_section_header | ( | s | ) | writer_print_section_header(w, s) | 
| #define print_str | ( | k, | |||
| v | ) | writer_print_string(w, k, v, 0) | 
Definition at line 1380 of file ffprobe.c.
Referenced by ffprobe_show_program_version(), show_error(), show_format(), show_frame(), show_packet(), and show_stream().
| #define print_str_opt | ( | k, | |||
| v | ) | writer_print_string(w, k, v, 1) | 
Definition at line 1381 of file ffprobe.c.
Referenced by show_format(), show_frame(), show_packet(), and show_stream().
| #define print_time | ( | k, | |||
| v, | |||||
| tb | ) | writer_print_time(w, k, v, tb, 0) | 
Definition at line 1382 of file ffprobe.c.
Referenced by show_format(), show_frame(), show_packet(), and show_stream().
| #define print_ts | ( | k, | |||
| v | ) | writer_print_ts(w, k, v, 0) | 
Definition at line 1383 of file ffprobe.c.
Referenced by show_frame(), show_packet(), and show_stream().
| #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)
Definition at line 1386 of file ffprobe.c.
Referenced by show_format(), show_packet(), and show_stream().
| #define SECTION_FLAG_IS_ARRAY 2 | 
the section contains an array of elements of the same type
Definition at line 80 of file ffprobe.c.
Referenced by compact_print_section_footer(), compact_print_section_header(), default_print_section_footer(), default_print_section_header(), flat_print_key_prefix(), flat_print_section_header(), ini_print_section_header(), json_print_section_footer(), json_print_section_header(), and xml_print_section_header().
| #define SECTION_FLAG_IS_WRAPPER 1 | 
the section only contains other sections, but has no data at its own level
Definition at line 79 of file ffprobe.c.
Referenced by compact_print_section_footer(), compact_print_section_header(), default_print_section_footer(), default_print_section_header(), flat_print_section_header(), ini_print_section_header(), and json_print_section_header().
| #define SECTION_MAX_NB_LEVELS 10 | 
Definition at line 228 of file ffprobe.c.
Referenced by flat_init(), flat_uninit(), and writer_print_section_header().
| #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); \ writer_print_section_footer(w); \ } \ } while (0)
Definition at line 1878 of file ffprobe.c.
Referenced by ffprobe_show_library_versions().
| #define WRITER_FLAG_DISPLAY_OPTIONAL_FIELDS 1 | 
| #define WRITER_FLAG_PUT_PACKETS_AND_FRAMES_IN_SAME_CHAPTER 2 | 
| #define XML_INDENT | ( | ) | printf("%*c", xml->indent_level * 4, ' ') | 
Definition at line 1252 of file ffprobe.c.
Referenced by xml_print_section_footer(), xml_print_section_header(), and xml_print_str().
| typedef struct WriterContext WriterContext | 
| enum SectionID | 
| 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 588 of file ffprobe.c.
Referenced by compact_init().
| static void close_input_file | ( | AVFormatContext ** | ctx_ptr | ) |  [static] | 
        
| static av_cold int compact_init | ( | WriterContext * | wctx, | |
| const char * | args | |||
| ) |  [static] | 
        
| static void compact_print_int | ( | WriterContext * | wctx, | |
| const char * | key, | |||
| long long int | value | |||
| ) |  [static] | 
        
| static void compact_print_section_footer | ( | WriterContext * | wctx | ) |  [static] | 
        
| static void compact_print_section_header | ( | WriterContext * | wctx | ) |  [static] | 
        
| static void compact_print_str | ( | WriterContext * | wctx, | |
| const char * | key, | |||
| const char * | value | |||
| ) |  [static] | 
        
| 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 611 of file ffprobe.c.
Referenced by compact_init().
| static void default_print_int | ( | WriterContext * | wctx, | |
| const char * | key, | |||
| long long int | value | |||
| ) |  [static] | 
        
| static void default_print_section_footer | ( | WriterContext * | wctx | ) |  [static] | 
        
| static void default_print_section_header | ( | WriterContext * | wctx | ) |  [static] | 
        
| static void default_print_str | ( | WriterContext * | wctx, | |
| const char * | key, | |||
| const char * | value | |||
| ) |  [static] | 
        
| DEFINE_WRITER_CLASS | ( | xml | ) | 
| DEFINE_WRITER_CLASS | ( | json | ) | 
| DEFINE_WRITER_CLASS | ( | ini | ) | 
| DEFINE_WRITER_CLASS | ( | flat | ) | 
| DEFINE_WRITER_CLASS | ( | csv | ) | 
| DEFINE_WRITER_CLASS | ( | compact | ) | 
| DEFINE_WRITER_CLASS | ( | default | ) | 
| void av_noreturn exit_program | ( | int | ret | ) | 
| static void ffprobe_show_library_versions | ( | WriterContext * | w | ) |  [static] | 
        
| static void ffprobe_show_program_version | ( | WriterContext * | w | ) |  [static] | 
        
| static const char* flat_escape_key_str | ( | AVBPrint * | dst, | |
| const char * | src, | |||
| const char | sep | |||
| ) |  [static] | 
        
| static const char* flat_escape_value_str | ( | AVBPrint * | dst, | |
| const char * | src | |||
| ) |  [static] | 
        
| static av_cold int flat_init | ( | WriterContext * | wctx, | |
| const char * | args | |||
| ) |  [static] | 
        
| static void flat_print_int | ( | WriterContext * | wctx, | |
| const char * | key, | |||
| long long int | value | |||
| ) |  [static] | 
        
| static void flat_print_key_prefix | ( | WriterContext * | wctx | ) |  [static] | 
        
| static void flat_print_section_header | ( | WriterContext * | wctx | ) |  [static] | 
        
| static void flat_print_str | ( | WriterContext * | wctx, | |
| const char * | key, | |||
| const char * | value | |||
| ) |  [static] | 
        
| static void flat_uninit | ( | WriterContext * | wctx | ) |  [static] | 
        
| static char* ini_escape_str | ( | AVBPrint * | dst, | |
| const char * | src | |||
| ) |  [static] | 
        
| static void ini_print_int | ( | WriterContext * | wctx, | |
| const char * | key, | |||
| long long int | value | |||
| ) |  [static] | 
        
| static void ini_print_section_header | ( | WriterContext * | wctx | ) |  [static] | 
        
| static void ini_print_str | ( | WriterContext * | wctx, | |
| const char * | key, | |||
| const char * | value | |||
| ) |  [static] | 
        
| static const char* json_escape_str | ( | AVBPrint * | dst, | |
| const char * | src, | |||
| void * | log_ctx | |||
| ) |  [static] | 
        
Definition at line 1051 of file ffprobe.c.
Referenced by json_print_int(), json_print_item_str(), and json_print_section_header().
| static av_cold int json_init | ( | WriterContext * | wctx, | |
| const char * | args | |||
| ) |  [static] | 
        
| static void json_print_int | ( | WriterContext * | wctx, | |
| const char * | key, | |||
| long long int | value | |||
| ) |  [static] | 
        
| static void json_print_item_str | ( | WriterContext * | wctx, | |
| const char * | key, | |||
| const char * | value | |||
| ) |  [inline, static] | 
        
| static void json_print_section_footer | ( | WriterContext * | wctx | ) |  [static] | 
        
| static void json_print_section_header | ( | WriterContext * | wctx | ) |  [static] | 
        
| static void json_print_str | ( | WriterContext * | wctx, | |
| const char * | key, | |||
| const char * | value | |||
| ) |  [static] | 
        
| static const char* none_escape_str | ( | AVBPrint * | dst, | |
| const char * | src, | |||
| const char | sep, | |||
| void * | log_ctx | |||
| ) |  [static] | 
        
| static int open_input_file | ( | AVFormatContext ** | fmt_ctx_ptr, | |
| const char * | filename | |||
| ) |  [static] | 
        
| static int opt_format | ( | void * | optctx, | |
| const char * | opt, | |||
| const char * | arg | |||
| ) |  [static] | 
        
| static void opt_input_file | ( | void * | optctx, | |
| const char * | arg | |||
| ) |  [static] | 
        
| static int opt_input_file_i | ( | void * | optctx, | |
| const char * | opt, | |||
| const char * | arg | |||
| ) |  [static] | 
        
| static int opt_pretty | ( | void * | optctx, | |
| const char * | opt, | |||
| const char * | arg | |||
| ) |  [static] | 
        
| static int opt_show_format_entry | ( | void * | optctx, | |
| const char * | opt, | |||
| const char * | arg | |||
| ) |  [static] | 
        
| static int opt_show_versions | ( | const char * | opt, | |
| const char * | arg | |||
| ) |  [static] | 
        
| static int probe_file | ( | WriterContext * | wctx, | |
| const char * | filename | |||
| ) |  [static] | 
        
| static av_always_inline int process_frame | ( | WriterContext * | w, | |
| AVFormatContext * | fmt_ctx, | |||
| AVFrame * | frame, | |||
| AVPacket * | pkt | |||
| ) |  [static] | 
        
Definition at line 1513 of file ffprobe.c.
Referenced by end_frame(), filter_samples(), and read_packets().
| static void read_packets | ( | WriterContext * | w, | |
| AVFormatContext * | fmt_ctx | |||
| ) |  [static] | 
        
| static void show_error | ( | WriterContext * | w, | |
| int | err | |||
| ) |  [static] | 
        
| static void show_format | ( | WriterContext * | w, | |
| AVFormatContext * | fmt_ctx | |||
| ) |  [static] | 
        
| static void show_frame | ( | WriterContext * | w, | |
| AVFrame * | frame, | |||
| AVStream * | stream, | |||
| AVFormatContext * | fmt_ctx | |||
| ) |  [static] | 
        
| void show_help_default | ( | const char * | opt, | |
| const char * | arg | |||
| ) | 
Per-avtool specific help handler.
Implemented in each avtool, called by show_help().
| static void show_packet | ( | WriterContext * | w, | |
| AVFormatContext * | fmt_ctx, | |||
| AVPacket * | pkt, | |||
| int | packet_idx | |||
| ) |  [static] | 
        
| static void show_stream | ( | WriterContext * | w, | |
| AVFormatContext * | fmt_ctx, | |||
| int | stream_idx | |||
| ) |  [static] | 
        
| static void show_streams | ( | WriterContext * | w, | |
| AVFormatContext * | fmt_ctx | |||
| ) |  [static] | 
        
| static void show_tags | ( | WriterContext * | wctx, | |
| AVDictionary * | tags, | |||
| int | section_id | |||
| ) |  [inline, static] | 
        
Definition at line 1396 of file ffprobe.c.
Referenced by show_format(), show_frame(), and show_stream().
| static char* upcase_string | ( | char * | dst, | |
| size_t | dst_size, | |||
| const char * | src | |||
| ) |  [inline, static] | 
        
Definition at line 509 of file ffprobe.c.
Referenced by default_print_section_footer(), and default_print_section_header().
| static char* value_string | ( | char * | buf, | |
| int | buf_size, | |||
| struct unit_value | uv | |||
| ) |  [static] | 
        
| static void writer_close | ( | WriterContext ** | wctx | ) |  [static] | 
        
| static const Writer* writer_get_by_name | ( | const char * | name | ) |  [static] | 
        
| static int writer_open | ( | WriterContext ** | wctx, | |
| const Writer * | writer, | |||
| const char * | args, | |||
| const struct section * | sections, | |||
| int | nb_sections | |||
| ) |  [static] | 
        
| static void writer_print_data | ( | WriterContext * | wctx, | |
| const char * | name, | |||
| uint8_t * | data, | |||
| int | size | |||
| ) |  [static] | 
        
| static void writer_print_integer | ( | WriterContext * | wctx, | |
| const char * | key, | |||
| long long int | val | |||
| ) |  [inline, static] | 
        
| static void writer_print_rational | ( | WriterContext * | wctx, | |
| const char * | key, | |||
| AVRational | q, | |||
| char | sep | |||
| ) |  [inline, static] | 
        
| static void writer_print_section_footer | ( | WriterContext * | wctx | ) |  [inline, static] | 
        
Definition at line 344 of file ffprobe.c.
Referenced by ffprobe_show_library_versions(), ffprobe_show_program_version(), main(), probe_file(), show_error(), show_format(), show_frame(), show_packet(), show_stream(), show_streams(), and show_tags().
| static void writer_print_section_header | ( | WriterContext * | wctx, | |
| int | section_id | |||
| ) |  [inline, static] | 
        
Definition at line 320 of file ffprobe.c.
Referenced by ffprobe_show_library_versions(), ffprobe_show_program_version(), main(), probe_file(), show_error(), show_format(), show_frame(), show_packet(), show_stream(), show_streams(), and show_tags().
| static void writer_print_string | ( | WriterContext * | wctx, | |
| const char * | key, | |||
| const char * | val, | |||
| int | opt | |||
| ) |  [inline, static] | 
        
Definition at line 372 of file ffprobe.c.
Referenced by show_tags(), writer_print_data(), writer_print_rational(), writer_print_time(), and writer_print_ts().
| static void writer_print_time | ( | WriterContext * | wctx, | |
| const char * | key, | |||
| int64_t | ts, | |||
| const AVRational * | time_base, | |||
| int | is_duration | |||
| ) |  [static] | 
        
| static void writer_print_ts | ( | WriterContext * | wctx, | |
| const char * | key, | |||
| int64_t | ts, | |||
| int | is_duration | |||
| ) |  [static] | 
        
| static void writer_register_all | ( | void | ) |  [static] | 
        
| static const char* xml_escape_str | ( | AVBPrint * | dst, | |
| const char * | src, | |||
| void * | log_ctx | |||
| ) |  [static] | 
        
| static av_cold int xml_init | ( | WriterContext * | wctx, | |
| const char * | args | |||
| ) |  [static] | 
        
| static void xml_print_int | ( | WriterContext * | wctx, | |
| const char * | key, | |||
| long long int | value | |||
| ) |  [static] | 
        
| static void xml_print_section_footer | ( | WriterContext * | wctx | ) |  [static] | 
        
| static void xml_print_section_header | ( | WriterContext * | wctx | ) |  [static] | 
        
| static void xml_print_str | ( | WriterContext * | wctx, | |
| const char * | key, | |||
| const char * | value | |||
| ) |  [static] | 
        
const char* const binary_unit_prefixes[] = { "", "Ki", "Mi", "Gi", "Ti", "Pi" } [static]           | 
        
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_INT,    {.i64=0},    0,        1        },
    {"nk",       "force no key printing", OFFSET(nokey),           AV_OPT_TYPE_INT,    {.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_INT,    {.i64=1},    0,        1        },
    {"p",             "print section name", OFFSET(print_section), AV_OPT_TYPE_INT,    {.i64=1},    0,        1        },
    {NULL},
}
const Writer compact_writer [static]           | 
        
Initial value:
 {
    .name                 = "compact",
    .priv_size            = sizeof(CompactContext),
    .init                 = compact_init,
    .print_section_header = compact_print_section_header,
    .print_section_footer = compact_print_section_footer,
    .print_integer        = compact_print_int,
    .print_string         = compact_print_str,
    .flags = WRITER_FLAG_DISPLAY_OPTIONAL_FIELDS,
    .priv_class           = &compact_class,
}
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_INT,    {.i64=1},    0,        1        },
    {"nk",       "force no key printing", OFFSET(nokey),           AV_OPT_TYPE_INT,    {.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_INT,    {.i64=1},    0,        1        },
    {"p",             "print section name", OFFSET(print_section), AV_OPT_TYPE_INT,    {.i64=1},    0,        1        },
    {NULL},
}
const Writer csv_writer [static]           | 
        
Initial value:
 {
    .name                 = "csv",
    .priv_size            = sizeof(CompactContext),
    .init                 = compact_init,
    .print_section_header = compact_print_section_header,
    .print_section_footer = compact_print_section_footer,
    .print_integer        = compact_print_int,
    .print_string         = compact_print_str,
    .flags = WRITER_FLAG_DISPLAY_OPTIONAL_FIELDS,
    .priv_class           = &csv_class,
}
const char* const decimal_unit_prefixes[] = { "", "K" , "M" , "G" , "T" , "P" } [static]           | 
        
const AVOption default_options[] [static]           | 
        
Initial value:
 {
    { "noprint_wrappers", "do not print headers and footers", OFFSET(noprint_wrappers), AV_OPT_TYPE_INT, {.i64=0}, 0, 1 },
    { "nw",               "do not print headers and footers", OFFSET(noprint_wrappers), AV_OPT_TYPE_INT, {.i64=0}, 0, 1 },
    { "nokey",          "force no key printing",     OFFSET(nokey),          AV_OPT_TYPE_INT, {.i64=0}, 0, 1 },
    { "nk",             "force no key printing",     OFFSET(nokey),          AV_OPT_TYPE_INT, {.i64=0}, 0, 1 },
    {NULL},
}
const Writer default_writer [static]           | 
        
Initial value:
 {
    .name                  = "default",
    .priv_size             = sizeof(DefaultContext),
    .print_section_header  = default_print_section_header,
    .print_section_footer  = default_print_section_footer,
    .print_integer         = default_print_int,
    .print_string          = default_print_str,
    .flags = WRITER_FLAG_DISPLAY_OPTIONAL_FIELDS,
    .priv_class            = &default_class,
}
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_data = 0 [static]           | 
        
int do_show_error = 0 [static]           | 
        
int do_show_format = 0 [static]           | 
        
Definition at line 56 of file ffprobe.c.
Referenced by main(), opt_show_format_entry(), and probe_file().
int do_show_frames = 0 [static]           | 
        
Definition at line 57 of file ffprobe.c.
Referenced by probe_file(), process_frame(), and xml_init().
int do_show_library_versions = 0 [static]           | 
        
int do_show_packets = 0 [static]           | 
        
Definition at line 59 of file ffprobe.c.
Referenced by main(), probe_file(), read_packets(), and xml_init().
int do_show_program_version = 0 [static]           | 
        
int do_show_streams = 0 [static]           | 
        
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_INT, {.i64=1}, 0, 1 },
    {"h",           "specify if the section specification should be hierarchical", OFFSET(hierarchical), AV_OPT_TYPE_INT, {.i64=1}, 0, 1 },
    {NULL},
}
const Writer flat_writer [static]           | 
        
Initial value:
 {
    .name                  = "flat",
    .priv_size             = sizeof(FlatContext),
    .init                  = flat_init,
    .uninit                = flat_uninit,
    .print_section_header  = flat_print_section_header,
    .print_integer         = flat_print_int,
    .print_string          = flat_print_str,
    .flags = WRITER_FLAG_DISPLAY_OPTIONAL_FIELDS|WRITER_FLAG_PUT_PACKETS_AND_FRAMES_IN_SAME_CHAPTER,
    .priv_class            = &flat_class,
}
AVDictionary* fmt_entries_to_show = NULL [static]           | 
        
AVInputFormat* iformat = NULL [static]           | 
        
Definition at line 130 of file ffprobe.c.
Referenced by ff_load_image(), movie_common_init(), and show_format_opts().
const AVOption ini_options[] [static]           | 
        
Initial value:
 {
    {"hierarchical", "specify if the section specification should be hierarchical", OFFSET(hierarchical), AV_OPT_TYPE_INT, {.i64=1}, 0, 1 },
    {"h",           "specify if the section specification should be hierarchical", OFFSET(hierarchical), AV_OPT_TYPE_INT, {.i64=1}, 0, 1 },
    {NULL},
}
const Writer ini_writer [static]           | 
        
Initial value:
 {
    .name                  = "ini",
    .priv_size             = sizeof(INIContext),
    .print_section_header  = ini_print_section_header,
    .print_integer         = ini_print_int,
    .print_string          = ini_print_str,
    .flags = WRITER_FLAG_DISPLAY_OPTIONAL_FIELDS|WRITER_FLAG_PUT_PACKETS_AND_FRAMES_IN_SAME_CHAPTER,
    .priv_class            = &ini_class,
}
const char* input_filename [static]           | 
        
const AVOption json_options[] [static]           | 
        
Initial value:
 {
    { "compact", "enable compact output", OFFSET(compact), AV_OPT_TYPE_INT, {.i64=0}, 0, 1 },
    { "c",       "enable compact output", OFFSET(compact), AV_OPT_TYPE_INT, {.i64=0}, 0, 1 },
    { NULL }
}
const Writer json_writer [static]           | 
        
Initial value:
 {
    .name                 = "json",
    .priv_size            = sizeof(JSONContext),
    .init                 = json_init,
    .print_section_header = json_print_section_header,
    .print_section_footer = json_print_section_footer,
    .print_integer        = json_print_int,
    .print_string         = json_print_str,
    .flags = WRITER_FLAG_PUT_PACKETS_AND_FRAMES_IN_SAME_CHAPTER,
    .priv_class           = &json_class,
}
uint64_t* nb_streams_frames [static]           | 
        
Definition at line 140 of file ffprobe.c.
Referenced by probe_file(), process_frame(), and show_stream().
uint64_t* nb_streams_packets [static]           | 
        
Definition at line 139 of file ffprobe.c.
Referenced by probe_file(), read_packets(), and show_stream().
char* print_format [static]           | 
        
| const int program_birth_year = 2007 | 
program birth year, defined by the program for show_banner()
| const char program_name[] = "ffprobe" | 
const OptionDef real_options[] [static]           | 
        
const Writer* registered_writers[MAX_REGISTERED_WRITERS_NB+1] [static]           | 
        
Initial value:
 {
    SECTION_ENTRY(ERROR,              "error", 0),
    SECTION_ENTRY(FORMAT,             "format", 0),
    SECTION_ENTRY(FORMAT_TAGS,        "tags", 0),
    SECTION_ENTRY(FRAME,              "frame", 0),
    SECTION_ENTRY(FRAMES,             "frames", SECTION_FLAG_IS_ARRAY),
    SECTION_ENTRY(FRAME_TAGS,         "tags", 0),
    SECTION_ENTRY(LIBRARY_VERSION,    "library_version", 0),
    SECTION_ENTRY(LIBRARY_VERSIONS,   "library_versions", SECTION_FLAG_IS_ARRAY),
    SECTION_ENTRY(PACKET,             "packet", 0),
    SECTION_ENTRY(PACKETS,            "packets", SECTION_FLAG_IS_ARRAY),
    SECTION_ENTRY(PACKETS_AND_FRAMES, "packets_and_frames", SECTION_FLAG_IS_ARRAY),
    SECTION_ENTRY(PROGRAM_VERSION,    "program_version", 0),
    SECTION_ENTRY(ROOT,               "root", SECTION_FLAG_IS_WRAPPER),
    SECTION_ENTRY(STREAM,             "stream", 0),
    SECTION_ENTRY(STREAMS,            "streams", SECTION_FLAG_IS_ARRAY),
    SECTION_ENTRY(STREAM_TAGS,        "tags", 0),
}
int show_private_data = 1 [static]           | 
        
int show_value_unit = 0 [static]           | 
        
Definition at line 65 of file ffprobe.c.
Referenced by opt_pretty(), value_string(), and xml_init().
const char unit_bit_per_second_str[] = "bit/s" [static]           | 
        
const char unit_byte_str[] = "byte" [static]           | 
        
Definition at line 137 of file ffprobe.c.
Referenced by show_format(), show_packet(), and value_string().
const char unit_hertz_str[] = "Hz" [static]           | 
        
const char unit_second_str[] = "s" [static]           | 
        
int use_byte_value_binary_prefix = 0 [static]           | 
        
int use_value_prefix = 0 [static]           | 
        
Definition at line 66 of file ffprobe.c.
Referenced by opt_pretty(), value_string(), and xml_init().
int use_value_sexagesimal_format = 0 [static]           | 
        
const AVClass writer_class [static]           | 
        
Initial value:
 {
    "Writer",
    writer_get_name,
    NULL,
    LIBAVUTIL_VERSION_INT,
}
const AVOption xml_options[] [static]           | 
        
Initial value:
 {
    {"fully_qualified", "specify if the output should be fully qualified", OFFSET(fully_qualified), AV_OPT_TYPE_INT, {.i64=0},  0, 1 },
    {"q",               "specify if the output should be fully qualified", OFFSET(fully_qualified), AV_OPT_TYPE_INT, {.i64=0},  0, 1 },
    {"xsd_strict",      "ensure that the output is XSD compliant",         OFFSET(xsd_strict),      AV_OPT_TYPE_INT, {.i64=0},  0, 1 },
    {"x",               "ensure that the output is XSD compliant",         OFFSET(xsd_strict),      AV_OPT_TYPE_INT, {.i64=0},  0, 1 },
    {NULL},
}
Writer xml_writer [static]           | 
        
Initial value:
 {
    .name                 = "xml",
    .priv_size            = sizeof(XMLContext),
    .init                 = xml_init,
    .print_section_header = xml_print_section_header,
    .print_section_footer = xml_print_section_footer,
    .print_integer        = xml_print_int,
    .print_string         = xml_print_str,
    .flags = WRITER_FLAG_PUT_PACKETS_AND_FRAMES_IN_SAME_CHAPTER,
    .priv_class           = &xml_class,
}
 1.5.8