Go to the documentation of this file.
27 #include "libavutil/ffversion.h"
135 #define SHOW_OPTIONAL_FIELDS_AUTO -1
136 #define SHOW_OPTIONAL_FIELDS_NEVER 0
137 #define SHOW_OPTIONAL_FIELDS_ALWAYS 1
362 static int print_prefix = 1;
363 void *new_log_buffer;
374 if (new_log_buffer) {
387 for (
i=strlen(msg) - 1;
i>=0 && msg[
i] ==
'\n';
i--) {
393 if (parent && *parent) {
396 (*parent)->get_category ? (*parent)->get_category(parent) :(*parent)->category;
407 #define print_fmt(k, f, ...) do { \
408 av_bprint_clear(&pbuf); \
409 av_bprintf(&pbuf, f, __VA_ARGS__); \
410 avtext_print_string(tfc, k, pbuf.str, 0); \
413 #define print_list_fmt(k, f, n, m, ...) do { \
414 av_bprint_clear(&pbuf); \
415 for (int idx = 0; idx < n; idx++) { \
416 for (int idx2 = 0; idx2 < m; idx2++) { \
417 if (idx > 0 || idx2 > 0) \
418 av_bprint_chars(&pbuf, ' ', 1); \
419 av_bprintf(&pbuf, f, __VA_ARGS__); \
422 avtext_print_string(tfc, k, pbuf.str, 0); \
425 #define print_int(k, v) avtext_print_integer(tfc, k, v)
426 #define print_q(k, v, s) avtext_print_rational(tfc, k, v, s)
427 #define print_str(k, v) avtext_print_string(tfc, k, v, 0)
428 #define print_str_opt(k, v) avtext_print_string(tfc, k, v, AV_TEXTFORMAT_PRINT_STRING_OPTIONAL)
429 #define print_str_validate(k, v) avtext_print_string(tfc, k, v, AV_TEXTFORMAT_PRINT_STRING_VALIDATE)
430 #define print_time(k, v, tb) avtext_print_time(tfc, k, v, tb, 0)
431 #define print_ts(k, v) avtext_print_ts(tfc, k, v, 0)
432 #define print_duration_time(k, v, tb) avtext_print_time(tfc, k, v, tb, 1)
433 #define print_duration_ts(k, v) avtext_print_ts(tfc, k, v, 1)
434 #define print_val(k, v, u) avtext_print_unit_int(tfc, k, v, u)
436 #define REALLOCZ_ARRAY_STREAM(ptr, cur_n, new_n) \
438 ret = av_reallocp_array(&(ptr), (new_n), sizeof(*(ptr))); \
441 memset( (ptr) + (cur_n), 0, ((new_n) - (cur_n)) * sizeof(*(ptr)) ); \
480 print_int(
"chroma_resampling_explicit_filter_flag",
489 print_int(
"spatial_resampling_filter_flag",
491 print_int(
"el_spatial_resampling_filter_flag",
504 print_str(
"nlq_method_idc_name",
"none");
507 print_str(
"nlq_method_idc_name",
"linear_dz");
510 print_str(
"nlq_method_idc_name",
"unknown");
519 for (
int c = 0;
c < 3;
c++) {
547 print_str(
"mapping_idc_name",
"polynomial");
562 print_str(
"mapping_idc_name",
"unknown");
598 color->ycc_to_rgb_matrix[idx].num,
599 color->ycc_to_rgb_matrix[idx].den);
602 color->ycc_to_rgb_offset[idx].num,
603 color->ycc_to_rgb_offset[idx].den);
606 color->rgb_to_lms_matrix[idx].num,
607 color->rgb_to_lms_matrix[idx].den);
615 print_int(
"signal_full_range_flag",
color->signal_full_range_flag);
632 print_q(
"window_upper_left_corner_x",
634 print_q(
"window_upper_left_corner_y",
636 print_q(
"window_lower_right_corner_x",
638 print_q(
"window_lower_right_corner_y",
640 print_q(
"window_upper_left_corner_x",
642 print_q(
"window_upper_left_corner_y",
650 print_int(
"semimajor_axis_internal_ellipse",
652 print_int(
"semimajor_axis_external_ellipse",
654 print_int(
"semiminor_axis_external_ellipse",
659 print_q(
"targeted_system_display_maximum_luminance",
662 print_int(
"num_rows_targeted_system_display_actual_peak_luminance",
664 print_int(
"num_cols_targeted_system_display_actual_peak_luminance",
668 print_q(
"targeted_system_display_actual_peak_luminance",
675 for (
int i = 0;
i < 3;
i++) {
680 print_int(
"num_distribution_maxrgb_percentiles",
683 print_int(
"distribution_maxrgb_percentage",
685 print_q(
"distribution_maxrgb_percentile",
688 print_q(
"fraction_bright_pixels",
692 print_int(
"num_rows_mastering_display_actual_peak_luminance",
694 print_int(
"num_cols_mastering_display_actual_peak_luminance",
698 print_q(
"mastering_display_actual_peak_luminance",
712 print_q(
"bezier_curve_anchors",
717 print_q(
"color_saturation_weight",
748 print_q(
"targeted_system_display_maximum_luminance",
761 print_int(
"base_param_Delta_enable_mode",
808 const char *
const film_grain_type_names[] = {
832 print_str(
"color_trc", color_trc ? color_trc :
"unknown");
833 print_str(
"color_space", color_space ? color_space :
"unknown");
841 const int num_ar_coeffs_uv = num_ar_coeffs_y + !!aom->
num_y_points;
864 for (
int uv = 0; uv < 2; uv++) {
894 for (
int c = 0;
c < 3;
c++) {
1007 const char *
comp =
"unknown";
1079 while (
s[
i] &&
s[
i] == s2[
i] &&
i <
sizeof(buf) - 1) {
1222 const uint8_t *side_metadata;
1276 for (
int i = 0;
i <
frame->nb_side_data;
i++) {
1285 if (
isnan(rotation))
1296 uint32_t *tc = (uint32_t*)sd->
data;
1297 int m =
FFMIN(tc[0],3);
1299 for (
int j = 1; j <= m ; j++) {
1377 print_ts (
"best_effort_timestamp",
frame->best_effort_timestamp);
1399 print_q(
"sample_aspect_ratio", sar,
':');
1433 if (
frame->nb_side_data)
1451 int ret = 0, got_frame = 0;
1501 for (
int i = 0;
i <
frame->nb_side_data;
i++) {
1512 return got_frame || *packet_new;
1517 av_log(log_ctx, log_level,
"id:%d", interval->
id);
1523 av_log(log_ctx, log_level,
" start:N/A");
1529 av_log(log_ctx, log_level,
"#%"PRId64, interval->
end);
1533 av_log(log_ctx, log_level,
" end:N/A");
1536 av_log(log_ctx, log_level,
"\n");
1545 int ret = 0,
i = 0, frame_count = 0;
1546 int64_t start = -INT64_MAX, end = interval->
end;
1557 "Could not seek to relative position since current "
1558 "timestamp is not defined\n");
1562 target = *cur_ts + interval->
start;
1564 target = interval->
start;
1608 end = start + interval->
end;
1613 if (frame_count >= interval->
end)
1615 }
else if (has_end && *cur_ts !=
AV_NOPTS_VALUE && *cur_ts >= end) {
1687 for (
int i = 0;
i <
sizeof(disposition) * CHAR_BIT;
i++) {
1690 if (disposition_str)
1691 print_int(disposition_str, !!(disposition & (1
U <<
i)));
1696 #define IN_PROGRAM 1
1697 #define IN_STREAM_GROUP 2
1714 const SectionID section_disposition[] = {
1754 char profile_num[12];
1785 print_q(
"sample_aspect_ratio", sar,
':');
1790 print_q(
"display_aspect_ratio", dar,
':');
1805 print_str(
"field_order",
"progressive");
1954 for (
i = 0;
i <
program->nb_stream_indexes;
i++) {
2012 SectionID subsection_id, parameter_section_id;
2029 switch(param->
type) {
2033 print_int(
"subblock_duration",
mix->subblock_duration);
2035 print_q(
"start_point_value",
mix->start_point_value,
'/');
2036 print_q(
"end_point_value",
mix->end_point_value,
'/');
2037 print_q(
"control_point_value",
mix->control_point_value,
'/');
2038 print_q(
"control_point_relative_time",
mix->control_point_relative_time,
'/');
2131 print_q(
"integrated_loudness",
layout->integrated_loudness,
'/');
2134 print_q(
"dialogue_anchored_loudness",
layout->dialogue_anchored_loudness,
'/');
2135 print_q(
"album_anchored_loudness",
layout->album_anchored_loudness,
'/');
2299 const char *print_filename)
2304 int scan_all_pmts_set = 0;
2312 scan_all_pmts_set = 1;
2319 if (print_filename) {
2324 if (scan_all_pmts_set)
2339 for (
i = 0;
i < orig_nb_streams;
i++)
2366 "Failed to probe codec for input stream %d\n",
2374 "Unsupported codec with id %d for input stream %d\n",
2438 const char *print_filename)
2452 #define CHECK_END if (ret < 0) goto end
2542 print_fmt(
"copyright",
"Copyright (c) %d-%d the FFmpeg developers",
2545 print_str(
"configuration", FFMPEG_CONFIGURATION);
2551 #define SHOW_LIB_VERSION(libname, LIBNAME) \
2553 if (CONFIG_##LIBNAME) { \
2554 unsigned int version = libname##_version(); \
2555 avtext_print_section_header(tfc, NULL, SECTION_ID_LIBRARY_VERSION); \
2556 print_str("name", "lib" #libname); \
2557 print_int("major", LIB##LIBNAME##_VERSION_MAJOR); \
2558 print_int("minor", LIB##LIBNAME##_VERSION_MINOR); \
2559 print_int("micro", LIB##LIBNAME##_VERSION_MICRO); \
2560 print_int("version", version); \
2561 print_str("ident", LIB##LIBNAME##_IDENT); \
2562 avtext_print_section_footer(tfc); \
2580 #define PRINT_PIX_FMT_FLAG(flagname, name) \
2582 print_int(name, !!(pixdesc->flags & AV_PIX_FMT_FLAG_##flagname)); \
2665 for (
const int *
id = section->
children_ids; *
id != -1;
id++)
2679 if (!strcmp(section_name, section->
name) ||
2682 "'%s' matches section with unique name '%s'\n", section_name,
2693 const char *p =
arg;
2701 if (!section_name) {
2703 "Missing section name for option '%s'\n", opt);
2709 while (*p && *p !=
':') {
2714 "Adding '%s' to the entries to show in section '%s'\n",
2715 entry, section_name);
2745 "Argument '%s' provided as input filename, but '%s' was already specified.\n",
2749 if (!strcmp(
arg,
"-"))
2768 "Argument '%s' provided as output filename, but '%s' was already specified.\n",
2772 if (!strcmp(
arg,
"-"))
2808 char *next, *p, *spec =
av_strdup(interval_spec);
2819 next = strchr(spec,
'%');
2861 lli = strtoll(p, &tail, 10);
2862 if (*tail || lli < 0) {
2864 "Invalid or negative value '%s' for duration number of frames\n", p);
2867 interval->
end = lli;
2889 char *p, *spec =
av_strdup(intervals_spec);
2894 for (n = 0, p = spec; *p; p++)
2908 for (
i = 0; p;
i++) {
2912 next = strchr(p,
',');
2969 "W... = Section is a wrapper (contains other sections, no local entries)\n"
2970 ".A.. = Section contains an array of elements of the same type\n"
2971 "..V. = Section may contain a variable number of fields with variable keys\n"
2972 "...T = Section contain a unique type\n"
2973 "FLAGS NAME/UNIQUE_NAME\n"
2986 #define DEFINE_OPT_SHOW_SECTION(section, target_section_id) \
2987 static int opt_show_##section(void *optctx, const char *opt, const char *arg) \
2989 mark_section_show_entries(SECTION_ID_##target_section_id, 1, NULL); \
3011 "use binary prefixes for byte units" },
3013 "use sexagesimal format HOURS:MM:SS.MICROSECONDS for time units" },
3015 "prettify the format of displayed values, make it more human readable" },
3017 "set the output printing format (available formats are: default, compact, csv, flat, ini, json, xml)",
"format" },
3024 {
"show_error",
OPT_TYPE_FUNC, 0, { .func_arg = &opt_show_error },
"show probing error" },
3025 {
"show_format",
OPT_TYPE_FUNC, 0, { .func_arg = &opt_show_format },
"show format/container info" },
3026 {
"show_frames",
OPT_TYPE_FUNC, 0, { .func_arg = &opt_show_frames },
"show frames info" },
3028 "show a set of specified entries",
"entry_list" },
3032 {
"show_packets",
OPT_TYPE_FUNC, 0, { .func_arg = &opt_show_packets },
"show packets info" },
3033 {
"show_programs",
OPT_TYPE_FUNC, 0, { .func_arg = &opt_show_programs },
"show programs info" },
3034 {
"show_stream_groups",
OPT_TYPE_FUNC, 0, { .func_arg = &opt_show_stream_groups },
"show stream groups info" },
3035 {
"show_streams",
OPT_TYPE_FUNC, 0, { .func_arg = &opt_show_streams },
"show streams info" },
3036 {
"show_chapters",
OPT_TYPE_FUNC, 0, { .func_arg = &opt_show_chapters },
"show chapters info" },
3039 {
"show_program_version",
OPT_TYPE_FUNC, 0, { .func_arg = &opt_show_program_version },
"show ffprobe version" },
3040 {
"show_library_versions",
OPT_TYPE_FUNC, 0, { .func_arg = &opt_show_library_versions },
"show library versions" },
3042 {
"show_pixel_formats",
OPT_TYPE_FUNC, 0, { .func_arg = &opt_show_pixel_formats },
"show pixel format descriptions" },
3053 "read and decode the streams to fill missing information with heuristics" },
3062 for (
const int *
id = section->
children_ids; *
id != -1;
id++)
3068 #define SET_DO_SHOW(id, varname) do { \
3069 if (check_section_show_entries(SECTION_ID_##id)) \
3070 do_show_##varname = 1; \
3079 char *f_name =
NULL, *f_args =
NULL;
3080 int ret, input_ret,
i;
3111 SET_DO_SHOW(PIXEL_FORMAT_FLAGS, pixel_format_flags);
3112 SET_DO_SHOW(PIXEL_FORMAT_COMPONENTS, pixel_format_components);
3115 SET_DO_SHOW(STREAM_GROUP_DISPOSITION, stream_group_disposition);
3117 SET_DO_SHOW(STREAM_GROUP_COMPONENTS, stream_group_components);
3119 SET_DO_SHOW(STREAM_DISPOSITION, stream_disposition);
3120 SET_DO_SHOW(PROGRAM_STREAM_DISPOSITION, stream_disposition);
3121 SET_DO_SHOW(STREAM_GROUP_STREAM_DISPOSITION, stream_disposition);
3127 SET_DO_SHOW(STREAM_GROUP_TAGS, stream_group_tags);
3130 SET_DO_SHOW(STREAM_GROUP_STREAM_TAGS, stream_tags);
3135 "-bitexact and -show_program_version or -show_library_versions "
3136 "options are incompatible\n");
3150 "No name specified for the output format\n");
static void error(const char *err)
int main(int argc, char **argv)
@ SECTION_ID_STREAM_SIDE_DATA_LIST
static int opt_format(void *optctx, const char *opt, const char *arg)
static void clear_log(int need_lock)
static void mark_section_show_entries(SectionID section_id, int show_all_entries, AVDictionary *entries)
@ AV_PKT_DATA_DISPLAYMATRIX
This side data contains a 3x3 transformation matrix describing an affine transformation that needs to...
void av_packet_unref(AVPacket *pkt)
Wipe the packet.
void show_help_options(const OptionDef *options, const char *msg, int req_flags, int rej_flags)
Print help for all options matching specified flags.
enum AVPixelFormat av_pix_fmt_swap_endianness(enum AVPixelFormat pix_fmt)
Utility function to swap the endianness of a pixel format.
AVHDRPlusColorTransformParams params[3]
The color transform parameters for every processing window.
AVIAMFSubmixElement ** elements
Array of submix elements.
#define AV_LOG_WARNING
Something somehow does not look correct.
unsigned int nb_layers
Number of layers, or channel groups, in the Audio Element.
#define AV_BPRINT_SIZE_UNLIMITED
#define AV_TIMECODE_STR_SIZE
enum AVDOVINLQMethod nlq_method_idc
static int use_byte_value_binary_prefix
uint8_t * extradata
Extra binary data needed for initializing the decoder, codec-dependent.
int avtextwriter_create_stdout(AVTextWriterContext **pwctx)
AVPixelFormat
Pixel format.
AVStreamGroup ** stream_groups
A list of all stream groups in the file.
it s the only field you need to keep assuming you have a context There is some magic you don t need to care about around this just let it vf default minimum maximum flags name is the option name
int base_param_k2
indicates k2_0 in the base parameter, base_param_k2 <= 1: k2_0 = base_param_k2 base_param_k2 > 1: res...
int64_t id
Group type-specific group ID.
Undefined Behavior In the C some operations are like signed integer dereferencing freed accessing outside allocated Undefined Behavior must not occur in a C program
static AVCodecContext * dec_ctx
@ SECTION_ID_STREAM_SIDE_DATA
AVIAMFSubmixLayout ** layouts
Array of submix layouts.
AVDictionary * entries_to_show
static int do_show_frame_tags
@ AV_PKT_DATA_AMBIENT_VIEWING_ENVIRONMENT
Ambient viewing environment metadata, as defined by H.274.
static int mix(int c0, int c1)
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
static int opt_show_optional_fields(void *optctx, const char *opt, const char *arg)
static int read_intervals_nb
static int opt_output_file_o(void *optctx, const char *opt, const char *arg)
enum AVMediaType codec_type
General type of the encoded data.
struct AVStreamGroupTileGrid * tile_grid
enum AVSphericalProjection projection
Projection type.
AVColorTransferCharacteristic
Color Transfer Characteristic.
AVRational base_param_Delta
base_param_Delta in the base parameter, in multiples of 1.0/127.
int bit_depth_luma
Intended bit depth, or 0 for unknown/unspecified.
int base_enable_flag
This flag indicates that transfer the base paramter(for value of 1)
void av_bprint_init(AVBPrint *buf, unsigned size_init, unsigned size_max)
static void comp(unsigned char *dst, ptrdiff_t dst_stride, unsigned char *src, ptrdiff_t src_stride, int add)
#define print_val(k, v, u)
@ AV_PKT_DATA_FRAME_CROPPING
The number of pixels to discard from the top/bottom/left/right border of the decoded frame to obtain ...
@ SECTION_ID_PACKET_SIDE_DATA_LIST
unsigned int nb_chapters
Number of chapters in AVChapter array.
This struct describes the properties of an encoded stream.
AVRational percentile
The linearized maxRGB value at a specific percentile in the processing window in the scene.
const AVClass * priv_class
AVClass for the private context.
Ambient viewing environment metadata as defined by H.274.
enum AVColorSpace color_space
unsigned int default_w
Default weight value as defined in section 3.6 of IAMF.
struct AVStreamGroupTileGrid::@379 * offsets
An nb_tiles sized array of offsets in pixels from the topleft edge of the canvas, indicating where ea...
#define AVERROR_EOF
End of file.
uint8_t * data
The data buffer.
int horizontal_offset
Offset in pixels from the left edge of the canvas where the actual image meant for presentation start...
@ AV_FRAME_DATA_A53_CC
ATSC A53 Part 4 Closed Captions.
enum AVDiscard discard
Selects which packets can be discarded at will and do not need to be demuxed.
static av_always_inline int process_frame(AVTextFormatContext *tfc, InputFile *ifile, AVFrame *frame, const AVPacket *pkt, int *packet_new)
@ AV_PKT_DATA_MASTERING_DISPLAY_METADATA
Mastering display metadata (based on SMPTE-2086:2014).
const char * long_name
A more descriptive name for this codec.
#define AV_PKT_FLAG_DISCARD
Flag is used to discard packets which are required to maintain valid decoder state but are not requir...
int three_Spline_num
The number of three Spline.
@ AV_FRAME_DATA_DOVI_METADATA
Parsed Dolby Vision metadata, suitable for passing to a software implementation.
#define AV_TIME_BASE_Q
Internal time base represented as fractional value.
const char * name
Name of the codec described by this descriptor.
static int * selected_streams
@ SECTION_ID_PROGRAM_TAGS
uint8_t uv_points[2][10][2]
int av_strcasecmp(const char *a, const char *b)
Locale-independent case-insensitive compare.
@ AV_FRAME_DATA_FILM_GRAIN_PARAMS
Film grain parameters for a frame, described by AVFilmGrainParams.
int blending_mode_id
Specifies the blending mode used to blend the simulated film grain with the decoded images.
unsigned int nb_submixes
Number of submixes in the presentation.
const AVClass * avformat_get_class(void)
Get the AVClass for AVFormatContext.
int disposition
Stream group disposition - a combination of AV_DISPOSITION_* flags.
@ AV_FRAME_DATA_S12M_TIMECODE
Timecode which conforms to SMPTE ST 12-1.
void av_frame_free(AVFrame **frame)
Free the frame and any dynamically allocated objects in it, e.g.
unsigned MaxCLL
Max content light level (cd/m^2).
static int opt_input_file_i(void *optctx, const char *opt, const char *arg)
This structure describes decoded (raw) audio or video data.
AVStream ** streams
A list of all streams in the file.
This structure stores auxiliary information for decoding, presenting, or otherwise processing the cod...
@ SECTION_ID_STREAM_GROUP_COMPONENTS
int64_t mmr_coef[AV_DOVI_MAX_PIECES][3][7]
@ SECTION_ID_FRAME_SIDE_DATA_COMPONENT
enum AVIAMFParamDefinitionType type
Parameters type.
int parse_number(const char *context, const char *numstr, enum OptionType type, double min, double max, double *dst)
Parse a string and return its corresponding value as a double.
@ SECTION_ID_PIXEL_FORMAT_COMPONENTS
uint8_t num_cols_targeted_system_display_actual_peak_luminance
The number of columns in the targeted_system_display_actual_peak_luminance array.
void avtext_print_data_hash(AVTextFormatContext *tctx, const char *name, const uint8_t *data, int size)
int depth
Number of bits in the component.
void av_spherical_tile_bounds(const AVSphericalMapping *map, size_t width, size_t height, size_t *left, size_t *top, size_t *right, size_t *bottom)
Convert the bounding fields from an AVSphericalVideo from 0.32 fixed point to pixels.
AVRational ambient_light_x
Normalized x chromaticity coordinate of the environmental ambient light in the nominal viewing enviro...
AVRational enable_strength
3Spline_enable_Strength of three Spline.
@ SECTION_ID_PIXEL_FORMAT_FLAGS
AVRational avg_frame_rate
Average framerate.
int vertical_offset
Offset in pixels from the top edge of the canvas where the actual image meant for presentation starts...
const AVPixFmtDescriptor * av_pix_fmt_desc_next(const AVPixFmtDescriptor *prev)
Iterate over all pixel format descriptors known to libavutil.
AVDictionary * format_opts
enum AVColorSpace color_space
static int do_show_stream_tags
enum AVDOVIMappingMethod mapping_idc[AV_DOVI_MAX_PIECES]
@ SECTION_ID_PIXEL_FORMAT
static int * streams_with_closed_captions
#define AV_LOG_VERBOSE
Detailed information.
@ SECTION_ID_PROGRAM_STREAM
void show_help_children(const AVClass *class, int flags)
Show help for all options with given flags in class and all its children.
Parameters as defined in section 3.6.1 of IAMF.
int flags
A combination of AV_OPT_FLAG_*.
static void show_subtitle(AVTextFormatContext *tfc, AVSubtitle *sub, AVStream *stream, AVFormatContext *fmt_ctx)
@ AV_FRAME_DATA_DISPLAYMATRIX
This side data contains a 3x3 transformation matrix describing an affine transformation that needs to...
int av_get_bits_per_pixel(const AVPixFmtDescriptor *pixdesc)
Return the number of bits per pixel used by the pixel format described by pixdesc.
int64_t duration
Duration of this packet in AVStream->time_base units, 0 if unknown.
@ SECTION_ID_STREAM_GROUP_SUBCOMPONENT
uint32_t codec_tag
Additional information about the codec (corresponds to the AVI FOURCC).
@ AV_SPHERICAL_EQUIRECTANGULAR_TILE
Video represents a portion of a sphere mapped on a flat surface using equirectangular projection.
static int check_section_show_entries(int section_id)
uint32_t baseline
The distance between the centres of the lenses of the camera system, in micrometers.
static void print_section(SectionID id, int level)
AVRational default_mix_gain
Default mix gain value to apply when there are no AVIAMFParamDefinition with element_mix_config's par...
int th_mode
The mode of three Spline.
enum AVChannelOrder order
Channel order used in this layout.
AVColorPrimaries
Chromaticity coordinates of the source primaries.
int vertical
Offset in pixels from the top edge of the canvas where the tile should be placed.
@ SECTION_ID_STREAM_GROUP_BLOCKS
const char * avcodec_profile_name(enum AVCodecID codec_id, int profile)
Return a name for the specified profile, if available.
static int do_show_stream_group_components
int av_read_frame(AVFormatContext *s, AVPacket *pkt)
Return the next frame of a stream.
uint8_t mapping_color_space
static const char * output_filename
int nb_channels
Number of channels in this layout.
static void print_frame_side_data(AVTextFormatContext *tfc, const AVFrame *frame, const AVStream *stream)
int64_t avio_size(AVIOContext *s)
Get the filesize.
static void print_dispositions(AVTextFormatContext *tfc, uint32_t disposition, SectionID section_id)
static void ffprobe_show_pixel_formats(AVTextFormatContext *tfc)
#define AV_PKT_FLAG_KEY
The packet contains a keyframe.
enum AVColorTransferCharacteristic color_trc
static int do_show_format_tags
void av_packet_free(AVPacket **pkt)
Free the packet, if the packet is reference counted, it will be unreferenced first.
uint64_t seed
Seed to use for the synthesis process, if the codec allows for it.
const char * av_chroma_location_name(enum AVChromaLocation location)
static int do_show_frames
@ AV_FIELD_BT
Bottom coded first, top displayed first.
#define AV_FRAME_FLAG_TOP_FIELD_FIRST
A flag to mark frames where the top field is displayed first if the content is interlaced.
static void print_chroma_location(AVTextFormatContext *tfc, enum AVChromaLocation chroma_location)
int id
unique id identifying a section
static int ff_mutex_unlock(AVMutex *mutex)
Content light level needed by to transmit HDR over HDMI (CTA-861.3).
@ AV_PKT_DATA_DOVI_CONF
DOVI configuration ref: dolby-vision-bitstreams-within-the-iso-base-media-file-format-v2....
static int do_show_library_versions
AVRational horizontal_field_of_view
Horizontal field of view, in degrees.
enum AVColorPrimaries color_primaries
void avformat_close_input(AVFormatContext **s)
Close an opened input AVFormatContext.
static int match_section(const char *section_name, int show_all_entries, AVDictionary *entries)
static const char unit_hertz_str[]
#define AV_UTF8_FLAG_EXCLUDE_XML_INVALID_CONTROL_CODES
exclude control codes not accepted by XML
@ AV_FIELD_TT
Top coded_first, top displayed first.
#define SHOW_OPTIONAL_FIELDS_NEVER
static void print_color_space(AVTextFormatContext *tfc, enum AVColorSpace color_space)
int three_Spline_enable_flag
indicates 3Spline_enable_flag in the base parameter, This flag indicates that transfer three Spline o...
static int show_optional_fields
const char * av_color_space_name(enum AVColorSpace space)
@ SECTION_ID_STREAM_GROUP
static int opt_pretty(void *optctx, const char *opt, const char *arg)
const struct AVCodec * codec
static void ffprobe_show_program_version(AVTextFormatContext *tfc)
AVBufferRef * opaque_ref
AVBufferRef for free use by the API user.
static int show_format(AVTextFormatContext *tfc, InputFile *ifile)
AVStreamGroupTileGrid holds information on how to combine several independent images on a single canv...
int grain_scale_shift
Signals the down shift applied to the generated gaussian numbers during synthesis.
#define AV_TEXTFORMAT_SECTION_FLAG_NUMBERING_BY_TYPE
the items in this array section should be numbered individually by type
AVRational th_delta1
3Spline_TH_Delta1 of three Spline.
if it could not because there are no more frames
Submix layout as defined in section 3.7.6 of IAMF.
const char * avformat_stream_group_name(enum AVStreamGroupParamsType type)
uint8_t dv_md_compression
int coded_width
Width of the canvas.
int refs
number of reference frames
#define AVERROR_OPTION_NOT_FOUND
Option not found.
uint8_t num_windows
The number of processing windows.
#define AV_BPRINT_SIZE_AUTOMATIC
static double val(void *priv, double ch)
void show_help_default(const char *opt, const char *arg)
Per-fftool specific help handler.
int coded_height
Width of the canvas.
@ SECTION_ID_FRAME_SIDE_DATA_PIECE
#define us(width, name, range_min, range_max, subs,...)
int limit_output_range
Signals to clip to limited color levels after film grain application.
int64_t duration
Decoding: duration of the stream, in stream time base.
AVRational ambient_illuminance
Environmental illuminance of the ambient viewing environment in lux.
static const char * input_filename
static void print_private_data(AVTextFormatContext *tfc, void *priv_data)
#define print_duration_ts(k, v)
int num_y_points
Number of points, and the scale and value for each point of the piecewise linear scaling function for...
enum AVIAMFAudioElementType audio_element_type
Audio element type as defined in section 3.6 of IAMF.
int av_reduce(int *dst_num, int *dst_den, int64_t num, int64_t den, int64_t max)
Reduce a fraction.
static int * streams_with_film_grain
Recon Gain Info Parameter Data as defined in section 3.8.3 of IAMF.
int avformat_network_init(void)
Do global initialization of network libraries.
@ AV_FIELD_TB
Top coded first, bottom displayed first.
static int do_read_packets
This structure describes how to handle film grain synthesis for AOM codecs.
const char * av_stereo3d_view_name(unsigned int view)
Provide a human-readable name of a given stereo3d view.
static int opt_read_intervals(void *optctx, const char *opt, const char *arg)
uint8_t intensity_interval_upper_bound[3][256]
Specifies the upper bound of each intensity interval for which the set of model values applies for th...
void avsubtitle_free(AVSubtitle *sub)
Free all allocated data in the given subtitle struct.
@ AV_PKT_DATA_WEBVTT_SETTINGS
The optional settings (rendering instructions) that immediately follow the timestamp specifier of a W...
@ AV_IAMF_PARAMETER_DEFINITION_RECON_GAIN
Subblocks are of struct type AVIAMFReconGain.
static void close_input_file(InputFile *ifile)
AVFrame * av_frame_alloc(void)
Allocate an AVFrame and set its fields to default values.
static int parse_read_intervals(const char *intervals_spec)
int64_t bit_rate
Total stream bitrate in bit/s, 0 if not available.
int av_get_bits_per_sample(enum AVCodecID codec_id)
Return codec bits per sample.
enum AVColorTransferCharacteristic color_trc
int avcodec_decode_subtitle2(AVCodecContext *avctx, AVSubtitle *sub, int *got_sub_ptr, const AVPacket *avpkt)
Decode a subtitle message.
static void show_error(AVTextFormatContext *tfc, int err)
AVDictionary * annotations
A dictionary of strings describing the submix in different languages.
static void show_frame(AVTextFormatContext *tfc, AVFrame *frame, AVStream *stream, AVFormatContext *fmt_ctx)
#define AV_LOG_ERROR
Something went wrong and cannot losslessly be recovered.
AVDictionary * metadata
Metadata that applies to the whole file.
#define FF_ARRAY_ELEMS(a)
#define AV_PKT_FLAG_CORRUPT
The packet content is corrupted.
void av_dump_format(AVFormatContext *ic, int index, const char *url, int is_output)
Print detailed information about the input or output format, such as duration, bitrate,...
#define AV_PROFILE_UNKNOWN
static uint64_t * nb_streams_frames
int width
Intended display resolution.
#define AV_FRAME_FLAG_KEY
A flag to mark frames that are keyframes.
int avformat_open_input(AVFormatContext **ps, const char *url, const AVInputFormat *fmt, AVDictionary **options)
Open an input stream and read the header.
AVDictionaryEntry * av_dict_get(const AVDictionary *m, const char *key, const AVDictionaryEntry *prev, int flags)
Get a dictionary entry with matching key.
int av_channel_layout_describe(const AVChannelLayout *channel_layout, char *buf, size_t buf_size)
Get a human-readable string describing the channel layout properties.
@ SECTION_ID_STREAM_GROUP_STREAMS
void av_log_format_line(void *ptr, int level, const char *fmt, va_list vl, char *line, int line_size, int *print_prefix)
Format a line of log the same way as the default callback.
AVCodecContext * avcodec_alloc_context3(const AVCodec *codec)
Allocate an AVCodecContext and set its fields to default values.
const char * av_packet_side_data_name(enum AVPacketSideDataType type)
static int do_count_frames
int64_t end
chapter start/end time in time_base units
int64_t end
start, end in second/AV_TIME_BASE units
This struct describes the properties of a single codec described by an AVCodecID.
static void log_read_interval(const ReadInterval *interval, void *log_ctx, int log_level)
uint8_t mmr_order[AV_DOVI_MAX_PIECES]
static void show_packet(AVTextFormatContext *tfc, InputFile *ifile, AVPacket *pkt, int packet_idx)
static const char unit_bit_per_second_str[]
void * av_realloc_array(void *ptr, size_t nmemb, size_t size)
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 format(the sample packing is implied by the sample format) and sample rate. The lists are not just lists
const struct AVInputFormat * iformat
The input container format.
static enum AVPixelFormat pix_fmt
static int show_program(AVTextFormatContext *tfc, InputFile *ifile, AVProgram *program)
static av_always_inline void * av_iamf_param_definition_get_subblock(const AVIAMFParamDefinition *par, unsigned int idx)
Get the subblock at the specified.
@ AV_CHANNEL_ORDER_UNSPEC
Only the channel count is specified, without any further information about the channel order.
int avtextwriter_context_close(AVTextWriterContext **pwctx)
char * av_strtok(char *s, const char *delim, char **saveptr)
Split the string into several tokens which can be accessed by successive calls to av_strtok().
AVRational targeted_system_display_maximum_luminance
The nominal maximum display luminance of the targeted system display, in units of 0....
static const char * get_frame_side_data_type(const void *data)
#define print_fmt(k, f,...)
int attribute_align_arg avcodec_receive_frame(AVCodecContext *avctx, AVFrame *frame)
Return decoded output data from a decoder or encoder (when the AV_CODEC_FLAG_RECON_FRAME flag is used...
#define av_assert0(cond)
assert() equivalent, that is always enabled.
static void print_primaries(AVTextFormatContext *tfc, enum AVColorPrimaries color_primaries)
enum AVIAMFHeadphonesMode headphones_rendering_mode
A value that indicates whether the referenced channel-based Audio Element shall be rendered to stereo...
static int do_show_stream_group_tags
unsigned int index
Group index in AVFormatContext.
uint8_t mastering_display_actual_peak_luminance_flag
This flag shall be equal to 0 in bitstreams conforming to this version of this Specification.
int bits_per_raw_sample
Bits per sample/pixel of internal libavcodec pixel/sample format.
#define AV_LOG_DEBUG
Stuff which is only useful for libav* developers.
AVRational av_guess_sample_aspect_ratio(AVFormatContext *format, AVStream *stream, AVFrame *frame)
Guess the sample aspect ratio of a frame, based on both the stream and the frame aspect ratio.
static const char * get_raw_string_type(const void *data)
AVChannelLayout ch_layout
@ AV_PKT_DATA_STEREO3D
This side data should be associated with a video stream and contains Stereoscopic 3D information in f...
int64_t av_rescale_q(int64_t a, AVRational bq, AVRational cq)
Rescale a 64-bit integer by 2 rational numbers.
int64_t pts
Same as packet pts, in AV_TIME_BASE.
static enum AVPixelFormat pixel_formats[]
static int do_show_chapter_tags
uint8_t log2_chroma_w
Amount to shift the luma width right to find the chroma width.
static int do_show_pixel_format_components
int64_t rc_max_rate
maximum bitrate
@ SECTION_ID_STREAM_GROUP_SUBPIECE
const char * av_get_sample_fmt_name(enum AVSampleFormat sample_fmt)
Return the name of sample_fmt, or NULL if sample_fmt is not recognized.
int16_t comp_model_value[3][256][6]
Specifies the model values for the component for each intensity interval.
int nb_coded_side_data
Amount of entries in coded_side_data.
#define AV_TEXTFORMAT_SECTION_FLAG_HAS_TYPE
For these sections the element_name field is mandatory.
static int do_show_chapters
This structure describes the bitrate properties of an encoded bitstream.
@ AV_FILM_GRAIN_PARAMS_NONE
int probe_score
format probing score.
uint8_t poly_order[AV_DOVI_MAX_PIECES]
@ AV_FRAME_DATA_DYNAMIC_HDR_VIVID
HDR Vivid dynamic metadata associated with a video frame.
static int find_stream_info
int flags
Additional information about the frame packing.
static int do_show_pixel_format_flags
uint8_t percentage
The percentage value corresponding to a specific percentile linearized RGB value in the processing wi...
int model_id
Specifies the film grain simulation mode.
static int open_input_file(InputFile *ifile, const char *filename, const char *print_filename)
uint64_t linear_deadzone_threshold
const char * unique_name
unique section name, in case the name is ambiguous
static void print_tile_grid_params(AVTextFormatContext *tfc, const AVStreamGroup *stg, const AVStreamGroupTileGrid *tile_grid)
const char * av_color_range_name(enum AVColorRange range)
@ AVDISCARD_ALL
discard all
void init_dynload(void)
Initialize dynamic library loading.
static ReadInterval * read_intervals
Demixing Info Parameter Data as defined in section 3.8.2 of IAMF.
AVCodecParameters * codecpar
Codec parameters associated with this stream.
@ SECTION_ID_STREAM_GROUPS
int avcodec_parameters_to_context(AVCodecContext *codec, const struct AVCodecParameters *par)
Fill the codec context based on the values from the supplied codec parameters.
uint8_t application_version
Application version in the application defining document in ST-2094 suite.
Describe the class of an AVClass context structure.
const AVClass * avcodec_get_class(void)
Get the AVClass for AVCodecContext.
AVRational time_base
This is the fundamental unit of time (in seconds) in terms of which frame timestamps are represented.
#define SET_DO_SHOW(id, varname)
union AVFilmGrainParams::@453 codec
Additional fields may be added both here and in any structure included.
const char program_name[]
program name, defined by the program for show_version().
uint8_t dv_bl_signal_compatibility_id
#define AV_DICT_MULTIKEY
Allow to store several equal keys in the dictionary.
uint8_t nb_components
The number of components each pixel has, (1-4)
static int show_stream_groups(AVTextFormatContext *tfc, InputFile *ifile)
static void ERROR(const char *str)
static int do_read_frames
@ SECTION_ID_LIBRARY_VERSION
void avcodec_free_context(AVCodecContext **avctx)
Free the codec context and everything associated with it and write NULL to the provided pointer.
Rational number (pair of numerator and denominator).
unsigned int duration
The accumulated duration of all blocks in this parameter definition, in units of 1 / parameter_rate.
#define SHOW_OPTIONAL_FIELDS_ALWAYS
enum AVPacketSideDataType type
int filter_codec_opts(const AVDictionary *opts, enum AVCodecID codec_id, AVFormatContext *s, AVStream *st, const AVCodec *codec, AVDictionary **dst, AVDictionary **opts_used)
Filter out options for given codec.
AVRational horizontal_disparity_adjustment
Relative shift of the left and right images, which changes the zero parallax plane.
AVIOContext * pb
I/O context.
void av_log_set_flags(int arg)
A layer defining a Channel Layout in the Audio Element.
@ SECTION_ID_STREAM_GROUP_PIECE
@ AV_FRAME_DATA_ICC_PROFILE
The data contains an ICC profile as an opaque octet buffer following the format described by ISO 1507...
This struct represents dynamic metadata for color volume transform - CUVA 005.1:2021 standard.
@ AV_FRAME_DATA_MASTERING_DISPLAY_METADATA
Mastering display metadata associated with a video frame.
const char * av_color_primaries_name(enum AVColorPrimaries primaries)
static int show_stream(AVTextFormatContext *tfc, AVFormatContext *fmt_ctx, int stream_idx, InputStream *ist, int container)
int av_parse_time(int64_t *timeval, const char *timestr, int duration)
Parse timestr and return in *time a corresponding number of microseconds.
#define AV_DICT_DONT_OVERWRITE
Don't overwrite existing entries.
int attribute_align_arg avcodec_open2(AVCodecContext *avctx, const AVCodec *codec, AVDictionary **options)
Initialize the AVCodecContext to use the given AVCodec.
const AVTextFormatter * formatter
the AVTextFormatter of which this is an instance
AVChannelLayout ch_layout
Audio only.
int subsampling_x
Intended subsampling ratio, or 0 for luma-only streams.
int64_t mmr_constant[AV_DOVI_MAX_PIECES]
static int do_show_programs
const AVTextFormatter * avtext_get_formatter_by_name(const char *name)
@ AV_FRAME_DATA_AFD
Active Format Description data consisting of a single byte as specified in ETSI TS 101 154 using AVAc...
uint64_t flags
Combination of AV_PIX_FMT_FLAG_...
static const OptionDef real_options[]
@ AV_PKT_DATA_CONTENT_LIGHT_LEVEL
Content light level (based on CTA-861.3).
@ AVCOL_RANGE_UNSPECIFIED
Undefined Behavior In the C some operations are like signed integer dereferencing freed accessing outside allocated Undefined Behavior must not occur in a C it is not safe even if the output of undefined operations is unused The unsafety may seem nit picking but Optimizing compilers have in fact optimized code on the assumption that no undefined Behavior occurs Optimizing code based on wrong assumptions can and has in some cases lead to effects beyond the output of computations The signed integer overflow problem in speed critical code Code which is highly optimized and works with signed integers sometimes has the problem that often the output of the computation does not c
static const char unit_byte_str[]
const int program_birth_year
program birth year, defined by the program for show_banner()
int sample_rate
Audio only.
unsigned int output_gain_flags
Output gain channel flags as defined in section 3.6.2 of IAMF.
static void print_color_trc(AVTextFormatContext *tfc, enum AVColorTransferCharacteristic color_trc)
static void print_iamf_audio_element_params(AVTextFormatContext *tfc, const AVStreamGroup *stg, const AVIAMFAudioElement *audio_element)
int64_t nb_frames
number of frames in this stream if known or 0
unsigned int audio_element_id
The id of the Audio Element this submix element references.
const AVCodec * avcodec_find_decoder(enum AVCodecID id)
Find a registered decoder with a matching codec ID.
#define print_duration_time(k, v, tb)
static void print_iamf_param_definition(AVTextFormatContext *tfc, const char *name, const AVIAMFParamDefinition *param, SectionID section_id)
@ AV_PKT_DATA_SPHERICAL
This side data should be associated with a video stream and corresponds to the AVSphericalMapping str...
int extradata_size
Size of the extradata content in bytes.
Submix layout as defined in section 3.7 of IAMF.
static int show_value_unit
static void print_dynamic_hdr_vivid(AVTextFormatContext *tfc, const AVDynamicHDRVivid *metadata)
unsigned int nb_streams
Number of elements in AVFormatContext.streams.
enum AVStereo3DPrimaryEye primary_eye
Which eye is the primary eye when rendering in 2D.
static const AVColorPrimariesDesc color_primaries[AVCOL_PRI_NB]
static const char * print_input_filename
int num_uv_points[2]
If chroma_scaling_from_luma is set to 0, signals the chroma scaling function parameters.
unsigned int subblock_duration
Duration for the given subblock, in units of 1 / parameter_rate.
AVDictionary * codec_opts
int avformat_find_stream_info(AVFormatContext *ic, AVDictionary **options)
Read packets of a media file to get stream information.
static AVFormatContext * fmt_ctx
const char * av_spherical_projection_name(enum AVSphericalProjection projection)
Provide a human-readable name of a given AVSphericalProjection.
@ SECTION_ID_STREAM_GROUP_PIECES
@ AV_SPHERICAL_CUBEMAP
Video frame is split into 6 faces of a cube, and arranged on a 3x2 layout.
#define av_ts2timestr(ts, tb)
Convenience macro, the return value should be used only directly in function arguments but never stan...
unsigned int subblock_duration
Duration for the given subblock, in units of 1 / parameter_rate.
void av_log_set_callback(void(*callback)(void *, int, const char *, va_list))
Set the logging callback.
uint8_t num_rows_mastering_display_actual_peak_luminance
The number of rows in the mastering_display_actual_peak_luminance array.
static int do_show_packet_tags
int avformat_match_stream_specifier(AVFormatContext *s, AVStream *st, const char *spec)
Check if the stream st contained in s is matched by the stream specifier spec.
@ SECTION_ID_STREAM_DISPOSITION
AVFormatContext * avformat_alloc_context(void)
Allocate an AVFormatContext.
@ AV_FRAME_DATA_AMBIENT_VIEWING_ENVIRONMENT
Ambient viewing environment metadata, as defined by H.274.
int av_bprint_finalize(AVBPrint *buf, char **ret_str)
Finalize a print buffer.
#define PRINT_PIX_FMT_FLAG(flagname, name)
#define AV_PIX_FMT_FLAG_RGB
The pixel format contains RGB-like data (as opposed to YUV/grayscale).
AVClassCategory category
Category used for visualization (like color).
int component_model_present[3]
Indicates if the modelling of film grain for a given component is present.
static int show_programs(AVTextFormatContext *tfc, InputFile *ifile)
@ AV_PKT_DATA_DYNAMIC_HDR10_PLUS
HDR10+ dynamic metadata associated with a video frame.
uint8_t num_windows
The number of processing windows.
#define av_err2str(errnum)
Convenience macro, the return value should be used only directly in function arguments but never stan...
const char * av_stereo3d_primary_eye_name(unsigned int eye)
Provide a human-readable name of a given stereo3d primary eye.
char * url
input or output URL.
void avtext_print_section_footer(AVTextFormatContext *tctx)
AVRational pkt_timebase
Timebase in which pkt_dts/pts and AVPacket.dts/pts are expressed.
#define AV_MUTEX_INITIALIZER
#define REALLOCZ_ARRAY_STREAM(ptr, cur_n, new_n)
@ SECTION_ID_STREAM_GROUP_COMPONENT
static void print_iamf_submix_params(AVTextFormatContext *tfc, const AVIAMFSubmix *submix)
void uninit_opts(void)
Uninitialize the cmdutils option system, in particular free the *_opts contexts and their contents.
AVClassCategory(* get_category)(void *ctx)
Callback to return the instance category.
int avtext_context_open(AVTextFormatContext **ptctx, const AVTextFormatter *formatter, AVTextWriterContext *writer_context, const char *args, const struct AVTextFormatSection *sections, int nb_sections, int show_value_unit, int use_value_prefix, int use_byte_value_binary_prefix, int use_value_sexagesimal_format, int show_optional_fields, char *show_data_hash)
@ SECTION_ID_CHAPTER_TAGS
static int show_private_data
int avformat_seek_file(AVFormatContext *s, int stream_index, int64_t min_ts, int64_t ts, int64_t max_ts, int flags)
Seek to timestamp ts.
#define AV_NOPTS_VALUE
Undefined timestamp value.
AVRational mastering_display_actual_peak_luminance[25][25]
The normalized actual peak luminance of the mastering display used for mastering the image essence.
struct AVIAMFAudioElement * iamf_audio_element
static int opt_show_versions(void *optctx, const char *opt, const char *arg)
This structure describes how to handle film grain synthesis in video for specific codecs.
static int opt_input_file(void *optctx, const char *arg)
int profile
Codec-specific bitstream restrictions that the stream conforms to.
@ AVCHROMA_LOC_UNSPECIFIED
printf("static const uint8_t my_array[100] = {\n")
@ SECTION_ID_PACKETS_AND_FRAMES
static int use_value_prefix
int64_t min_bitrate
Minimum bitrate of the stream, in bits per second.
uint32_t end_display_time
int av_packet_unpack_dictionary(const uint8_t *data, size_t size, AVDictionary **dict)
Unpack a dictionary from side_data.
void show_banner(int argc, char **argv, const OptionDef *options)
Print the program banner to stderr.
int base_param_k1
indicates k1_0 in the base parameter, base_param_k1 <= 1: k1_0 = base_param_k1 base_param_k1 > 1: res...
int64_t dts
Decompression timestamp in AVStream->time_base units; the time at which the packet is decompressed.
uint32_t padding
Number of pixels to pad from the edge of each cube face.
unsigned int constant_subblock_duration
The duration of every subblock in the case where all subblocks, with the optional exception of the la...
Information on how to combine one or more audio streams, as defined in section 3.6 of IAMF.
int flags
a combination or AV_TEXTFORMAT__FLAG_*
int64_t poly_coef[AV_DOVI_MAX_PIECES][3]
@ SECTION_ID_FRAME_SIDE_DATA_LIST
static void print_iamf_mix_presentation_params(AVTextFormatContext *tfc, const AVStreamGroup *stg, const AVIAMFMixPresentation *mix_presentation)
unsigned int nb_tiles
Amount of tiles in the grid.
@ SECTION_ID_STREAM_GROUP_STREAM_TAGS
static int ff_mutex_lock(AVMutex *mutex)
Mix Gain Parameter Data as defined in section 3.8.1 of IAMF.
int flags
A combination of AV_PKT_FLAG values.
AVPacket * av_packet_alloc(void)
Allocate an AVPacket and set its fields to default values.
void av_dict_free(AVDictionary **pm)
Free all the memory allocated for an AVDictionary struct and all keys and values.
static int do_show_format
int64_t avg_bitrate
Average bitrate of the stream, in bits per second.
AVFilmGrainH274Params h274
#define va_copy(dst, src)
#define AV_STEREO3D_FLAG_INVERT
Inverted views, Right/Bottom represents the left view.
AVStream ** streams
A list of streams in the group.
int8_t ar_coeffs_y[24]
Luma auto-regression coefficients.
static void print_color_range(AVTextFormatContext *tfc, enum AVColorRange color_range)
struct AVIAMFMixPresentation * iamf_mix_presentation
static int do_show_stream_disposition
static int do_show_stream_groups
#define AV_LOG_INFO
Standard information.
union AVStreamGroup::@380 params
Group type-specific parameters.
@ AV_FRAME_DATA_VIEW_ID
This side data must be associated with a video frame.
uint8_t num_rows_targeted_system_display_actual_peak_luminance
The number of rows in the targeted system_display_actual_peak_luminance array.
AVChromaLocation
Location of chroma samples.
static int do_count_packets
static const AVInputFormat * iformat
#define SHOW_OPTIONAL_FIELDS_AUTO
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 layout
@ AV_PKT_DATA_STRINGS_METADATA
A list of zero terminated key/value strings.
char av_get_picture_type_char(enum AVPictureType pict_type)
Return a single letter to describe the given picture type pict_type.
uint64_t vbv_delay
The delay between the time the packet this structure is associated with is received and the time when...
@ SECTION_ID_PROGRAM_STREAM_TAGS
int avcodec_send_packet(AVCodecContext *avctx, const AVPacket *avpkt)
Supply raw packet data as input to a decoder.
const AVOption * av_opt_next(const void *obj, const AVOption *last)
Iterate over all AVOptions belonging to obj.
@ AV_PKT_DATA_CPB_PROPERTIES
This side data corresponds to the AVCPBProperties struct.
@ AV_FRAME_DATA_CONTENT_LIGHT_LEVEL
Content light level (based on CTA-861.3).
static void print_ambient_viewing_environment(AVTextFormatContext *tfc, const AVAmbientViewingEnvironment *env)
int width
Width of the final image for presentation.
int32_t roll
Rotation around the forward vector [-180, 180].
enum AVColorPrimaries color_primaries
#define i(width, name, range_min, range_max)
int64_t pts
Presentation timestamp in AVStream->time_base units; the time at which the decompressed packet will b...
char * av_timecode_make_smpte_tc_string2(char *buf, AVRational rate, uint32_t tcsmpte, int prevent_df, int skip_field)
Get the timecode string from the SMPTE timecode format.
unsigned int parameter_id
Identifier for the paremeter substream.
static void print_film_grain_params(AVTextFormatContext *tfc, const AVFilmGrainParams *fgp)
int64_t id
unique ID to identify the chapter
int setup_find_stream_info_opts(AVFormatContext *s, AVDictionary *local_codec_opts, AVDictionary ***dst)
Setup AVCodecContext options for avformat_find_stream_info().
uint8_t * av_packet_get_side_data(const AVPacket *pkt, enum AVPacketSideDataType type, size_t *size)
Get side information from packet.
static void show_usage(void)
This structure describes how to handle film grain synthesis for codecs using the ITU-T H....
@ SECTION_ID_STREAM_GROUP_STREAM
AVRational targeted_system_display_maximum_luminance
The nominal maximum display luminance of the targeted system display, in multiples of 1....
#define AV_TEXTFORMAT_SECTION_FLAG_HAS_VARIABLE_FIELDS
the section may contain a variable number of fields with variable keys.
uint16_t num_intensity_intervals[3]
Specifies the number of intensity intervals for which a specific set of model values has been estimat...
#define av_malloc_array(a, b)
static int read_interval_packets(AVTextFormatContext *tfc, InputFile *ifile, const ReadInterval *interval, int64_t *cur_ts)
AVColorSpace
YUV colorspace type.
@ AV_FIELD_BB
Bottom coded first, bottom displayed first.
Information on how to render and mix one or more AVIAMFAudioElement to generate the final audio outpu...
int64_t max_bitrate
Maximum bitrate of the stream, in bits per second.
uint32_t num_y_partitions
int parse_options(void *optctx, int argc, char **argv, const OptionDef *options, int(*parse_arg_function)(void *, const char *))
static int opt_show_entries(void *optctx, const char *opt, const char *arg)
@ SECTION_ID_FRAME_SIDE_DATA
static void print_pixel_format(AVTextFormatContext *tfc, enum AVPixelFormat pix_fmt)
@ SECTION_ID_FRAME_SIDE_DATA_COMPONENT_LIST
static int opt_sections(void *optctx, const char *opt, const char *arg)
const AVTextFormatter avtextformatter_xml
int scaling_shift
Specifies the shift applied to the chroma components.
@ AV_PKT_DATA_MPEGTS_STREAM_ID
MPEGTS stream ID as uint8_t, this is required to pass the stream ID information from the demuxer to t...
New fields can be added to the end with minor version bumps.
static void print_dynamic_hdr10_plus(AVTextFormatContext *tfc, const AVDynamicHDRPlus *metadata)
enum AVColorRange color_range
Video only.
unsigned int string_validation_utf8_flags
static int do_show_stream_group_disposition
Coefficients of the non-linear inverse quantization.
int base_param_Delta_enable_mode
This flag indicates that delta mode of base paramter(for value of 1)
AVPacketSideData * coded_side_data
Additional data associated with the entire stream.
@ SECTION_ID_PACKET_SIDE_DATA
static int use_value_sexagesimal_format
@ SECTION_ID_LIBRARY_VERSIONS
#define AV_FRAME_FLAG_INTERLACED
A flag to mark frames whose content is interlaced.
void * av_calloc(size_t nmemb, size_t size)
uint8_t intensity_interval_lower_bound[3][256]
Specifies the lower ounds of each intensity interval for whichthe set of model values applies for the...
@ SECTION_ID_FRAME_SIDE_DATA_TIMECODE
unsigned int nb_subblocks
Number of subblocks in the array.
@ AV_IAMF_AUDIO_ELEMENT_TYPE_SCENE
enum AVFieldOrder field_order
Video only.
@ SECTION_ID_PROGRAM_VERSION
This struct represents dynamic metadata for color volume transform - application 4 of SMPTE 2094-40:2...
AVDOVIReshapingCurve curves[3]
int horizontal
Offset in pixels from the left edge of the canvas where the tile should be placed.
#define AV_TEXTFORMAT_FLAG_SUPPORTS_MIXED_ARRAY_CONTENT
void parse_loglevel(int argc, char **argv, const OptionDef *options)
Find the '-loglevel' option in the command line args and apply it.
uint64_t linear_deadzone_slope
unsigned int nb_layouts
Number of layouts in the submix.
int disposition
Stream disposition - a combination of AV_DISPOSITION_* flags.
AVBufferRef * av_buffer_allocz(size_t size)
Same as av_buffer_alloc(), except the returned buffer will be initialized to zero.
static int show_log(AVTextFormatContext *tfc, int section_ids, int section_id, int log_level)
static struct AVTextFormatSection sections[]
int id
Format-specific stream ID.
@ AV_FRAME_DATA_GOP_TIMECODE
The GOP timecode in 25 bit timecode format.
static LogBuffer * log_buffer
void avcodec_flush_buffers(AVCodecContext *avctx)
Reset the internal codec state / flush internal buffers.
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 frame
int64_t buffer_size
The size of the buffer to which the ratecontrol is applied, in bits.
int32_t pitch
Rotation around the right vector [-90, 90].
AVDictionary * metadata
Metadata that applies to the whole group.
void log_callback_help(void *ptr, int level, const char *fmt, va_list vl)
Trivial log callback.
enum AVStereo3DType type
How views are packed within the video.
#define AV_TEXTFORMAT_SECTION_FLAG_IS_WRAPPER
the section only contains other sections, but has no data at its own level
static int parse_read_interval(const char *interval_spec, ReadInterval *interval)
Parse interval specification, according to the format: INTERVAL ::= [START|+START_OFFSET][%[END|+END_...
HDR Vivid three spline params.
void av_bprintf(AVBPrint *buf, const char *fmt,...)
AVPacketSideData * side_data
Additional packet data that can be provided by the container.
#define AV_LOG_SKIP_REPEATED
Skip repeated messages, this requires the user app to use av_log() instead of (f)printf as the 2 woul...
#define CMDUTILS_COMMON_OPTIONS
#define AV_DICT_MATCH_CASE
Only get an entry with exact-case key match.
uint64_t_TMPL AV_WL64 unsigned int_TMPL AV_RL32
static int log_buffer_size
enum AVChromaLocation chroma_location
@ AV_PKT_DATA_WEBVTT_IDENTIFIER
The optional first identifier line of a WebVTT cue.
int avformat_network_deinit(void)
Undo the initialization done by avformat_network_init.
AVRational base_param_m_n
base_param_m_n in the base parameter, in multiples of 1.0/10.
const char * av_get_media_type_string(enum AVMediaType media_type)
Return a string describing the media_type enum, NULL if media_type is unknown.
@ AV_FRAME_DATA_DYNAMIC_HDR_PLUS
HDR dynamic metadata associated with a video frame.
AVRational base_param_m_a
base_param_m_a in the base parameter, in multiples of 1.0/1023.
main external API structure.
int index
stream index in AVFormatContext
static int show_tags(AVTextFormatContext *tfc, AVDictionary *tags, int section_id)
char * av_timecode_make_mpeg_tc_string(char *buf, uint32_t tc25bit)
Get the timecode string from the 25-bit timecode format (MPEG GOP format).
static int show_streams(AVTextFormatContext *tfc, InputFile *ifile)
int ar_coeff_lag
Specifies the auto-regression lag.
uint8_t mapping_chroma_format_idc
unsigned int nb_streams
Number of elements in AVStreamGroup.streams.
static const char * get_packet_side_data_type(const void *data)
@ AV_FILM_GRAIN_PARAMS_H274
The union is valid when interpreted as AVFilmGrainH274Params (codec.h274)
void avtext_print_integers(AVTextFormatContext *tctx, const char *name, uint8_t *data, int size, const char *format, int columns, int bytes, int offset_add)
AVRational default_mix_gain
Default mix gain value to apply when there are no AVIAMFParamDefinition with output_mix_config's para...
static uint64_t * nb_streams_packets
uint8_t targeted_system_display_actual_peak_luminance_flag
This flag shall be equal to 0 in bit streams conforming to this version of this Specification.
const int children_ids[SECTION_MAX_NB_CHILDREN+1]
list of children section IDS, terminated by -1
static int do_show_program_version
int uv_offset[2]
Offset used for component scaling function.
#define DEFINE_OPT_SHOW_SECTION(section, target_section_id)
static int probe_file(AVTextFormatContext *tfc, const char *filename, const char *print_filename)
char * av_get_token(const char **buf, const char *term)
Unescape the given string until a non escaped terminating char, and return the token corresponding to...
AVRational th_enable
3Spline_TH_enable of three Spline.
@ SECTION_ID_PIXEL_FORMATS
@ SECTION_ID_STREAM_GROUP_BLOCK
#define print_str_validate(k, v)
enum AVFrameSideDataType type
static char * output_format
int log2_scale_factor
Specifies a scale factor used in the film grain characterization equations.
int uv_mult[2]
Specifies the luma/chroma multipliers for the index to the component scaling function.
@ AV_PKT_DATA_AFD
Active Format Description data consisting of a single byte as specified in ETSI TS 101 154 using AVAc...
AVComponentDescriptor comp[4]
Parameters that describe how pixels are packed.
AVRational r_frame_rate
Real base framerate of the stream.
@ AV_PKT_DATA_SKIP_SAMPLES
Recommmends skipping the specified number of samples.
static const OptionDef * options
static int do_show_pixel_formats
@ AV_CODEC_ID_PROBE
codec_id is not known (like AV_CODEC_ID_NONE) but lavf should attempt to identify it
@ AV_IAMF_PARAMETER_DEFINITION_MIX_GAIN
Subblocks are of struct type AVIAMFMixGain.
const AVInputFormat * av_find_input_format(const char *short_name)
Find AVInputFormat based on the short name of the input format.
int64_t duration
Duration of the stream, in AV_TIME_BASE fractional seconds.
Color tone mapping parameters at a processing window in a dynamic metadata for CUVA 005....
uint8_t num_model_values[3]
Specifies the number of model values present for each intensity interval in which the film grain has ...
enum AVColorRange color_range
Intended video signal characteristics.
static void ffprobe_show_library_versions(AVTextFormatContext *tfc)
static int opt_print_filename(void *optctx, const char *opt, const char *arg)
unsigned int nb_elements
Number of elements in the submix.
static const char * get_stream_group_type(const void *data)
int overlap_flag
Signals whether to overlap film grain blocks.
int coded_width
Bitstream width / height, may be different from width/height e.g.
@ AV_PKT_DATA_AUDIO_SERVICE_TYPE
This side data should be associated with an audio stream and corresponds to enum AVAudioServiceType.
char * av_strdup(const char *s)
Duplicate a string.
#define AV_OPT_FLAG_DECODING_PARAM
A generic parameter which can be set by the user for demuxing or decoding.
static int do_show_program_tags
void av_log_default_callback(void *ptr, int level, const char *fmt, va_list vl)
Default logging callback.
AVIAMFParamDefinition * demixing_info
Demixing information used to reconstruct a scalable channel audio representation.
unsigned int dmixp_mode
Pre-defined combination of demixing parameters.
AVIAMFParamDefinition * output_mix_config
Information required for post-processing the mixed audio signal to generate the audio signal for play...
enum AVStreamGroupParamsType type
Group type.
static void print_stream_group_params(AVTextFormatContext *tfc, AVStreamGroup *stg)
enum AVIAMFAmbisonicsMode ambisonics_mode
Ambisonics mode as defined in section 3.6.3 of IAMF.
int video_delay
Video only.
Structure to hold side data for an AVFrame.
AVHDRVividColorTransformParams params[3]
The color transform parameters for every processing window.
Descriptor that unambiguously describes how the bits of a pixel are stored in the up to 4 data planes...
@ SECTION_ID_STREAM_GROUP_TAGS
AVDictionary * annotations
A dictionary of strings describing the mix in different languages.
@ SECTION_ID_FRAME_SIDE_DATA_TIMECODE_LIST
unsigned int nb_stream_groups
Number of elements in AVFormatContext.stream_groups.
int height
Height of the final image for presentation.
enum AVStereo3DView view
Determines which views are packed.
AVRational output_gain
Output gain as defined in section 3.6.2 of IAMF.
enum AVCodecID codec_id
Specific type of the encoded data (the codec used).
#define AV_OPT_FLAG_EXPORT
The option is intended for exporting values to the caller.
This structure stores compressed data.
unsigned MaxFALL
Max average light level per frame (cd/m^2).
uint16_t pivots[AV_DOVI_MAX_PIECES+1]
static void print_pkt_side_data(AVTextFormatContext *tfc, AVCodecParameters *par, const AVPacketSideData *sd, SectionID id_data)
int av_dict_set(AVDictionary **pm, const char *key, const char *value, int flags)
Set the given entry in *pm, overwriting an existing entry.
int av_dict_copy(AVDictionary **dst, const AVDictionary *src, int flags)
Copy entries from one AVDictionary struct into another.
int64_t pos
byte position in stream, -1 if unknown
AVRational targeted_system_display_actual_peak_luminance[25][25]
The normalized actual peak luminance of the targeted system display.
const char * av_frame_side_data_name(enum AVFrameSideDataType type)
#define SHOW_LIB_VERSION(libname, LIBNAME)
AVIAMFParamDefinition * element_mix_config
Information required required for applying any processing to the referenced and rendered Audio Elemen...
unsigned int parameter_rate
Sample rate for the paremeter substream.
static int read_packets(AVTextFormatContext *tfc, InputFile *ifile)
Submix element as defined in section 3.7 of IAMF.
@ AV_IAMF_AUDIO_ELEMENT_TYPE_CHANNEL
int64_t bit_rate
The average bitrate of the encoded data (in bits per second).
int av_opt_get(void *obj, const char *name, int search_flags, uint8_t **out_val)
uint8_t system_start_code
The system start code.
int64_t start_time
Position of the first frame of the component, in AV_TIME_BASE fractional seconds.
@ SECTION_ID_FRAME_SIDE_DATA_PIECE_LIST
int base_param_k3
indicates k3_0 in the base parameter, base_param_k3 == 1: k3_0 = base_param_k3 base_param_k3 == 2: k3...
@ SECTION_ID_PROGRAM_STREAMS
const char * av_stereo3d_type_name(unsigned int type)
Provide a human-readable name of a given stereo3d type.
int parent_log_context_offset
Offset in the structure where a pointer to the parent context for logging is stored.
#define AVERROR_EXIT
Immediate exit was requested; the called function should not be restarted.
@ SECTION_ID_STREAM_GROUP_DISPOSITION
AVClassCategory parent_category
static void print_dovi_metadata(AVTextFormatContext *tfc, const AVDOVIMetadata *dovi)
@ SECTION_ID_PROGRAM_STREAM_DISPOSITION
const AVCodecDescriptor * avcodec_descriptor_get(enum AVCodecID id)
AVRational th_delta2
3Spline_TH_Delta2 of three Spline.
AVIAMFParamDefinition * recon_gain_info
Recon gain information used to reconstruct a scalable channel audio representation.
Stereo 3D type: this structure describes how two videos are packed within a single video surface,...
int64_t start_time
Decoding: pts of the first frame of the stream in presentation order, in stream time base.
@ SECTION_ID_STREAM_GROUP_SUBPIECES
static char * show_data_hash
@ SECTION_ID_STREAM_GROUP_STREAM_DISPOSITION
AVRational th_enable_mb
three_Spline_TH_enable_MB is in the range of 0.0 to 1.0, inclusive and in multiples of 1....
const char *(* item_name)(void *ctx)
A pointer to a function which returns the name of a context instance ctx associated with the class.
AVRational ambient_light_y
Normalized y chromaticity coordinate of the environmental ambient light in the nominal viewing enviro...
static int do_show_streams
int chroma_scaling_from_luma
Signals whether to derive the chroma scaling function from the luma.
unsigned int idx
Index of the stream in the group this tile references.
static int show_chapters(AVTextFormatContext *tfc, InputFile *ifile)
AVColorRange
Visual content value range.
AVRational time_base
time base in which the start/end timestamps are specified
@ AV_FILM_GRAIN_PARAMS_AV1
The union is valid when interpreted as AVFilmGrainAOMParams (codec.aom)
static int do_analyze_frames
int avtext_context_close(AVTextFormatContext **ptctx)
AVHDRVivid3SplineParams three_spline[2]
AVRational base_param_m_p
base_param_m_p in the base parameter, in multiples of 1.0/16383.
int avtextwriter_create_file(AVTextWriterContext **pwctx, const char *output_filename, int close_on_uninit)
enum AVFilmGrainParamsType type
Specifies the codec for which this structure is valid.
AVIAMFSubmix ** submixes
Array of submixes.
static void print_error(const char *filename, int err)
Print an error message to stderr, indicating filename and a human readable description of the error c...
void avtext_print_data(AVTextFormatContext *tctx, const char *name, const uint8_t *data, int size)
static char * stream_specifier
#define AV_FRAME_FLAG_LOSSLESS
A decoder can use this flag to mark frames which were originally encoded losslessly.
static void log_callback(void *ptr, int level, const char *fmt, va_list vl)
int initial_padding
Audio only.
void * priv_data
Format private data.
Dolby Vision RPU data mapping parameters.
#define print_time(k, v, tb)
#define AV_TEXTFORMAT_SECTION_FLAG_IS_ARRAY
the section contains an array of elements of the same type
This structure describes how to handle spherical videos, outlining information about projection,...
const char * av_color_transfer_name(enum AVColorTransferCharacteristic transfer)
#define print_str_opt(k, v)
const AVDictionaryEntry * av_dict_iterate(const AVDictionary *m, const AVDictionaryEntry *prev)
Iterate over a dictionary.
uint32_t start_display_time
uint8_t log2_chroma_h
Amount to shift the luma height right to find the chroma height.
@ SECTION_ID_PIXEL_FORMAT_COMPONENT
int32_t yaw
Rotation around the up vector [-180, 180].
AVRational base_param_m_b
base_param_m_b in the base parameter, in multiples of 1/1023.
#define AV_DICT_DONT_STRDUP_KEY
Take ownership of a key that's been allocated with av_malloc() or another memory allocation function.
AVRational base_param_m_m
base_param_m_m in the base parameter, in multiples of 1.0/10.
static const char unit_second_str[]
static void * av_x_if_null(const void *p, const void *x)
Return x default pointer in case p is NULL.
uint8_t num_cols_mastering_display_actual_peak_luminance
The number of columns in the mastering_display_actual_peak_luminance array.
uint32_t num_x_partitions
int ar_coeff_shift
Specifies the range of the auto-regressive coefficients.
double av_display_rotation_get(const int32_t matrix[9])
Extract the rotation component of the transformation matrix.
const char * av_get_pix_fmt_name(enum AVPixelFormat pix_fmt)
Return the short name for a pixel format, NULL in case pix_fmt is unknown.
static int do_show_packets
@ AV_IAMF_PARAMETER_DEFINITION_DEMIXING
Subblocks are of struct type AVIAMFDemixingInfo.
@ SECTION_ID_STREAM_GROUP_SUBCOMPONENTS
#define av_fourcc2str(fourcc)
#define print_list_fmt(k, f, n, m,...)
FF_VISIBILITY_POP_HIDDEN av_cold void avdevice_register_all(void)
Initialize libavdevice and register all the input and output devices.
void avtext_print_section_header(AVTextFormatContext *tctx, const void *data, int section_id)
int8_t ar_coeffs_uv[2][25]
Chroma auto-regression coefficients.
static int show_stream_group(AVTextFormatContext *tfc, InputFile *ifile, AVStreamGroup *stg)