[FFmpeg-cvslog] avformat/avformat: Reorder AVFormatContext fields
James Almer
git at videolan.org
Thu Mar 7 16:42:58 EET 2024
ffmpeg | branch: master | James Almer <jamrial at gmail.com> | Mon Feb 19 00:02:57 2024 -0300| [c8db1006ef5cb0f40f485fe6ce255892d8af5eb3] | committer: James Almer
avformat/avformat: Reorder AVFormatContext fields
Move related fields closer together.
Signed-off-by: James Almer <jamrial at gmail.com>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=c8db1006ef5cb0f40f485fe6ce255892d8af5eb3
---
libavformat/avformat.h | 222 ++++++++++++++++++++++++-------------------------
1 file changed, 111 insertions(+), 111 deletions(-)
diff --git a/libavformat/avformat.h b/libavformat/avformat.h
index e63654668b..de40397676 100644
--- a/libavformat/avformat.h
+++ b/libavformat/avformat.h
@@ -1324,6 +1324,39 @@ typedef struct AVFormatContext {
*/
AVStream **streams;
+ /**
+ * Number of elements in AVFormatContext.stream_groups.
+ *
+ * Set by avformat_stream_group_create(), must not be modified by any other code.
+ */
+ unsigned int nb_stream_groups;
+ /**
+ * A list of all stream groups in the file. New groups are created with
+ * avformat_stream_group_create(), and filled with avformat_stream_group_add_stream().
+ *
+ * - demuxing: groups may be created by libavformat in avformat_open_input().
+ * If AVFMTCTX_NOHEADER is set in ctx_flags, then new groups may also
+ * appear in av_read_frame().
+ * - muxing: groups may be created by the user before avformat_write_header().
+ *
+ * Freed by libavformat in avformat_free_context().
+ */
+ AVStreamGroup **stream_groups;
+
+ /**
+ * Number of chapters in AVChapter array.
+ * When muxing, chapters are normally written in the file header,
+ * so nb_chapters should normally be initialized before write_header
+ * is called. Some muxers (e.g. mov and mkv) can also write chapters
+ * in the trailer. To write chapters in the trailer, nb_chapters
+ * must be zero when write_header is called and non-zero when
+ * write_trailer is called.
+ * - muxing: set by user
+ * - demuxing: set by libavformat
+ */
+ unsigned int nb_chapters;
+ AVChapter **chapters;
+
/**
* input or output URL. Unlike the old filename field, this field has no
* length restriction.
@@ -1443,36 +1476,10 @@ typedef struct AVFormatContext {
enum AVCodecID subtitle_codec_id;
/**
- * Maximum amount of memory in bytes to use for the index of each stream.
- * If the index exceeds this size, entries will be discarded as
- * needed to maintain a smaller size. This can lead to slower or less
- * accurate seeking (depends on demuxer).
- * Demuxers for which a full in-memory index is mandatory will ignore
- * this.
- * - muxing: unused
- * - demuxing: set by user
- */
- unsigned int max_index_size;
-
- /**
- * Maximum amount of memory in bytes to use for buffering frames
- * obtained from realtime capture devices.
- */
- unsigned int max_picture_buffer;
-
- /**
- * Number of chapters in AVChapter array.
- * When muxing, chapters are normally written in the file header,
- * so nb_chapters should normally be initialized before write_header
- * is called. Some muxers (e.g. mov and mkv) can also write chapters
- * in the trailer. To write chapters in the trailer, nb_chapters
- * must be zero when write_header is called and non-zero when
- * write_trailer is called.
- * - muxing: set by user
- * - demuxing: set by libavformat
+ * Forced Data codec_id.
+ * Demuxing: Set by user.
*/
- unsigned int nb_chapters;
- AVChapter **chapters;
+ enum AVCodecID data_codec_id;
/**
* Metadata that applies to the whole file.
@@ -1528,6 +1535,31 @@ typedef struct AVFormatContext {
int debug;
#define FF_FDEBUG_TS 0x0001
+ /**
+ * The maximum number of streams.
+ * - encoding: unused
+ * - decoding: set by user
+ */
+ int max_streams;
+
+ /**
+ * Maximum amount of memory in bytes to use for the index of each stream.
+ * If the index exceeds this size, entries will be discarded as
+ * needed to maintain a smaller size. This can lead to slower or less
+ * accurate seeking (depends on demuxer).
+ * Demuxers for which a full in-memory index is mandatory will ignore
+ * this.
+ * - muxing: unused
+ * - demuxing: set by user
+ */
+ unsigned int max_index_size;
+
+ /**
+ * Maximum amount of memory in bytes to use for buffering frames
+ * obtained from realtime capture devices.
+ */
+ unsigned int max_picture_buffer;
+
/**
* Maximum buffering duration for interleaving.
*
@@ -1546,6 +1578,35 @@ typedef struct AVFormatContext {
*/
int64_t max_interleave_delta;
+ /**
+ * Maximum number of packets to read while waiting for the first timestamp.
+ * Decoding only.
+ */
+ int max_ts_probe;
+
+ /**
+ * Max chunk time in microseconds.
+ * Note, not all formats support this and unpredictable things may happen if it is used when not supported.
+ * - encoding: Set by user
+ * - decoding: unused
+ */
+ int max_chunk_duration;
+
+ /**
+ * Max chunk size in bytes
+ * Note, not all formats support this and unpredictable things may happen if it is used when not supported.
+ * - encoding: Set by user
+ * - decoding: unused
+ */
+ int max_chunk_size;
+
+ /**
+ * Maximum number of packets that can be probed
+ * - encoding: unused
+ * - decoding: set by user
+ */
+ int max_probe_packets;
+
/**
* Allow non-standard and experimental extension
* @see AVCodecContext.strict_std_compliance
@@ -1572,11 +1633,6 @@ typedef struct AVFormatContext {
*/
#define AVFMT_EVENT_FLAG_METADATA_UPDATED 0x0001
- /**
- * Maximum number of packets to read while waiting for the first timestamp.
- * Decoding only.
- */
- int max_ts_probe;
/**
* Avoid negative timestamps during muxing.
@@ -1599,22 +1655,6 @@ typedef struct AVFormatContext {
*/
int audio_preload;
- /**
- * Max chunk time in microseconds.
- * Note, not all formats support this and unpredictable things may happen if it is used when not supported.
- * - encoding: Set by user
- * - decoding: unused
- */
- int max_chunk_duration;
-
- /**
- * Max chunk size in bytes
- * Note, not all formats support this and unpredictable things may happen if it is used when not supported.
- * - encoding: Set by user
- * - decoding: unused
- */
- int max_chunk_size;
-
/**
* forces the use of wallclock timestamps as pts/dts of packets
* This has undefined results in the presence of B frames.
@@ -1623,6 +1663,13 @@ typedef struct AVFormatContext {
*/
int use_wallclock_as_timestamps;
+ /**
+ * Skip duration calcuation in estimate_timings_from_pts.
+ * - encoding: unused
+ * - decoding: set by user
+ */
+ int skip_estimate_duration_from_pts;
+
/**
* avio flags, used to force AVIO_FLAG_DIRECT.
* - encoding: unused
@@ -1702,6 +1749,20 @@ typedef struct AVFormatContext {
*/
char *format_whitelist;
+ /**
+ * ',' separated list of allowed protocols.
+ * - encoding: unused
+ * - decoding: set by user
+ */
+ char *protocol_whitelist;
+
+ /**
+ * ',' separated list of disallowed protocols.
+ * - encoding: unused
+ * - decoding: set by user
+ */
+ char *protocol_blacklist;
+
/**
* IO repositioned flag.
* This is set by avformat when the underlaying IO context read pointer
@@ -1774,19 +1835,6 @@ typedef struct AVFormatContext {
*/
uint8_t *dump_separator;
- /**
- * Forced Data codec_id.
- * Demuxing: Set by user.
- */
- enum AVCodecID data_codec_id;
-
- /**
- * ',' separated list of allowed protocols.
- * - encoding: unused
- * - decoding: set by user
- */
- char *protocol_whitelist;
-
/**
* A callback for opening new IO streams.
*
@@ -1810,34 +1858,6 @@ typedef struct AVFormatContext {
int (*io_open)(struct AVFormatContext *s, AVIOContext **pb, const char *url,
int flags, AVDictionary **options);
- /**
- * ',' separated list of disallowed protocols.
- * - encoding: unused
- * - decoding: set by user
- */
- char *protocol_blacklist;
-
- /**
- * The maximum number of streams.
- * - encoding: unused
- * - decoding: set by user
- */
- int max_streams;
-
- /**
- * Skip duration calcuation in estimate_timings_from_pts.
- * - encoding: unused
- * - decoding: set by user
- */
- int skip_estimate_duration_from_pts;
-
- /**
- * Maximum number of packets that can be probed
- * - encoding: unused
- * - decoding: set by user
- */
- int max_probe_packets;
-
/**
* A callback for closing the streams opened with AVFormatContext.io_open().
*
@@ -1850,26 +1870,6 @@ typedef struct AVFormatContext {
* @return 0 on success, a negative AVERROR code on failure
*/
int (*io_close2)(struct AVFormatContext *s, AVIOContext *pb);
-
- /**
- * Number of elements in AVFormatContext.stream_groups.
- *
- * Set by avformat_stream_group_create(), must not be modified by any other code.
- */
- unsigned int nb_stream_groups;
-
- /**
- * A list of all stream groups in the file. New groups are created with
- * avformat_stream_group_create(), and filled with avformat_stream_group_add_stream().
- *
- * - demuxing: groups may be created by libavformat in avformat_open_input().
- * If AVFMTCTX_NOHEADER is set in ctx_flags, then new groups may also
- * appear in av_read_frame().
- * - muxing: groups may be created by the user before avformat_write_header().
- *
- * Freed by libavformat in avformat_free_context().
- */
- AVStreamGroup **stream_groups;
} AVFormatContext;
/**
More information about the ffmpeg-cvslog
mailing list