1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00

lavf: improve AV_DISPOSITION_* doxy

Also switch the values definition to the (1 << N) style, which is easier
to read.
This commit is contained in:
Anton Khirnov 2021-11-11 13:40:37 +01:00
parent 8af7bcb6c3
commit 85433fb937

View File

@ -803,22 +803,56 @@ typedef struct AVIndexEntry {
int min_distance; /**< Minimum distance between this and the previous keyframe, used to avoid unneeded searching. */
} AVIndexEntry;
#define AV_DISPOSITION_DEFAULT 0x0001
#define AV_DISPOSITION_DUB 0x0002
#define AV_DISPOSITION_ORIGINAL 0x0004
#define AV_DISPOSITION_COMMENT 0x0008
#define AV_DISPOSITION_LYRICS 0x0010
#define AV_DISPOSITION_KARAOKE 0x0020
/**
* The stream should be chosen by default among other streams of the same type,
* unless the user has explicitly specified otherwise.
*/
#define AV_DISPOSITION_DEFAULT (1 << 0)
/**
* The stream is not in original language.
*
* @note AV_DISPOSITION_ORIGINAL is the inverse of this disposition. At most
* one of them should be set in properly tagged streams.
* @note This disposition may apply to any stream type, not just audio.
*/
#define AV_DISPOSITION_DUB (1 << 1)
/**
* The stream is in original language.
*
* @see the notes for AV_DISPOSITION_DUB
*/
#define AV_DISPOSITION_ORIGINAL (1 << 2)
/**
* The stream is a commentary track.
*/
#define AV_DISPOSITION_COMMENT (1 << 3)
/**
* The stream contains song lyrics.
*/
#define AV_DISPOSITION_LYRICS (1 << 4)
/**
* The stream contains karaoke audio.
*/
#define AV_DISPOSITION_KARAOKE (1 << 5)
/**
* Track should be used during playback by default.
* Useful for subtitle track that should be displayed
* even when user did not explicitly ask for subtitles.
*/
#define AV_DISPOSITION_FORCED 0x0040
#define AV_DISPOSITION_HEARING_IMPAIRED 0x0080 /**< stream for hearing impaired audiences */
#define AV_DISPOSITION_VISUAL_IMPAIRED 0x0100 /**< stream for visual impaired audiences */
#define AV_DISPOSITION_CLEAN_EFFECTS 0x0200 /**< stream without voice */
#define AV_DISPOSITION_FORCED (1 << 6)
/**
* The stream is intended for hearing impaired audiences.
*/
#define AV_DISPOSITION_HEARING_IMPAIRED (1 << 7)
/**
* The stream is intended for visually impaired audiences.
*/
#define AV_DISPOSITION_VISUAL_IMPAIRED (1 << 8)
/**
* The audio stream contains music and sound effects without voice.
*/
#define AV_DISPOSITION_CLEAN_EFFECTS (1 << 9)
/**
* The stream is stored in the file as an attached picture/"cover art" (e.g.
* APIC frame in ID3v2). The first (usually only) packet associated with it
@ -826,21 +860,39 @@ typedef struct AVIndexEntry {
* seeking takes place. It can also be accessed at any time in
* AVStream.attached_pic.
*/
#define AV_DISPOSITION_ATTACHED_PIC 0x0400
#define AV_DISPOSITION_ATTACHED_PIC (1 << 10)
/**
* The stream is sparse, and contains thumbnail images, often corresponding
* to chapter markers. Only ever used with AV_DISPOSITION_ATTACHED_PIC.
*/
#define AV_DISPOSITION_TIMED_THUMBNAILS 0x0800
#define AV_DISPOSITION_TIMED_THUMBNAILS (1 << 11)
/**
* To specify text track kind (different from subtitles default).
* The subtitle stream contains captions, providing a transcription and possibly
* a translation of audio. Typically intended for hearing-impaired audiences.
*/
#define AV_DISPOSITION_CAPTIONS 0x10000
#define AV_DISPOSITION_DESCRIPTIONS 0x20000
#define AV_DISPOSITION_METADATA 0x40000
#define AV_DISPOSITION_DEPENDENT 0x80000 ///< dependent audio stream (mix_type=0 in mpegts)
#define AV_DISPOSITION_STILL_IMAGE 0x100000 ///< still images in video stream (still_picture_flag=1 in mpegts)
#define AV_DISPOSITION_CAPTIONS (1 << 16)
/**
* The subtitle stream contains a textual description of the video content.
* Typically intended for visually-impaired audiences or for the cases where the
* video cannot be seen.
*/
#define AV_DISPOSITION_DESCRIPTIONS (1 << 17)
/**
* The subtitle stream contains time-aligned metadata that is not intended to be
* directly presented to the user.
*/
#define AV_DISPOSITION_METADATA (1 << 18)
/**
* The audio stream is intended to be mixed with another stream before
* presentation.
* Corresponds to mix_type=0 in mpegts.
*/
#define AV_DISPOSITION_DEPENDENT (1 << 19)
/**
* The video stream contains still images.
*/
#define AV_DISPOSITION_STILL_IMAGE (1 << 20)
/**
* Options for behavior on timestamp wrap detection.
@ -903,7 +955,13 @@ typedef struct AVStream {
int64_t nb_frames; ///< number of frames in this stream if known or 0
int disposition; /**< AV_DISPOSITION_* bit field */
/**
* Stream disposition - a combination of AV_DISPOSITION_* flags.
* - demuxing: set by libavformat when creating the stream or in
* avformat_find_stream_info().
* - muxing: may be set by the caller before avformat_write_header().
*/
int disposition;
enum AVDiscard discard; ///< Selects which packets can be discarded at will and do not need to be demuxed.