| Index: media/base/video_codecs_unittest.cc
|
| diff --git a/media/base/video_codecs_unittest.cc b/media/base/video_codecs_unittest.cc
|
| index 7a78bc5a9b1251841dacb8398bc8abf827a2771b..15bff075d2ec919a42bef6ca95f39b59777930c2 100644
|
| --- a/media/base/video_codecs_unittest.cc
|
| +++ b/media/base/video_codecs_unittest.cc
|
| @@ -148,4 +148,71 @@ TEST(ParseHEVCCodecIdTest, InvalidHEVCCodecIds) {
|
| }
|
| #endif
|
|
|
| +#if BUILDFLAG(ENABLE_DOLBY_VISION_DEMUXING)
|
| +TEST(ParseDolbyVisionCodecIdTest, InvalidDolbyVisionCodecIds) {
|
| + VideoCodecProfile profile = VIDEO_CODEC_PROFILE_UNKNOWN;
|
| + uint8_t level_id = 0;
|
| +
|
| + // Codec dvav/dva1 should only contain profile 0.
|
| + EXPECT_TRUE(ParseDolbyVisionCodecId("dvav.00.07", &profile, &level_id));
|
| + EXPECT_EQ(profile, DOLBYVISION_PROFILE0);
|
| + EXPECT_EQ(level_id, 7);
|
| + EXPECT_TRUE(ParseDolbyVisionCodecId("dva1.00.07", &profile, &level_id));
|
| + EXPECT_EQ(profile, DOLBYVISION_PROFILE0);
|
| + EXPECT_EQ(level_id, 7);
|
| + EXPECT_FALSE(ParseDolbyVisionCodecId("dvav.04.07", &profile, &level_id));
|
| + EXPECT_FALSE(ParseDolbyVisionCodecId("dva1.04.07", &profile, &level_id));
|
| + EXPECT_FALSE(ParseDolbyVisionCodecId("dvav.05.07", &profile, &level_id));
|
| + EXPECT_FALSE(ParseDolbyVisionCodecId("dva1.05.07", &profile, &level_id));
|
| + EXPECT_FALSE(ParseDolbyVisionCodecId("dvav.07.07", &profile, &level_id));
|
| + EXPECT_FALSE(ParseDolbyVisionCodecId("dva1.07.07", &profile, &level_id));
|
| +
|
| +#if BUILDFLAG(ENABLE_HEVC_DEMUXING)
|
| + // Codec dvhe/dvh1 should only contain profile 4, 5, and 7.
|
| + EXPECT_TRUE(ParseDolbyVisionCodecId("dvhe.04.07", &profile, &level_id));
|
| + EXPECT_EQ(profile, DOLBYVISION_PROFILE4);
|
| + EXPECT_EQ(level_id, 7);
|
| + EXPECT_TRUE(ParseDolbyVisionCodecId("dvhe.05.07", &profile, &level_id));
|
| + EXPECT_EQ(profile, DOLBYVISION_PROFILE5);
|
| + EXPECT_EQ(level_id, 7);
|
| + EXPECT_TRUE(ParseDolbyVisionCodecId("dvh1.05.07", &profile, &level_id));
|
| + EXPECT_EQ(profile, DOLBYVISION_PROFILE5);
|
| + EXPECT_EQ(level_id, 7);
|
| + EXPECT_TRUE(ParseDolbyVisionCodecId("dvhe.07.07", &profile, &level_id));
|
| + EXPECT_EQ(profile, DOLBYVISION_PROFILE7);
|
| + EXPECT_EQ(level_id, 7);
|
| + EXPECT_FALSE(ParseDolbyVisionCodecId("dvhe.00.07", &profile, &level_id));
|
| + EXPECT_FALSE(ParseDolbyVisionCodecId("dvh1.00.07", &profile, &level_id));
|
| +
|
| + // Profiles 1, 2, 3 and 6 are deprecated.
|
| + EXPECT_FALSE(ParseDolbyVisionCodecId("dvav.01.07", &profile, &level_id));
|
| + EXPECT_FALSE(ParseDolbyVisionCodecId("dvhe.02.07", &profile, &level_id));
|
| + EXPECT_FALSE(ParseDolbyVisionCodecId("dvhe.03.07", &profile, &level_id));
|
| + EXPECT_FALSE(ParseDolbyVisionCodecId("dvhe.06.07", &profile, &level_id));
|
| +
|
| + // Level should be numbers between 1 and 9.
|
| + EXPECT_FALSE(ParseDolbyVisionCodecId("dvhe.04.00", &profile, &level_id));
|
| + EXPECT_FALSE(ParseDolbyVisionCodecId("dvhe.04.10", &profile, &level_id));
|
| + EXPECT_FALSE(ParseDolbyVisionCodecId("dvhe.04.20", &profile, &level_id));
|
| + EXPECT_FALSE(ParseDolbyVisionCodecId("dvhe.04.99", &profile, &level_id));
|
| +
|
| + // Valid codec string is <FourCC>.<two digits profile>.<two digits level>.
|
| + EXPECT_FALSE(ParseDolbyVisionCodecId("dvhe", &profile, &level_id));
|
| + EXPECT_FALSE(ParseDolbyVisionCodecId("dvhe.", &profile, &level_id));
|
| + EXPECT_FALSE(ParseDolbyVisionCodecId("dvhe..", &profile, &level_id));
|
| + EXPECT_FALSE(ParseDolbyVisionCodecId("dvhe...", &profile, &level_id));
|
| + EXPECT_FALSE(ParseDolbyVisionCodecId("dvhe....", &profile, &level_id));
|
| + EXPECT_FALSE(ParseDolbyVisionCodecId("dvhe.5", &profile, &level_id));
|
| + EXPECT_FALSE(ParseDolbyVisionCodecId("dvhe.5.", &profile, &level_id));
|
| + EXPECT_FALSE(ParseDolbyVisionCodecId("dvhe.5..", &profile, &level_id));
|
| + EXPECT_FALSE(ParseDolbyVisionCodecId("dvhe.5...", &profile, &level_id));
|
| + EXPECT_FALSE(ParseDolbyVisionCodecId("dvhe.5.7", &profile, &level_id));
|
| + EXPECT_FALSE(ParseDolbyVisionCodecId("dvhe.5.7.", &profile, &level_id));
|
| + EXPECT_FALSE(ParseDolbyVisionCodecId("dvhe.5.7..", &profile, &level_id));
|
| + EXPECT_FALSE(ParseDolbyVisionCodecId("dvhe.5.7...", &profile, &level_id));
|
| + EXPECT_FALSE(ParseDolbyVisionCodecId("dvhe..5", &profile, &level_id));
|
| +#endif
|
| +}
|
| +#endif
|
| +
|
| } // namespace media
|
|
|