Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(716)

Unified Diff: media/formats/webm/webm_parser.cc

Issue 2333663003: Add color metadata info to VideoDecoderConfig. (Closed)
Patch Set: Commented the RangeID comment as suggested Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « media/formats/webm/webm_constants.h ('k') | media/formats/webm/webm_stream_parser_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: media/formats/webm/webm_parser.cc
diff --git a/media/formats/webm/webm_parser.cc b/media/formats/webm/webm_parser.cc
index 985bada5e6b42889fe4993f5eccb88043b8e8c4b..1fc60f5387e6bc196a5310ee1d6583e3614de972 100644
--- a/media/formats/webm/webm_parser.cc
+++ b/media/formats/webm/webm_parser.cc
@@ -185,21 +185,44 @@ static const ElementIdInfo kTrackTranslateIds[] = {
};
static const ElementIdInfo kVideoIds[] = {
- {UINT, kWebMIdFlagInterlaced},
- {UINT, kWebMIdStereoMode},
- {UINT, kWebMIdAlphaMode},
- {UINT, kWebMIdPixelWidth},
- {UINT, kWebMIdPixelHeight},
- {UINT, kWebMIdPixelCropBottom},
- {UINT, kWebMIdPixelCropTop},
- {UINT, kWebMIdPixelCropLeft},
- {UINT, kWebMIdPixelCropRight},
- {UINT, kWebMIdDisplayWidth},
- {UINT, kWebMIdDisplayHeight},
- {UINT, kWebMIdDisplayUnit},
- {UINT, kWebMIdAspectRatioType},
- {BINARY, kWebMIdColorSpace},
- {FLOAT, kWebMIdFrameRate},
+ {UINT, kWebMIdFlagInterlaced}, {UINT, kWebMIdStereoMode},
+ {UINT, kWebMIdAlphaMode}, {UINT, kWebMIdPixelWidth},
+ {UINT, kWebMIdPixelHeight}, {UINT, kWebMIdPixelCropBottom},
+ {UINT, kWebMIdPixelCropTop}, {UINT, kWebMIdPixelCropLeft},
+ {UINT, kWebMIdPixelCropRight}, {UINT, kWebMIdDisplayWidth},
+ {UINT, kWebMIdDisplayHeight}, {UINT, kWebMIdDisplayUnit},
+ {UINT, kWebMIdAspectRatioType}, {BINARY, kWebMIdColorSpace},
+ {FLOAT, kWebMIdFrameRate}, {LIST, kWebMIdColour},
+};
+
+static const ElementIdInfo kColourIds[] = {
+ {UINT, kWebMIdMatrixCoefficients},
+ {UINT, kWebMIdBitsPerChannel},
+ {UINT, kWebMIdChromaSubsamplingHorz},
+ {UINT, kWebMIdChromaSubsamplingVert},
+ {UINT, kWebMIdCbSubsamplingHorz},
+ {UINT, kWebMIdCbSubsamplingVert},
+ {UINT, kWebMIdChromaSitingHorz},
+ {UINT, kWebMIdChromaSitingVert},
+ {UINT, kWebMIdRange},
+ {UINT, kWebMIdTransferCharacteristics},
+ {UINT, kWebMIdPrimaries},
+ {UINT, kWebMIdMaxCLL},
+ {UINT, kWebMIdMaxFALL},
+ {LIST, kWebMIdMasteringMetadata},
+};
+
+static const ElementIdInfo kMasteringMetadataIds[] = {
+ {FLOAT, kWebMIdPrimaryRChromaticityX},
+ {FLOAT, kWebMIdPrimaryRChromaticityY},
+ {FLOAT, kWebMIdPrimaryGChromaticityX},
+ {FLOAT, kWebMIdPrimaryGChromaticityY},
+ {FLOAT, kWebMIdPrimaryBChromaticityX},
+ {FLOAT, kWebMIdPrimaryBChromaticityY},
+ {FLOAT, kWebMIdWhitePointChromaticityX},
+ {FLOAT, kWebMIdWhitePointChromaticityY},
+ {FLOAT, kWebMIdLuminanceMax},
+ {FLOAT, kWebMIdLuminanceMin},
};
static const ElementIdInfo kAudioIds[] = {
@@ -368,50 +391,54 @@ static const ElementIdInfo kSimpleTagIds[] = {
{ (id), (level), (id_info), arraysize(id_info) }
static const ListElementInfo kListElementInfo[] = {
- LIST_ELEMENT_INFO(kWebMIdCluster, 1, kClusterIds),
- LIST_ELEMENT_INFO(kWebMIdEBMLHeader, 0, kEBMLHeaderIds),
- LIST_ELEMENT_INFO(kWebMIdSegment, 0, kSegmentIds),
- LIST_ELEMENT_INFO(kWebMIdSeekHead, 1, kSeekHeadIds),
- LIST_ELEMENT_INFO(kWebMIdSeek, 2, kSeekIds),
- LIST_ELEMENT_INFO(kWebMIdInfo, 1, kInfoIds),
- LIST_ELEMENT_INFO(kWebMIdChapterTranslate, 2, kChapterTranslateIds),
- LIST_ELEMENT_INFO(kWebMIdSilentTracks, 2, kSilentTracksIds),
- LIST_ELEMENT_INFO(kWebMIdBlockGroup, 2, kBlockGroupIds),
- LIST_ELEMENT_INFO(kWebMIdBlockAdditions, 3, kBlockAdditionsIds),
- LIST_ELEMENT_INFO(kWebMIdBlockMore, 4, kBlockMoreIds),
- LIST_ELEMENT_INFO(kWebMIdSlices, 3, kSlicesIds),
- LIST_ELEMENT_INFO(kWebMIdTimeSlice, 4, kTimeSliceIds),
- LIST_ELEMENT_INFO(kWebMIdTracks, 1, kTracksIds),
- LIST_ELEMENT_INFO(kWebMIdTrackEntry, 2, kTrackEntryIds),
- LIST_ELEMENT_INFO(kWebMIdTrackTranslate, 3, kTrackTranslateIds),
- LIST_ELEMENT_INFO(kWebMIdVideo, 3, kVideoIds),
- LIST_ELEMENT_INFO(kWebMIdAudio, 3, kAudioIds),
- LIST_ELEMENT_INFO(kWebMIdTrackOperation, 3, kTrackOperationIds),
- LIST_ELEMENT_INFO(kWebMIdTrackCombinePlanes, 4, kTrackCombinePlanesIds),
- LIST_ELEMENT_INFO(kWebMIdTrackPlane, 5, kTrackPlaneIds),
- LIST_ELEMENT_INFO(kWebMIdJoinBlocks, 4, kJoinBlocksIds),
- LIST_ELEMENT_INFO(kWebMIdContentEncodings, 3, kContentEncodingsIds),
- LIST_ELEMENT_INFO(kWebMIdContentEncoding, 4, kContentEncodingIds),
- LIST_ELEMENT_INFO(kWebMIdContentCompression, 5, kContentCompressionIds),
- LIST_ELEMENT_INFO(kWebMIdContentEncryption, 5, kContentEncryptionIds),
- LIST_ELEMENT_INFO(kWebMIdContentEncAESSettings, 6, kContentEncAESSettingsIds),
- LIST_ELEMENT_INFO(kWebMIdCues, 1, kCuesIds),
- LIST_ELEMENT_INFO(kWebMIdCuePoint, 2, kCuePointIds),
- LIST_ELEMENT_INFO(kWebMIdCueTrackPositions, 3, kCueTrackPositionsIds),
- LIST_ELEMENT_INFO(kWebMIdCueReference, 4, kCueReferenceIds),
- LIST_ELEMENT_INFO(kWebMIdAttachments, 1, kAttachmentsIds),
- LIST_ELEMENT_INFO(kWebMIdAttachedFile, 2, kAttachedFileIds),
- LIST_ELEMENT_INFO(kWebMIdChapters, 1, kChaptersIds),
- LIST_ELEMENT_INFO(kWebMIdEditionEntry, 2, kEditionEntryIds),
- LIST_ELEMENT_INFO(kWebMIdChapterAtom, 3, kChapterAtomIds),
- LIST_ELEMENT_INFO(kWebMIdChapterTrack, 4, kChapterTrackIds),
- LIST_ELEMENT_INFO(kWebMIdChapterDisplay, 4, kChapterDisplayIds),
- LIST_ELEMENT_INFO(kWebMIdChapProcess, 4, kChapProcessIds),
- LIST_ELEMENT_INFO(kWebMIdChapProcessCommand, 5, kChapProcessCommandIds),
- LIST_ELEMENT_INFO(kWebMIdTags, 1, kTagsIds),
- LIST_ELEMENT_INFO(kWebMIdTag, 2, kTagIds),
- LIST_ELEMENT_INFO(kWebMIdTargets, 3, kTargetsIds),
- LIST_ELEMENT_INFO(kWebMIdSimpleTag, 3, kSimpleTagIds),
+ LIST_ELEMENT_INFO(kWebMIdCluster, 1, kClusterIds),
+ LIST_ELEMENT_INFO(kWebMIdEBMLHeader, 0, kEBMLHeaderIds),
+ LIST_ELEMENT_INFO(kWebMIdSegment, 0, kSegmentIds),
+ LIST_ELEMENT_INFO(kWebMIdSeekHead, 1, kSeekHeadIds),
+ LIST_ELEMENT_INFO(kWebMIdSeek, 2, kSeekIds),
+ LIST_ELEMENT_INFO(kWebMIdInfo, 1, kInfoIds),
+ LIST_ELEMENT_INFO(kWebMIdChapterTranslate, 2, kChapterTranslateIds),
+ LIST_ELEMENT_INFO(kWebMIdSilentTracks, 2, kSilentTracksIds),
+ LIST_ELEMENT_INFO(kWebMIdBlockGroup, 2, kBlockGroupIds),
+ LIST_ELEMENT_INFO(kWebMIdBlockAdditions, 3, kBlockAdditionsIds),
+ LIST_ELEMENT_INFO(kWebMIdBlockMore, 4, kBlockMoreIds),
+ LIST_ELEMENT_INFO(kWebMIdSlices, 3, kSlicesIds),
+ LIST_ELEMENT_INFO(kWebMIdTimeSlice, 4, kTimeSliceIds),
+ LIST_ELEMENT_INFO(kWebMIdTracks, 1, kTracksIds),
+ LIST_ELEMENT_INFO(kWebMIdTrackEntry, 2, kTrackEntryIds),
+ LIST_ELEMENT_INFO(kWebMIdTrackTranslate, 3, kTrackTranslateIds),
+ LIST_ELEMENT_INFO(kWebMIdVideo, 3, kVideoIds),
+ LIST_ELEMENT_INFO(kWebMIdAudio, 3, kAudioIds),
+ LIST_ELEMENT_INFO(kWebMIdTrackOperation, 3, kTrackOperationIds),
+ LIST_ELEMENT_INFO(kWebMIdTrackCombinePlanes, 4, kTrackCombinePlanesIds),
+ LIST_ELEMENT_INFO(kWebMIdTrackPlane, 5, kTrackPlaneIds),
+ LIST_ELEMENT_INFO(kWebMIdJoinBlocks, 4, kJoinBlocksIds),
+ LIST_ELEMENT_INFO(kWebMIdContentEncodings, 3, kContentEncodingsIds),
+ LIST_ELEMENT_INFO(kWebMIdContentEncoding, 4, kContentEncodingIds),
+ LIST_ELEMENT_INFO(kWebMIdContentCompression, 5, kContentCompressionIds),
+ LIST_ELEMENT_INFO(kWebMIdContentEncryption, 5, kContentEncryptionIds),
+ LIST_ELEMENT_INFO(kWebMIdContentEncAESSettings,
+ 6,
+ kContentEncAESSettingsIds),
+ LIST_ELEMENT_INFO(kWebMIdCues, 1, kCuesIds),
+ LIST_ELEMENT_INFO(kWebMIdCuePoint, 2, kCuePointIds),
+ LIST_ELEMENT_INFO(kWebMIdCueTrackPositions, 3, kCueTrackPositionsIds),
+ LIST_ELEMENT_INFO(kWebMIdCueReference, 4, kCueReferenceIds),
+ LIST_ELEMENT_INFO(kWebMIdAttachments, 1, kAttachmentsIds),
+ LIST_ELEMENT_INFO(kWebMIdAttachedFile, 2, kAttachedFileIds),
+ LIST_ELEMENT_INFO(kWebMIdChapters, 1, kChaptersIds),
+ LIST_ELEMENT_INFO(kWebMIdEditionEntry, 2, kEditionEntryIds),
+ LIST_ELEMENT_INFO(kWebMIdChapterAtom, 3, kChapterAtomIds),
+ LIST_ELEMENT_INFO(kWebMIdChapterTrack, 4, kChapterTrackIds),
+ LIST_ELEMENT_INFO(kWebMIdChapterDisplay, 4, kChapterDisplayIds),
+ LIST_ELEMENT_INFO(kWebMIdChapProcess, 4, kChapProcessIds),
+ LIST_ELEMENT_INFO(kWebMIdChapProcessCommand, 5, kChapProcessCommandIds),
+ LIST_ELEMENT_INFO(kWebMIdTags, 1, kTagsIds),
+ LIST_ELEMENT_INFO(kWebMIdTag, 2, kTagIds),
+ LIST_ELEMENT_INFO(kWebMIdTargets, 3, kTargetsIds),
+ LIST_ELEMENT_INFO(kWebMIdSimpleTag, 3, kSimpleTagIds),
+ LIST_ELEMENT_INFO(kWebMIdColour, 4, kColourIds),
+ LIST_ELEMENT_INFO(kWebMIdMasteringMetadata, 5, kMasteringMetadataIds),
};
// Parses an element header id or size field. These fields are variable length
« no previous file with comments | « media/formats/webm/webm_constants.h ('k') | media/formats/webm/webm_stream_parser_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698