summaryrefslogtreecommitdiff
path: root/libavformat/matroska.h
diff options
context:
space:
mode:
authorquietvoid <tcchlisop0@gmail.com>2022-01-01 17:51:50 +0100
committerAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2022-01-04 04:29:36 +0100
commit05c07943b04de2514343b1de09dc6dca64502643 (patch)
treea25907d5e2fac325e85dc4b71cd1170a07f4e599 /libavformat/matroska.h
parent5c16e463745ece2f18777a5424d7779853d63011 (diff)
downloadffmpeg-05c07943b04de2514343b1de09dc6dca64502643.tar.gz
avformat/matroska{dec, enc}: Parse BlockAdditionMapping elements
Adds handling of dvcC/dvvC block addition mappings. The parsing creates AVDOVIDecoderConfigurationRecord side data. The configuration block is written when muxing into Matroska, if DOVI side data is present for the track. Most of the Matroska element parsing is based on Plex's FFmpeg source code. Signed-off-by: quietvoid <tcChlisop0@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Diffstat (limited to 'libavformat/matroska.h')
-rw-r--r--libavformat/matroska.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/libavformat/matroska.h b/libavformat/matroska.h
index 2d04a6838b..16491aae22 100644
--- a/libavformat/matroska.h
+++ b/libavformat/matroska.h
@@ -111,6 +111,7 @@
#define MATROSKA_ID_TRACKCONTENTENCODING 0x6240
#define MATROSKA_ID_TRACKTIMECODESCALE 0x23314F
#define MATROSKA_ID_TRACKMAXBLKADDID 0x55EE
+#define MATROSKA_ID_TRACKBLKADDMAPPING 0x41E4
/* IDs in the trackvideo master */
#define MATROSKA_ID_VIDEOFRAMERATE 0x2383E3
@@ -189,6 +190,12 @@
#define MATROSKA_ID_ENCODINGSIGKEYID 0x47E4
#define MATROSKA_ID_ENCODINGSIGNATURE 0x47E3
+/* IDs in the block addition mapping master */
+#define MATROSKA_ID_BLKADDIDVALUE 0x41F0
+#define MATROSKA_ID_BLKADDIDNAME 0x41A4
+#define MATROSKA_ID_BLKADDIDTYPE 0x41E7
+#define MATROSKA_ID_BLKADDIDEXTRADATA 0x41ED
+
/* ID in the cues master */
#define MATROSKA_ID_POINTENTRY 0xBB
@@ -385,4 +392,6 @@ extern const char * const ff_matroska_video_stereo_plane[MATROSKA_VIDEO_STEREO_P
int ff_mkv_stereo3d_conv(AVStream *st, MatroskaVideoStereoModeType stereo_mode);
+#define DVCC_DVVC_BLOCK_TYPE_NAME "Dolby Vision configuration"
+
#endif /* AVFORMAT_MATROSKA_H */