| 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
|
|
|