From: softworkz <[email protected]>
Signed-off-by: softworkz <[email protected]>
---
fftools/ffprobe.c | 156 ++++++++++++++--------------
libavutil/avtextformat.h | 24 ++---
libavutil/textformat/avtextformat.c | 26 ++---
3 files changed, 103 insertions(+), 103 deletions(-)
diff --git a/fftools/ffprobe.c b/fftools/ffprobe.c
index 5560f6b87e..5dc9803d5c 100644
--- a/fftools/ffprobe.c
+++ b/fftools/ffprobe.c
@@ -250,74 +250,74 @@ static const char *get_stream_group_type(const void *data)
}
static struct AVTextFormatSection sections[] = {
- [SECTION_ID_CHAPTERS] = { SECTION_ID_CHAPTERS, "chapters",
SECTION_FLAG_IS_ARRAY, { SECTION_ID_CHAPTER, -1 } },
+ [SECTION_ID_CHAPTERS] = { SECTION_ID_CHAPTERS, "chapters",
AV_TEXTFORMAT_SECTION_FLAG_IS_ARRAY, { SECTION_ID_CHAPTER, -1 } },
[SECTION_ID_CHAPTER] = { SECTION_ID_CHAPTER, "chapter", 0, {
SECTION_ID_CHAPTER_TAGS, -1 } },
- [SECTION_ID_CHAPTER_TAGS] = { SECTION_ID_CHAPTER_TAGS, "tags",
SECTION_FLAG_HAS_VARIABLE_FIELDS, { -1 }, .element_name = "tag", .unique_name =
"chapter_tags" },
+ [SECTION_ID_CHAPTER_TAGS] = { SECTION_ID_CHAPTER_TAGS, "tags",
AV_TEXTFORMAT_SECTION_FLAG_HAS_VARIABLE_FIELDS, { -1 }, .element_name = "tag",
.unique_name = "chapter_tags" },
[SECTION_ID_ERROR] = { SECTION_ID_ERROR, "error", 0, { -1 } },
[SECTION_ID_FORMAT] = { SECTION_ID_FORMAT, "format", 0, {
SECTION_ID_FORMAT_TAGS, -1 } },
- [SECTION_ID_FORMAT_TAGS] = { SECTION_ID_FORMAT_TAGS, "tags",
SECTION_FLAG_HAS_VARIABLE_FIELDS, { -1 }, .element_name = "tag", .unique_name =
"format_tags" },
- [SECTION_ID_FRAMES] = { SECTION_ID_FRAMES, "frames",
SECTION_FLAG_IS_ARRAY, { SECTION_ID_FRAME, SECTION_ID_SUBTITLE, -1 } },
+ [SECTION_ID_FORMAT_TAGS] = { SECTION_ID_FORMAT_TAGS, "tags",
AV_TEXTFORMAT_SECTION_FLAG_HAS_VARIABLE_FIELDS, { -1 }, .element_name = "tag",
.unique_name = "format_tags" },
+ [SECTION_ID_FRAMES] = { SECTION_ID_FRAMES, "frames",
AV_TEXTFORMAT_SECTION_FLAG_IS_ARRAY, { SECTION_ID_FRAME, SECTION_ID_SUBTITLE,
-1 } },
[SECTION_ID_FRAME] = { SECTION_ID_FRAME, "frame", 0, {
SECTION_ID_FRAME_TAGS, SECTION_ID_FRAME_SIDE_DATA_LIST, SECTION_ID_FRAME_LOGS,
-1 } },
- [SECTION_ID_FRAME_TAGS] = { SECTION_ID_FRAME_TAGS, "tags",
SECTION_FLAG_HAS_VARIABLE_FIELDS, { -1 }, .element_name = "tag", .unique_name =
"frame_tags" },
- [SECTION_ID_FRAME_SIDE_DATA_LIST] ={ SECTION_ID_FRAME_SIDE_DATA_LIST,
"side_data_list", SECTION_FLAG_IS_ARRAY, { SECTION_ID_FRAME_SIDE_DATA, -1 },
.element_name = "side_data", .unique_name = "frame_side_data_list" },
- [SECTION_ID_FRAME_SIDE_DATA] = { SECTION_ID_FRAME_SIDE_DATA,
"side_data", SECTION_FLAG_HAS_VARIABLE_FIELDS|SECTION_FLAG_HAS_TYPE, {
SECTION_ID_FRAME_SIDE_DATA_TIMECODE_LIST,
SECTION_ID_FRAME_SIDE_DATA_COMPONENT_LIST, -1 }, .unique_name =
"frame_side_data", .element_name = "side_datum", .get_type =
get_frame_side_data_type },
- [SECTION_ID_FRAME_SIDE_DATA_TIMECODE_LIST] = {
SECTION_ID_FRAME_SIDE_DATA_TIMECODE_LIST, "timecodes", SECTION_FLAG_IS_ARRAY, {
SECTION_ID_FRAME_SIDE_DATA_TIMECODE, -1 } },
+ [SECTION_ID_FRAME_TAGS] = { SECTION_ID_FRAME_TAGS, "tags",
AV_TEXTFORMAT_SECTION_FLAG_HAS_VARIABLE_FIELDS, { -1 }, .element_name = "tag",
.unique_name = "frame_tags" },
+ [SECTION_ID_FRAME_SIDE_DATA_LIST] ={ SECTION_ID_FRAME_SIDE_DATA_LIST,
"side_data_list", AV_TEXTFORMAT_SECTION_FLAG_IS_ARRAY, {
SECTION_ID_FRAME_SIDE_DATA, -1 }, .element_name = "side_data", .unique_name =
"frame_side_data_list" },
+ [SECTION_ID_FRAME_SIDE_DATA] = { SECTION_ID_FRAME_SIDE_DATA,
"side_data",
AV_TEXTFORMAT_SECTION_FLAG_HAS_VARIABLE_FIELDS|AV_TEXTFORMAT_SECTION_FLAG_HAS_TYPE,
{ SECTION_ID_FRAME_SIDE_DATA_TIMECODE_LIST,
SECTION_ID_FRAME_SIDE_DATA_COMPONENT_LIST, -1 }, .unique_name =
"frame_side_data", .element_name = "side_datum", .get_type =
get_frame_side_data_type },
+ [SECTION_ID_FRAME_SIDE_DATA_TIMECODE_LIST] = {
SECTION_ID_FRAME_SIDE_DATA_TIMECODE_LIST, "timecodes",
AV_TEXTFORMAT_SECTION_FLAG_IS_ARRAY, { SECTION_ID_FRAME_SIDE_DATA_TIMECODE, -1
} },
[SECTION_ID_FRAME_SIDE_DATA_TIMECODE] = {
SECTION_ID_FRAME_SIDE_DATA_TIMECODE, "timecode", 0, { -1 } },
- [SECTION_ID_FRAME_SIDE_DATA_COMPONENT_LIST] = {
SECTION_ID_FRAME_SIDE_DATA_COMPONENT_LIST, "components", SECTION_FLAG_IS_ARRAY,
{ SECTION_ID_FRAME_SIDE_DATA_COMPONENT, -1 }, .element_name = "component",
.unique_name = "frame_side_data_components" },
- [SECTION_ID_FRAME_SIDE_DATA_COMPONENT] = {
SECTION_ID_FRAME_SIDE_DATA_COMPONENT, "component",
SECTION_FLAG_HAS_VARIABLE_FIELDS|SECTION_FLAG_HAS_TYPE, {
SECTION_ID_FRAME_SIDE_DATA_PIECE_LIST, -1 }, .unique_name =
"frame_side_data_component", .element_name = "component_entry", .get_type =
get_raw_string_type },
- [SECTION_ID_FRAME_SIDE_DATA_PIECE_LIST] = {
SECTION_ID_FRAME_SIDE_DATA_PIECE_LIST, "pieces", SECTION_FLAG_IS_ARRAY, {
SECTION_ID_FRAME_SIDE_DATA_PIECE, -1 }, .element_name = "piece", .unique_name =
"frame_side_data_pieces" },
- [SECTION_ID_FRAME_SIDE_DATA_PIECE] = {
SECTION_ID_FRAME_SIDE_DATA_PIECE, "piece",
SECTION_FLAG_HAS_VARIABLE_FIELDS|SECTION_FLAG_HAS_TYPE, { -1 }, .element_name =
"piece_entry", .unique_name = "frame_side_data_piece", .get_type =
get_raw_string_type },
- [SECTION_ID_FRAME_LOGS] = { SECTION_ID_FRAME_LOGS, "logs",
SECTION_FLAG_IS_ARRAY, { SECTION_ID_FRAME_LOG, -1 } },
+ [SECTION_ID_FRAME_SIDE_DATA_COMPONENT_LIST] = {
SECTION_ID_FRAME_SIDE_DATA_COMPONENT_LIST, "components",
AV_TEXTFORMAT_SECTION_FLAG_IS_ARRAY, { SECTION_ID_FRAME_SIDE_DATA_COMPONENT, -1
}, .element_name = "component", .unique_name = "frame_side_data_components" },
+ [SECTION_ID_FRAME_SIDE_DATA_COMPONENT] = {
SECTION_ID_FRAME_SIDE_DATA_COMPONENT, "component",
AV_TEXTFORMAT_SECTION_FLAG_HAS_VARIABLE_FIELDS|AV_TEXTFORMAT_SECTION_FLAG_HAS_TYPE,
{ SECTION_ID_FRAME_SIDE_DATA_PIECE_LIST, -1 }, .unique_name =
"frame_side_data_component", .element_name = "component_entry", .get_type =
get_raw_string_type },
+ [SECTION_ID_FRAME_SIDE_DATA_PIECE_LIST] = {
SECTION_ID_FRAME_SIDE_DATA_PIECE_LIST, "pieces",
AV_TEXTFORMAT_SECTION_FLAG_IS_ARRAY, { SECTION_ID_FRAME_SIDE_DATA_PIECE, -1 },
.element_name = "piece", .unique_name = "frame_side_data_pieces" },
+ [SECTION_ID_FRAME_SIDE_DATA_PIECE] = {
SECTION_ID_FRAME_SIDE_DATA_PIECE, "piece",
AV_TEXTFORMAT_SECTION_FLAG_HAS_VARIABLE_FIELDS|AV_TEXTFORMAT_SECTION_FLAG_HAS_TYPE,
{ -1 }, .element_name = "piece_entry", .unique_name = "frame_side_data_piece",
.get_type = get_raw_string_type },
+ [SECTION_ID_FRAME_LOGS] = { SECTION_ID_FRAME_LOGS, "logs",
AV_TEXTFORMAT_SECTION_FLAG_IS_ARRAY, { SECTION_ID_FRAME_LOG, -1 } },
[SECTION_ID_FRAME_LOG] = { SECTION_ID_FRAME_LOG, "log", 0, { -1
}, },
- [SECTION_ID_LIBRARY_VERSIONS] = { SECTION_ID_LIBRARY_VERSIONS,
"library_versions", SECTION_FLAG_IS_ARRAY, { SECTION_ID_LIBRARY_VERSION, -1 } },
+ [SECTION_ID_LIBRARY_VERSIONS] = { SECTION_ID_LIBRARY_VERSIONS,
"library_versions", AV_TEXTFORMAT_SECTION_FLAG_IS_ARRAY, {
SECTION_ID_LIBRARY_VERSION, -1 } },
[SECTION_ID_LIBRARY_VERSION] = { SECTION_ID_LIBRARY_VERSION,
"library_version", 0, { -1 } },
- [SECTION_ID_PACKETS] = { SECTION_ID_PACKETS, "packets",
SECTION_FLAG_IS_ARRAY, { SECTION_ID_PACKET, -1} },
- [SECTION_ID_PACKETS_AND_FRAMES] = { SECTION_ID_PACKETS_AND_FRAMES,
"packets_and_frames", SECTION_FLAG_IS_ARRAY | SECTION_FLAG_NUMBERING_BY_TYPE, {
SECTION_ID_PACKET, -1} },
+ [SECTION_ID_PACKETS] = { SECTION_ID_PACKETS, "packets",
AV_TEXTFORMAT_SECTION_FLAG_IS_ARRAY, { SECTION_ID_PACKET, -1} },
+ [SECTION_ID_PACKETS_AND_FRAMES] = { SECTION_ID_PACKETS_AND_FRAMES,
"packets_and_frames", AV_TEXTFORMAT_SECTION_FLAG_IS_ARRAY |
AV_TEXTFORMAT_SECTION_FLAG_NUMBERING_BY_TYPE, { SECTION_ID_PACKET, -1} },
[SECTION_ID_PACKET] = { SECTION_ID_PACKET, "packet", 0, {
SECTION_ID_PACKET_TAGS, SECTION_ID_PACKET_SIDE_DATA_LIST, -1 } },
- [SECTION_ID_PACKET_TAGS] = { SECTION_ID_PACKET_TAGS, "tags",
SECTION_FLAG_HAS_VARIABLE_FIELDS, { -1 }, .element_name = "tag", .unique_name =
"packet_tags" },
- [SECTION_ID_PACKET_SIDE_DATA_LIST] ={ SECTION_ID_PACKET_SIDE_DATA_LIST,
"side_data_list", SECTION_FLAG_IS_ARRAY, { SECTION_ID_PACKET_SIDE_DATA, -1 },
.element_name = "side_data", .unique_name = "packet_side_data_list" },
- [SECTION_ID_PACKET_SIDE_DATA] = { SECTION_ID_PACKET_SIDE_DATA,
"side_data", SECTION_FLAG_HAS_VARIABLE_FIELDS|SECTION_FLAG_HAS_TYPE, { -1 },
.unique_name = "packet_side_data", .element_name = "side_datum", .get_type =
get_packet_side_data_type },
- [SECTION_ID_PIXEL_FORMATS] = { SECTION_ID_PIXEL_FORMATS,
"pixel_formats", SECTION_FLAG_IS_ARRAY, { SECTION_ID_PIXEL_FORMAT, -1 } },
+ [SECTION_ID_PACKET_TAGS] = { SECTION_ID_PACKET_TAGS, "tags",
AV_TEXTFORMAT_SECTION_FLAG_HAS_VARIABLE_FIELDS, { -1 }, .element_name = "tag",
.unique_name = "packet_tags" },
+ [SECTION_ID_PACKET_SIDE_DATA_LIST] ={ SECTION_ID_PACKET_SIDE_DATA_LIST,
"side_data_list", AV_TEXTFORMAT_SECTION_FLAG_IS_ARRAY, {
SECTION_ID_PACKET_SIDE_DATA, -1 }, .element_name = "side_data", .unique_name =
"packet_side_data_list" },
+ [SECTION_ID_PACKET_SIDE_DATA] = { SECTION_ID_PACKET_SIDE_DATA,
"side_data",
AV_TEXTFORMAT_SECTION_FLAG_HAS_VARIABLE_FIELDS|AV_TEXTFORMAT_SECTION_FLAG_HAS_TYPE,
{ -1 }, .unique_name = "packet_side_data", .element_name = "side_datum",
.get_type = get_packet_side_data_type },
+ [SECTION_ID_PIXEL_FORMATS] = { SECTION_ID_PIXEL_FORMATS,
"pixel_formats", AV_TEXTFORMAT_SECTION_FLAG_IS_ARRAY, {
SECTION_ID_PIXEL_FORMAT, -1 } },
[SECTION_ID_PIXEL_FORMAT] = { SECTION_ID_PIXEL_FORMAT,
"pixel_format", 0, { SECTION_ID_PIXEL_FORMAT_FLAGS,
SECTION_ID_PIXEL_FORMAT_COMPONENTS, -1 } },
[SECTION_ID_PIXEL_FORMAT_FLAGS] = { SECTION_ID_PIXEL_FORMAT_FLAGS,
"flags", 0, { -1 }, .unique_name = "pixel_format_flags" },
- [SECTION_ID_PIXEL_FORMAT_COMPONENTS] = {
SECTION_ID_PIXEL_FORMAT_COMPONENTS, "components", SECTION_FLAG_IS_ARRAY,
{SECTION_ID_PIXEL_FORMAT_COMPONENT, -1 }, .unique_name =
"pixel_format_components" },
+ [SECTION_ID_PIXEL_FORMAT_COMPONENTS] = {
SECTION_ID_PIXEL_FORMAT_COMPONENTS, "components",
AV_TEXTFORMAT_SECTION_FLAG_IS_ARRAY, {SECTION_ID_PIXEL_FORMAT_COMPONENT, -1 },
.unique_name = "pixel_format_components" },
[SECTION_ID_PIXEL_FORMAT_COMPONENT] = {
SECTION_ID_PIXEL_FORMAT_COMPONENT, "component", 0, { -1 } },
[SECTION_ID_PROGRAM_STREAM_DISPOSITION] = {
SECTION_ID_PROGRAM_STREAM_DISPOSITION, "disposition", 0, { -1 }, .unique_name =
"program_stream_disposition" },
- [SECTION_ID_PROGRAM_STREAM_TAGS] = {
SECTION_ID_PROGRAM_STREAM_TAGS, "tags", SECTION_FLAG_HAS_VARIABLE_FIELDS, { -1
}, .element_name = "tag", .unique_name = "program_stream_tags" },
+ [SECTION_ID_PROGRAM_STREAM_TAGS] = {
SECTION_ID_PROGRAM_STREAM_TAGS, "tags",
AV_TEXTFORMAT_SECTION_FLAG_HAS_VARIABLE_FIELDS, { -1 }, .element_name = "tag",
.unique_name = "program_stream_tags" },
[SECTION_ID_PROGRAM] = { SECTION_ID_PROGRAM, "program",
0, { SECTION_ID_PROGRAM_TAGS, SECTION_ID_PROGRAM_STREAMS, -1 } },
- [SECTION_ID_PROGRAM_STREAMS] = { SECTION_ID_PROGRAM_STREAMS,
"streams", SECTION_FLAG_IS_ARRAY, { SECTION_ID_PROGRAM_STREAM, -1 },
.unique_name = "program_streams" },
+ [SECTION_ID_PROGRAM_STREAMS] = { SECTION_ID_PROGRAM_STREAMS,
"streams", AV_TEXTFORMAT_SECTION_FLAG_IS_ARRAY, { SECTION_ID_PROGRAM_STREAM, -1
}, .unique_name = "program_streams" },
[SECTION_ID_PROGRAM_STREAM] = { SECTION_ID_PROGRAM_STREAM,
"stream", 0, { SECTION_ID_PROGRAM_STREAM_DISPOSITION,
SECTION_ID_PROGRAM_STREAM_TAGS, -1 }, .unique_name = "program_stream" },
- [SECTION_ID_PROGRAM_TAGS] = { SECTION_ID_PROGRAM_TAGS,
"tags", SECTION_FLAG_HAS_VARIABLE_FIELDS, { -1 }, .element_name = "tag",
.unique_name = "program_tags" },
+ [SECTION_ID_PROGRAM_TAGS] = { SECTION_ID_PROGRAM_TAGS,
"tags", AV_TEXTFORMAT_SECTION_FLAG_HAS_VARIABLE_FIELDS, { -1 }, .element_name =
"tag", .unique_name = "program_tags" },
[SECTION_ID_PROGRAM_VERSION] = { SECTION_ID_PROGRAM_VERSION,
"program_version", 0, { -1 } },
- [SECTION_ID_PROGRAMS] = { SECTION_ID_PROGRAMS,
"programs", SECTION_FLAG_IS_ARRAY, { SECTION_ID_PROGRAM, -1 } },
+ [SECTION_ID_PROGRAMS] = { SECTION_ID_PROGRAMS,
"programs", AV_TEXTFORMAT_SECTION_FLAG_IS_ARRAY, { SECTION_ID_PROGRAM, -1 } },
[SECTION_ID_STREAM_GROUP_STREAM_DISPOSITION] = {
SECTION_ID_STREAM_GROUP_STREAM_DISPOSITION, "disposition", 0, { -1 },
.unique_name = "stream_group_stream_disposition" },
- [SECTION_ID_STREAM_GROUP_STREAM_TAGS] = {
SECTION_ID_STREAM_GROUP_STREAM_TAGS, "tags", SECTION_FLAG_HAS_VARIABLE_FIELDS,
{ -1 }, .element_name = "tag", .unique_name = "stream_group_stream_tags" },
+ [SECTION_ID_STREAM_GROUP_STREAM_TAGS] = {
SECTION_ID_STREAM_GROUP_STREAM_TAGS, "tags",
AV_TEXTFORMAT_SECTION_FLAG_HAS_VARIABLE_FIELDS, { -1 }, .element_name = "tag",
.unique_name = "stream_group_stream_tags" },
[SECTION_ID_STREAM_GROUP] = { SECTION_ID_STREAM_GROUP,
"stream_group", 0, { SECTION_ID_STREAM_GROUP_TAGS,
SECTION_ID_STREAM_GROUP_DISPOSITION, SECTION_ID_STREAM_GROUP_COMPONENTS,
SECTION_ID_STREAM_GROUP_STREAMS, -1 } },
- [SECTION_ID_STREAM_GROUP_COMPONENTS] = {
SECTION_ID_STREAM_GROUP_COMPONENTS, "components", SECTION_FLAG_IS_ARRAY, {
SECTION_ID_STREAM_GROUP_COMPONENT, -1 }, .element_name = "component",
.unique_name = "stream_group_components" },
- [SECTION_ID_STREAM_GROUP_COMPONENT] = {
SECTION_ID_STREAM_GROUP_COMPONENT, "component",
SECTION_FLAG_HAS_VARIABLE_FIELDS|SECTION_FLAG_HAS_TYPE, {
SECTION_ID_STREAM_GROUP_SUBCOMPONENTS, -1 }, .unique_name =
"stream_group_component", .element_name = "component_entry", .get_type =
get_stream_group_type },
- [SECTION_ID_STREAM_GROUP_SUBCOMPONENTS] = {
SECTION_ID_STREAM_GROUP_SUBCOMPONENTS, "subcomponents", SECTION_FLAG_IS_ARRAY,
{ SECTION_ID_STREAM_GROUP_SUBCOMPONENT, -1 }, .element_name = "component" },
- [SECTION_ID_STREAM_GROUP_SUBCOMPONENT] = {
SECTION_ID_STREAM_GROUP_SUBCOMPONENT, "subcomponent",
SECTION_FLAG_HAS_VARIABLE_FIELDS|SECTION_FLAG_HAS_TYPE, {
SECTION_ID_STREAM_GROUP_PIECES, -1 }, .element_name = "subcomponent_entry",
.get_type = get_raw_string_type },
- [SECTION_ID_STREAM_GROUP_PIECES] = {
SECTION_ID_STREAM_GROUP_PIECES, "pieces", SECTION_FLAG_IS_ARRAY, {
SECTION_ID_STREAM_GROUP_PIECE, -1 }, .element_name = "piece", .unique_name =
"stream_group_pieces" },
- [SECTION_ID_STREAM_GROUP_PIECE] = {
SECTION_ID_STREAM_GROUP_PIECE, "piece",
SECTION_FLAG_HAS_VARIABLE_FIELDS|SECTION_FLAG_HAS_TYPE, {
SECTION_ID_STREAM_GROUP_SUBPIECES, -1 }, .unique_name = "stream_group_piece",
.element_name = "piece_entry", .get_type = get_raw_string_type },
- [SECTION_ID_STREAM_GROUP_SUBPIECES] = {
SECTION_ID_STREAM_GROUP_SUBPIECES, "subpieces", SECTION_FLAG_IS_ARRAY, {
SECTION_ID_STREAM_GROUP_SUBPIECE, -1 }, .element_name = "subpiece" },
- [SECTION_ID_STREAM_GROUP_SUBPIECE] = {
SECTION_ID_STREAM_GROUP_SUBPIECE, "subpiece",
SECTION_FLAG_HAS_VARIABLE_FIELDS|SECTION_FLAG_HAS_TYPE, {
SECTION_ID_STREAM_GROUP_BLOCKS, -1 }, .element_name = "subpiece_entry",
.get_type = get_raw_string_type },
- [SECTION_ID_STREAM_GROUP_BLOCKS] = {
SECTION_ID_STREAM_GROUP_BLOCKS, "blocks", SECTION_FLAG_IS_ARRAY, {
SECTION_ID_STREAM_GROUP_BLOCK, -1 }, .element_name = "block" },
- [SECTION_ID_STREAM_GROUP_BLOCK] = {
SECTION_ID_STREAM_GROUP_BLOCK, "block",
SECTION_FLAG_HAS_VARIABLE_FIELDS|SECTION_FLAG_HAS_TYPE, { -1 }, .element_name =
"block_entry", .get_type = get_raw_string_type },
- [SECTION_ID_STREAM_GROUP_STREAMS] = {
SECTION_ID_STREAM_GROUP_STREAMS, "streams", SECTION_FLAG_IS_ARRAY, {
SECTION_ID_STREAM_GROUP_STREAM, -1 }, .unique_name = "stream_group_streams" },
+ [SECTION_ID_STREAM_GROUP_COMPONENTS] = {
SECTION_ID_STREAM_GROUP_COMPONENTS, "components",
AV_TEXTFORMAT_SECTION_FLAG_IS_ARRAY, { SECTION_ID_STREAM_GROUP_COMPONENT, -1 },
.element_name = "component", .unique_name = "stream_group_components" },
+ [SECTION_ID_STREAM_GROUP_COMPONENT] = {
SECTION_ID_STREAM_GROUP_COMPONENT, "component",
AV_TEXTFORMAT_SECTION_FLAG_HAS_VARIABLE_FIELDS|AV_TEXTFORMAT_SECTION_FLAG_HAS_TYPE,
{ SECTION_ID_STREAM_GROUP_SUBCOMPONENTS, -1 }, .unique_name =
"stream_group_component", .element_name = "component_entry", .get_type =
get_stream_group_type },
+ [SECTION_ID_STREAM_GROUP_SUBCOMPONENTS] = {
SECTION_ID_STREAM_GROUP_SUBCOMPONENTS, "subcomponents",
AV_TEXTFORMAT_SECTION_FLAG_IS_ARRAY, { SECTION_ID_STREAM_GROUP_SUBCOMPONENT, -1
}, .element_name = "component" },
+ [SECTION_ID_STREAM_GROUP_SUBCOMPONENT] = {
SECTION_ID_STREAM_GROUP_SUBCOMPONENT, "subcomponent",
AV_TEXTFORMAT_SECTION_FLAG_HAS_VARIABLE_FIELDS|AV_TEXTFORMAT_SECTION_FLAG_HAS_TYPE,
{ SECTION_ID_STREAM_GROUP_PIECES, -1 }, .element_name = "subcomponent_entry",
.get_type = get_raw_string_type },
+ [SECTION_ID_STREAM_GROUP_PIECES] = {
SECTION_ID_STREAM_GROUP_PIECES, "pieces", AV_TEXTFORMAT_SECTION_FLAG_IS_ARRAY,
{ SECTION_ID_STREAM_GROUP_PIECE, -1 }, .element_name = "piece", .unique_name =
"stream_group_pieces" },
+ [SECTION_ID_STREAM_GROUP_PIECE] = {
SECTION_ID_STREAM_GROUP_PIECE, "piece",
AV_TEXTFORMAT_SECTION_FLAG_HAS_VARIABLE_FIELDS|AV_TEXTFORMAT_SECTION_FLAG_HAS_TYPE,
{ SECTION_ID_STREAM_GROUP_SUBPIECES, -1 }, .unique_name =
"stream_group_piece", .element_name = "piece_entry", .get_type =
get_raw_string_type },
+ [SECTION_ID_STREAM_GROUP_SUBPIECES] = {
SECTION_ID_STREAM_GROUP_SUBPIECES, "subpieces",
AV_TEXTFORMAT_SECTION_FLAG_IS_ARRAY, { SECTION_ID_STREAM_GROUP_SUBPIECE, -1 },
.element_name = "subpiece" },
+ [SECTION_ID_STREAM_GROUP_SUBPIECE] = {
SECTION_ID_STREAM_GROUP_SUBPIECE, "subpiece",
AV_TEXTFORMAT_SECTION_FLAG_HAS_VARIABLE_FIELDS|AV_TEXTFORMAT_SECTION_FLAG_HAS_TYPE,
{ SECTION_ID_STREAM_GROUP_BLOCKS, -1 }, .element_name = "subpiece_entry",
.get_type = get_raw_string_type },
+ [SECTION_ID_STREAM_GROUP_BLOCKS] = {
SECTION_ID_STREAM_GROUP_BLOCKS, "blocks", AV_TEXTFORMAT_SECTION_FLAG_IS_ARRAY,
{ SECTION_ID_STREAM_GROUP_BLOCK, -1 }, .element_name = "block" },
+ [SECTION_ID_STREAM_GROUP_BLOCK] = {
SECTION_ID_STREAM_GROUP_BLOCK, "block",
AV_TEXTFORMAT_SECTION_FLAG_HAS_VARIABLE_FIELDS|AV_TEXTFORMAT_SECTION_FLAG_HAS_TYPE,
{ -1 }, .element_name = "block_entry", .get_type = get_raw_string_type },
+ [SECTION_ID_STREAM_GROUP_STREAMS] = {
SECTION_ID_STREAM_GROUP_STREAMS, "streams",
AV_TEXTFORMAT_SECTION_FLAG_IS_ARRAY, { SECTION_ID_STREAM_GROUP_STREAM, -1 },
.unique_name = "stream_group_streams" },
[SECTION_ID_STREAM_GROUP_STREAM] = {
SECTION_ID_STREAM_GROUP_STREAM, "stream", 0, {
SECTION_ID_STREAM_GROUP_STREAM_DISPOSITION,
SECTION_ID_STREAM_GROUP_STREAM_TAGS, -1 }, .unique_name = "stream_group_stream"
},
[SECTION_ID_STREAM_GROUP_DISPOSITION] = {
SECTION_ID_STREAM_GROUP_DISPOSITION, "disposition", 0, { -1 }, .unique_name =
"stream_group_disposition" },
- [SECTION_ID_STREAM_GROUP_TAGS] = {
SECTION_ID_STREAM_GROUP_TAGS, "tags", SECTION_FLAG_HAS_VARIABLE_FIELDS, { -1 },
.element_name = "tag", .unique_name = "stream_group_tags" },
- [SECTION_ID_STREAM_GROUPS] = { SECTION_ID_STREAM_GROUPS,
"stream_groups", SECTION_FLAG_IS_ARRAY, { SECTION_ID_STREAM_GROUP, -1 } },
- [SECTION_ID_ROOT] = { SECTION_ID_ROOT, "root",
SECTION_FLAG_IS_WRAPPER,
+ [SECTION_ID_STREAM_GROUP_TAGS] = {
SECTION_ID_STREAM_GROUP_TAGS, "tags",
AV_TEXTFORMAT_SECTION_FLAG_HAS_VARIABLE_FIELDS, { -1 }, .element_name = "tag",
.unique_name = "stream_group_tags" },
+ [SECTION_ID_STREAM_GROUPS] = { SECTION_ID_STREAM_GROUPS,
"stream_groups", AV_TEXTFORMAT_SECTION_FLAG_IS_ARRAY, {
SECTION_ID_STREAM_GROUP, -1 } },
+ [SECTION_ID_ROOT] = { SECTION_ID_ROOT, "root",
AV_TEXTFORMAT_SECTION_FLAG_IS_WRAPPER,
{ SECTION_ID_CHAPTERS,
SECTION_ID_FORMAT, SECTION_ID_FRAMES, SECTION_ID_PROGRAMS,
SECTION_ID_STREAM_GROUPS, SECTION_ID_STREAMS,
SECTION_ID_PACKETS,
SECTION_ID_ERROR, SECTION_ID_PROGRAM_VERSION, SECTION_ID_LIBRARY_VERSIONS,
SECTION_ID_PIXEL_FORMATS, -1} },
- [SECTION_ID_STREAMS] = { SECTION_ID_STREAMS, "streams",
SECTION_FLAG_IS_ARRAY, { SECTION_ID_STREAM, -1 } },
+ [SECTION_ID_STREAMS] = { SECTION_ID_STREAMS, "streams",
AV_TEXTFORMAT_SECTION_FLAG_IS_ARRAY, { SECTION_ID_STREAM, -1 } },
[SECTION_ID_STREAM] = { SECTION_ID_STREAM, "stream", 0, {
SECTION_ID_STREAM_DISPOSITION, SECTION_ID_STREAM_TAGS,
SECTION_ID_STREAM_SIDE_DATA_LIST, -1 } },
[SECTION_ID_STREAM_DISPOSITION] = { SECTION_ID_STREAM_DISPOSITION,
"disposition", 0, { -1 }, .unique_name = "stream_disposition" },
- [SECTION_ID_STREAM_TAGS] = { SECTION_ID_STREAM_TAGS, "tags",
SECTION_FLAG_HAS_VARIABLE_FIELDS, { -1 }, .element_name = "tag", .unique_name =
"stream_tags" },
- [SECTION_ID_STREAM_SIDE_DATA_LIST] ={ SECTION_ID_STREAM_SIDE_DATA_LIST,
"side_data_list", SECTION_FLAG_IS_ARRAY, { SECTION_ID_STREAM_SIDE_DATA, -1 },
.element_name = "side_data", .unique_name = "stream_side_data_list" },
- [SECTION_ID_STREAM_SIDE_DATA] = { SECTION_ID_STREAM_SIDE_DATA,
"side_data", SECTION_FLAG_HAS_TYPE|SECTION_FLAG_HAS_VARIABLE_FIELDS, { -1 },
.unique_name = "stream_side_data", .element_name = "side_datum", .get_type =
get_packet_side_data_type },
+ [SECTION_ID_STREAM_TAGS] = { SECTION_ID_STREAM_TAGS, "tags",
AV_TEXTFORMAT_SECTION_FLAG_HAS_VARIABLE_FIELDS, { -1 }, .element_name = "tag",
.unique_name = "stream_tags" },
+ [SECTION_ID_STREAM_SIDE_DATA_LIST] ={ SECTION_ID_STREAM_SIDE_DATA_LIST,
"side_data_list", AV_TEXTFORMAT_SECTION_FLAG_IS_ARRAY, {
SECTION_ID_STREAM_SIDE_DATA, -1 }, .element_name = "side_data", .unique_name =
"stream_side_data_list" },
+ [SECTION_ID_STREAM_SIDE_DATA] = { SECTION_ID_STREAM_SIDE_DATA,
"side_data",
AV_TEXTFORMAT_SECTION_FLAG_HAS_TYPE|AV_TEXTFORMAT_SECTION_FLAG_HAS_VARIABLE_FIELDS,
{ -1 }, .unique_name = "stream_side_data", .element_name = "side_datum",
.get_type = get_packet_side_data_type },
[SECTION_ID_SUBTITLE] = { SECTION_ID_SUBTITLE, "subtitle", 0, {
-1 } },
};
@@ -494,7 +494,7 @@ static void
default_print_section_header(AVTextFormatContext *wctx, const void *
av_bprint_clear(&wctx->section_pbuf[wctx->level]);
if (parent_section &&
- !(parent_section->flags &
(SECTION_FLAG_IS_WRAPPER|SECTION_FLAG_IS_ARRAY))) {
+ !(parent_section->flags &
(AV_TEXTFORMAT_SECTION_FLAG_IS_WRAPPER|AV_TEXTFORMAT_SECTION_FLAG_IS_ARRAY))) {
def->nested_section[wctx->level] = 1;
av_bprintf(&wctx->section_pbuf[wctx->level], "%s%s:",
wctx->section_pbuf[wctx->level-1].str,
@@ -505,7 +505,7 @@ static void
default_print_section_header(AVTextFormatContext *wctx, const void *
if (def->noprint_wrappers || def->nested_section[wctx->level])
return;
- if (!(section->flags & (SECTION_FLAG_IS_WRAPPER|SECTION_FLAG_IS_ARRAY)))
+ if (!(section->flags &
(AV_TEXTFORMAT_SECTION_FLAG_IS_WRAPPER|AV_TEXTFORMAT_SECTION_FLAG_IS_ARRAY)))
writer_printf(wctx, "[%s]\n", upcase_string(buf, sizeof(buf),
section->name));
}
@@ -518,7 +518,7 @@ static void
default_print_section_footer(AVTextFormatContext *wctx)
if (def->noprint_wrappers || def->nested_section[wctx->level])
return;
- if (!(section->flags & (SECTION_FLAG_IS_WRAPPER|SECTION_FLAG_IS_ARRAY)))
+ if (!(section->flags &
(AV_TEXTFORMAT_SECTION_FLAG_IS_WRAPPER|AV_TEXTFORMAT_SECTION_FLAG_IS_ARRAY)))
writer_printf(wctx, "[/%s]\n", upcase_string(buf, sizeof(buf),
section->name));
}
@@ -665,9 +665,9 @@ static void
compact_print_section_header(AVTextFormatContext *wctx, const void *
av_bprint_clear(&wctx->section_pbuf[wctx->level]);
if (parent_section &&
- (section->flags & SECTION_FLAG_HAS_TYPE ||
- (!(section->flags & SECTION_FLAG_IS_ARRAY) &&
- !(parent_section->flags &
(SECTION_FLAG_IS_WRAPPER|SECTION_FLAG_IS_ARRAY))))) {
+ (section->flags & AV_TEXTFORMAT_SECTION_FLAG_HAS_TYPE ||
+ (!(section->flags & AV_TEXTFORMAT_SECTION_FLAG_IS_ARRAY) &&
+ !(parent_section->flags &
(AV_TEXTFORMAT_SECTION_FLAG_IS_WRAPPER|AV_TEXTFORMAT_SECTION_FLAG_IS_ARRAY)))))
{
/* define a prefix for elements not contained in an array or
in a wrapper, or for array elements with a type */
@@ -680,7 +680,7 @@ static void
compact_print_section_header(AVTextFormatContext *wctx, const void *
av_bprintf(section_pbuf, "%s%s",
wctx->section_pbuf[wctx->level-1].str, element_name);
- if (section->flags & SECTION_FLAG_HAS_TYPE) {
+ if (section->flags & AV_TEXTFORMAT_SECTION_FLAG_HAS_TYPE) {
// add /TYPE to prefix
av_bprint_chars(section_pbuf, '/', 1);
@@ -697,11 +697,11 @@ static void
compact_print_section_header(AVTextFormatContext *wctx, const void *
wctx->nb_item[wctx->level] = wctx->nb_item[wctx->level-1];
} else {
- if (parent_section && !(parent_section->flags &
(SECTION_FLAG_IS_WRAPPER|SECTION_FLAG_IS_ARRAY)) &&
+ if (parent_section && !(parent_section->flags &
(AV_TEXTFORMAT_SECTION_FLAG_IS_WRAPPER|AV_TEXTFORMAT_SECTION_FLAG_IS_ARRAY)) &&
wctx->level && wctx->nb_item[wctx->level-1])
writer_w8(wctx, compact->item_sep);
if (compact->print_section &&
- !(section->flags &
(SECTION_FLAG_IS_WRAPPER|SECTION_FLAG_IS_ARRAY)))
+ !(section->flags &
(AV_TEXTFORMAT_SECTION_FLAG_IS_WRAPPER|AV_TEXTFORMAT_SECTION_FLAG_IS_ARRAY)))
writer_printf(wctx, "%s%c", section->name, compact->item_sep);
}
}
@@ -712,7 +712,7 @@ static void
compact_print_section_footer(AVTextFormatContext *wctx)
if (!compact->nested_section[wctx->level] &&
compact->terminate_line[wctx->level] &&
- !(wctx->section[wctx->level]->flags &
(SECTION_FLAG_IS_WRAPPER|SECTION_FLAG_IS_ARRAY)))
+ !(wctx->section[wctx->level]->flags &
(AV_TEXTFORMAT_SECTION_FLAG_IS_WRAPPER|AV_TEXTFORMAT_SECTION_FLAG_IS_ARRAY)))
writer_w8(wctx, '\n');
}
@@ -866,11 +866,11 @@ static void flat_print_section_header(AVTextFormatContext
*wctx, const void *dat
av_bprintf(buf, "%s", wctx->section_pbuf[wctx->level-1].str);
if (flat->hierarchical ||
- !(section->flags & (SECTION_FLAG_IS_ARRAY|SECTION_FLAG_IS_WRAPPER))) {
+ !(section->flags &
(AV_TEXTFORMAT_SECTION_FLAG_IS_ARRAY|AV_TEXTFORMAT_SECTION_FLAG_IS_WRAPPER))) {
av_bprintf(buf, "%s%s", wctx->section[wctx->level]->name,
flat->sep_str);
- if (parent_section->flags & SECTION_FLAG_IS_ARRAY) {
- int n = parent_section->flags & SECTION_FLAG_NUMBERING_BY_TYPE ?
+ if (parent_section->flags & AV_TEXTFORMAT_SECTION_FLAG_IS_ARRAY) {
+ int n = parent_section->flags &
AV_TEXTFORMAT_SECTION_FLAG_NUMBERING_BY_TYPE ?
wctx->nb_item_type[wctx->level-1][section->id] :
wctx->nb_item[wctx->level-1];
av_bprintf(buf, "%d%s", n, flat->sep_str);
@@ -971,18 +971,18 @@ static void ini_print_section_header(AVTextFormatContext
*wctx, const void *data
av_bprintf(buf, "%s", wctx->section_pbuf[wctx->level-1].str);
if (ini->hierarchical ||
- !(section->flags & (SECTION_FLAG_IS_ARRAY|SECTION_FLAG_IS_WRAPPER))) {
+ !(section->flags &
(AV_TEXTFORMAT_SECTION_FLAG_IS_ARRAY|AV_TEXTFORMAT_SECTION_FLAG_IS_WRAPPER))) {
av_bprintf(buf, "%s%s", buf->str[0] ? "." : "",
wctx->section[wctx->level]->name);
- if (parent_section->flags & SECTION_FLAG_IS_ARRAY) {
- int n = parent_section->flags & SECTION_FLAG_NUMBERING_BY_TYPE ?
+ if (parent_section->flags & AV_TEXTFORMAT_SECTION_FLAG_IS_ARRAY) {
+ int n = parent_section->flags &
AV_TEXTFORMAT_SECTION_FLAG_NUMBERING_BY_TYPE ?
wctx->nb_item_type[wctx->level-1][section->id] :
wctx->nb_item[wctx->level-1];
av_bprintf(buf, ".%d", n);
}
}
- if (!(section->flags & (SECTION_FLAG_IS_ARRAY|SECTION_FLAG_IS_WRAPPER)))
+ if (!(section->flags &
(AV_TEXTFORMAT_SECTION_FLAG_IS_ARRAY|AV_TEXTFORMAT_SECTION_FLAG_IS_WRAPPER)))
writer_printf(wctx, "[%s]\n", buf->str);
}
@@ -1075,7 +1075,7 @@ static void json_print_section_header(AVTextFormatContext
*wctx, const void *dat
if (wctx->level && wctx->nb_item[wctx->level-1])
writer_put_str(wctx, ",\n");
- if (section->flags & SECTION_FLAG_IS_WRAPPER) {
+ if (section->flags & AV_TEXTFORMAT_SECTION_FLAG_IS_WRAPPER) {
writer_put_str(wctx, "{\n");
json->indent_level++;
} else {
@@ -1084,15 +1084,15 @@ static void
json_print_section_header(AVTextFormatContext *wctx, const void *dat
JSON_INDENT();
json->indent_level++;
- if (section->flags & SECTION_FLAG_IS_ARRAY) {
+ if (section->flags & AV_TEXTFORMAT_SECTION_FLAG_IS_ARRAY) {
writer_printf(wctx, "\"%s\": [\n", buf.str);
- } else if (parent_section && !(parent_section->flags &
SECTION_FLAG_IS_ARRAY)) {
+ } else if (parent_section && !(parent_section->flags &
AV_TEXTFORMAT_SECTION_FLAG_IS_ARRAY)) {
writer_printf(wctx, "\"%s\": {%s", buf.str, json->item_start_end);
} else {
writer_printf(wctx, "{%s", json->item_start_end);
/* this is required so the parser can distinguish between packets
and frames */
- if (parent_section && parent_section->flags &
SECTION_FLAG_NUMBERING_BY_TYPE) {
+ if (parent_section && parent_section->flags &
AV_TEXTFORMAT_SECTION_FLAG_NUMBERING_BY_TYPE) {
if (!json->compact)
JSON_INDENT();
writer_printf(wctx, "\"type\": \"%s\"", section->name);
@@ -1111,7 +1111,7 @@ static void json_print_section_footer(AVTextFormatContext
*wctx)
if (wctx->level == 0) {
json->indent_level--;
writer_put_str(wctx, "\n}\n");
- } else if (section->flags & SECTION_FLAG_IS_ARRAY) {
+ } else if (section->flags & AV_TEXTFORMAT_SECTION_FLAG_IS_ARRAY) {
writer_w8(wctx, '\n');
json->indent_level--;
JSON_INDENT();
@@ -1143,7 +1143,7 @@ static void json_print_str(AVTextFormatContext *wctx,
const char *key, const cha
const struct AVTextFormatSection *parent_section = wctx->level ?
wctx->section[wctx->level-1] : NULL;
- if (wctx->nb_item[wctx->level] || (parent_section && parent_section->flags
& SECTION_FLAG_NUMBERING_BY_TYPE))
+ if (wctx->nb_item[wctx->level] || (parent_section && parent_section->flags
& AV_TEXTFORMAT_SECTION_FLAG_NUMBERING_BY_TYPE))
writer_put_str(wctx, json->item_sep);
if (!json->compact)
JSON_INDENT();
@@ -1157,7 +1157,7 @@ static void json_print_int(AVTextFormatContext *wctx,
const char *key, int64_t v
wctx->section[wctx->level-1] : NULL;
AVBPrint buf;
- if (wctx->nb_item[wctx->level] || (parent_section && parent_section->flags
& SECTION_FLAG_NUMBERING_BY_TYPE))
+ if (wctx->nb_item[wctx->level] || (parent_section && parent_section->flags
& AV_TEXTFORMAT_SECTION_FLAG_NUMBERING_BY_TYPE))
writer_put_str(wctx, json->item_sep);
if (!json->compact)
JSON_INDENT();
@@ -1249,15 +1249,15 @@ static void
xml_print_section_header(AVTextFormatContext *wctx, const void *data
writer_put_str(wctx, ">\n");
}
- if (parent_section && (parent_section->flags & SECTION_FLAG_IS_WRAPPER) &&
+ if (parent_section && (parent_section->flags &
AV_TEXTFORMAT_SECTION_FLAG_IS_WRAPPER) &&
wctx->level && wctx->nb_item[wctx->level-1])
writer_w8(wctx, '\n');
xml->indent_level++;
- if (section->flags &
(SECTION_FLAG_IS_ARRAY|SECTION_FLAG_HAS_VARIABLE_FIELDS)) {
+ if (section->flags &
(AV_TEXTFORMAT_SECTION_FLAG_IS_ARRAY|AV_TEXTFORMAT_SECTION_FLAG_HAS_VARIABLE_FIELDS))
{
XML_INDENT(); writer_printf(wctx, "<%s", section->name);
- if (section->flags & SECTION_FLAG_HAS_TYPE) {
+ if (section->flags & AV_TEXTFORMAT_SECTION_FLAG_HAS_TYPE) {
AVBPrint buf;
av_bprint_init(&buf, 1, AV_BPRINT_SIZE_UNLIMITED);
av_bprint_escape(&buf, section->get_type(data), NULL,
@@ -1297,7 +1297,7 @@ static void xml_print_value(AVTextFormatContext *wctx,
const char *key,
av_bprint_init(&buf, 1, AV_BPRINT_SIZE_UNLIMITED);
- if (section->flags & SECTION_FLAG_HAS_VARIABLE_FIELDS) {
+ if (section->flags & AV_TEXTFORMAT_SECTION_FLAG_HAS_VARIABLE_FIELDS) {
xml->indent_level++;
XML_INDENT();
av_bprint_escape(&buf, key, NULL,
@@ -1389,8 +1389,8 @@ static void writer_register_all(void)
#define print_int(k, v) avtext_print_integer(w, k, v)
#define print_q(k, v, s) avtext_print_rational(w, k, v, s)
#define print_str(k, v) avtext_print_string(w, k, v, 0)
-#define print_str_opt(k, v) avtext_print_string(w, k, v, PRINT_STRING_OPT)
-#define print_str_validate(k, v) avtext_print_string(w, k, v,
PRINT_STRING_VALIDATE)
+#define print_str_opt(k, v) avtext_print_string(w, k, v,
AV_TEXTFORMAT_PRINT_STRING_OPTIONAL)
+#define print_str_validate(k, v) avtext_print_string(w, k, v,
AV_TEXTFORMAT_PRINT_STRING_VALIDATE)
#define print_time(k, v, tb) avtext_print_time(w, k, v, tb, 0)
#define print_ts(k, v) avtext_print_ts(w, k, v, 0)
#define print_duration_time(k, v, tb) avtext_print_time(w, k, v, tb, 1)
@@ -3897,10 +3897,10 @@ static void print_section(SectionID id, int level)
const int *pid;
const struct AVTextFormatSection *section = §ions[id];
printf("%c%c%c%c",
- section->flags & SECTION_FLAG_IS_WRAPPER ? 'W' : '.',
- section->flags & SECTION_FLAG_IS_ARRAY ? 'A' : '.',
- section->flags & SECTION_FLAG_HAS_VARIABLE_FIELDS ? 'V' : '.',
- section->flags & SECTION_FLAG_HAS_TYPE ? 'T' : '.');
+ section->flags & AV_TEXTFORMAT_SECTION_FLAG_IS_WRAPPER ?
'W' : '.',
+ section->flags & AV_TEXTFORMAT_SECTION_FLAG_IS_ARRAY ?
'A' : '.',
+ section->flags & AV_TEXTFORMAT_SECTION_FLAG_HAS_VARIABLE_FIELDS ?
'V' : '.',
+ section->flags & AV_TEXTFORMAT_SECTION_FLAG_HAS_TYPE ?
'T' : '.');
printf("%*c %s", level * 4, ' ', section->name);
if (section->unique_name)
printf("/%s", section->unique_name);
diff --git a/libavutil/avtextformat.h b/libavutil/avtextformat.h
index a7f8055783..e40aca1de7 100644
--- a/libavutil/avtextformat.h
+++ b/libavutil/avtextformat.h
@@ -37,12 +37,12 @@ struct AVTextFormatSection {
int id; ///< unique id identifying a section
const char *name;
-#define SECTION_FLAG_IS_WRAPPER 1 ///< the section only contains other
sections, but has no data at its own level
-#define SECTION_FLAG_IS_ARRAY 2 ///< the section contains an array of
elements of the same type
-#define SECTION_FLAG_HAS_VARIABLE_FIELDS 4 ///< the section may contain a
variable number of fields with variable keys.
+#define AV_TEXTFORMAT_SECTION_FLAG_IS_WRAPPER 1 ///< the section only
contains other sections, but has no data at its own level
+#define AV_TEXTFORMAT_SECTION_FLAG_IS_ARRAY 2 ///< the section contains
an array of elements of the same type
+#define AV_TEXTFORMAT_SECTION_FLAG_HAS_VARIABLE_FIELDS 4 ///< the section may
contain a variable number of fields with variable keys.
/// For these sections the
element_name field is mandatory.
-#define SECTION_FLAG_HAS_TYPE 8 ///< the section contains a type to
distinguish multiple nested elements
-#define SECTION_FLAG_NUMBERING_BY_TYPE 16 ///< the items in this array section
should be numbered individually by type
+#define AV_TEXTFORMAT_SECTION_FLAG_HAS_TYPE 8 ///< the section contains
a type to distinguish multiple nested elements
+#define AV_TEXTFORMAT_SECTION_FLAG_NUMBERING_BY_TYPE 16 ///< the items in this
array section should be numbered individually by type
int flags;
const int children_ids[SECTION_MAX_NB_CHILDREN+1]; ///< list of children
section IDS, terminated by -1
@@ -59,10 +59,10 @@ typedef struct AVTextFormatContext AVTextFormatContext;
#define AV_TEXTFORMAT_FLAG_SUPPORTS_MIXED_ARRAY_CONTENT 2
typedef enum {
- WRITER_STRING_VALIDATION_FAIL,
- WRITER_STRING_VALIDATION_REPLACE,
- WRITER_STRING_VALIDATION_IGNORE,
- WRITER_STRING_VALIDATION_NB
+ AV_TEXTFORMAT_STRING_VALIDATION_FAIL,
+ AV_TEXTFORMAT_STRING_VALIDATION_REPLACE,
+ AV_TEXTFORMAT_STRING_VALIDATION_IGNORE,
+ AV_TEXTFORMAT_STRING_VALIDATION_NB
} StringValidation;
typedef struct AVTextFormatter {
@@ -78,7 +78,7 @@ typedef struct AVTextFormatter {
void (*print_integer) (AVTextFormatContext *wctx, const char *,
int64_t);
void (*print_rational) (AVTextFormatContext *wctx, AVRational *q,
char *sep);
void (*print_string) (AVTextFormatContext *wctx, const char *,
const char *);
- int flags; ///< a combination or WRITER_FLAG_*
+ int flags; ///< a combination or AV_TEXTFORMAT__FLAG_*
} AVTextFormatter;
#define SECTION_MAX_NB_LEVELS 12
@@ -127,8 +127,8 @@ struct AVTextFormatContext {
#define SHOW_OPTIONAL_FIELDS_NEVER 0
#define SHOW_OPTIONAL_FIELDS_ALWAYS 1
-#define PRINT_STRING_OPT 1
-#define PRINT_STRING_VALIDATE 2
+#define AV_TEXTFORMAT_PRINT_STRING_OPTIONAL 1
+#define AV_TEXTFORMAT_PRINT_STRING_VALIDATE 2
int avtext_context_open(AVTextFormatContext **pwctx, const AVTextFormatter
*writer, const char *args,
const struct AVTextFormatSection *sections, int
nb_sections,
diff --git a/libavutil/textformat/avtextformat.c
b/libavutil/textformat/avtextformat.c
index 9516c114b9..e0debcf83e 100644
--- a/libavutil/textformat/avtextformat.c
+++ b/libavutil/textformat/avtextformat.c
@@ -60,12 +60,12 @@ static const char *avtext_context_get_writer_name(void *p)
static const AVOption textcontext_options[] = {
{ "string_validation", "set string validation mode",
- OFFSET(string_validation), AV_OPT_TYPE_INT,
{.i64=WRITER_STRING_VALIDATION_REPLACE}, 0, WRITER_STRING_VALIDATION_NB-1,
.unit = "sv" },
+ OFFSET(string_validation), AV_OPT_TYPE_INT,
{.i64=AV_TEXTFORMAT_STRING_VALIDATION_REPLACE}, 0,
AV_TEXTFORMAT_STRING_VALIDATION_NB-1, .unit = "sv" },
{ "sv", "set string validation mode",
- OFFSET(string_validation), AV_OPT_TYPE_INT,
{.i64=WRITER_STRING_VALIDATION_REPLACE}, 0, WRITER_STRING_VALIDATION_NB-1,
.unit = "sv" },
- { "ignore", NULL, 0, AV_OPT_TYPE_CONST, {.i64 =
WRITER_STRING_VALIDATION_IGNORE}, .unit = "sv" },
- { "replace", NULL, 0, AV_OPT_TYPE_CONST, {.i64 =
WRITER_STRING_VALIDATION_REPLACE}, .unit = "sv" },
- { "fail", NULL, 0, AV_OPT_TYPE_CONST, {.i64 =
WRITER_STRING_VALIDATION_FAIL}, .unit = "sv" },
+ OFFSET(string_validation), AV_OPT_TYPE_INT,
{.i64=AV_TEXTFORMAT_STRING_VALIDATION_REPLACE}, 0,
AV_TEXTFORMAT_STRING_VALIDATION_NB-1, .unit = "sv" },
+ { "ignore", NULL, 0, AV_OPT_TYPE_CONST, {.i64 =
AV_TEXTFORMAT_STRING_VALIDATION_IGNORE}, .unit = "sv" },
+ { "replace", NULL, 0, AV_OPT_TYPE_CONST, {.i64 =
AV_TEXTFORMAT_STRING_VALIDATION_REPLACE}, .unit = "sv" },
+ { "fail", NULL, 0, AV_OPT_TYPE_CONST, {.i64 =
AV_TEXTFORMAT_STRING_VALIDATION_FAIL}, .unit = "sv" },
{ "string_validation_replacement", "set string validation replacement
string", OFFSET(string_validation_replacement), AV_OPT_TYPE_STRING, {.str=""}},
{ "svr", "set string validation replacement string",
OFFSET(string_validation_replacement), AV_OPT_TYPE_STRING,
{.str="\xEF\xBF\xBD"}},
{ NULL }
@@ -374,24 +374,24 @@ static inline int validate_string(AVTextFormatContext
*wctx, char **dstp, const
invalid_chars_nb++;
switch (wctx->string_validation) {
- case WRITER_STRING_VALIDATION_FAIL:
+ case AV_TEXTFORMAT_STRING_VALIDATION_FAIL:
av_log(wctx, AV_LOG_ERROR,
"Invalid UTF-8 sequence found in string '%s'\n", src);
ret = AVERROR_INVALIDDATA;
goto end;
break;
- case WRITER_STRING_VALIDATION_REPLACE:
+ case AV_TEXTFORMAT_STRING_VALIDATION_REPLACE:
av_bprintf(&dstbuf, "%s", wctx->string_validation_replacement);
break;
}
}
- if (!invalid || wctx->string_validation ==
WRITER_STRING_VALIDATION_IGNORE)
+ if (!invalid || wctx->string_validation ==
AV_TEXTFORMAT_STRING_VALIDATION_IGNORE)
av_bprint_append_data(&dstbuf, p0, p-p0);
}
- if (invalid_chars_nb && wctx->string_validation ==
WRITER_STRING_VALIDATION_REPLACE) {
+ if (invalid_chars_nb && wctx->string_validation ==
AV_TEXTFORMAT_STRING_VALIDATION_REPLACE) {
av_log(wctx, AV_LOG_WARNING,
"%d invalid UTF-8 sequence(s) found in string '%s', replaced
with '%s'\n",
invalid_chars_nb, src, wctx->string_validation_replacement);
@@ -478,12 +478,12 @@ int avtext_print_string(AVTextFormatContext *wctx, const
char *key, const char *
if (wctx->show_optional_fields == SHOW_OPTIONAL_FIELDS_NEVER ||
(wctx->show_optional_fields == SHOW_OPTIONAL_FIELDS_AUTO
- && (flags & PRINT_STRING_OPT)
+ && (flags & AV_TEXTFORMAT_PRINT_STRING_OPTIONAL)
&& !(wctx->writer->flags &
AV_TEXTFORMAT_FLAG_SUPPORTS_OPTIONAL_FIELDS)))
return 0;
if (section->show_all_entries || av_dict_get(section->entries_to_show,
key, NULL, 0)) {
- if (flags & PRINT_STRING_VALIDATE) {
+ if (flags & AV_TEXTFORMAT_PRINT_STRING_VALIDATE) {
char *key1 = NULL, *val1 = NULL;
ret = validate_string(wctx, &key1, key);
if (ret < 0) goto end;
@@ -523,7 +523,7 @@ void avtext_print_time(AVTextFormatContext *wctx, const
char *key,
char buf[128];
if ((!is_duration && ts == AV_NOPTS_VALUE) || (is_duration && ts == 0)) {
- avtext_print_string(wctx, key, "N/A", PRINT_STRING_OPT);
+ avtext_print_string(wctx, key, "N/A",
AV_TEXTFORMAT_PRINT_STRING_OPTIONAL);
} else {
double d = ts * av_q2d(*time_base);
struct unit_value uv;
@@ -537,7 +537,7 @@ void avtext_print_time(AVTextFormatContext *wctx, const
char *key,
void avtext_print_ts(AVTextFormatContext *wctx, const char *key, int64_t ts,
int is_duration)
{
if ((!is_duration && ts == AV_NOPTS_VALUE) || (is_duration && ts == 0)) {
- avtext_print_string(wctx, key, "N/A", PRINT_STRING_OPT);
+ avtext_print_string(wctx, key, "N/A",
AV_TEXTFORMAT_PRINT_STRING_OPTIONAL);
} else {
avtext_print_integer(wctx, key, ts);
}
--
ffmpeg-codebot
_______________________________________________
ffmpeg-devel mailing list
[email protected]
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
[email protected] with subject "unsubscribe".