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

Side by Side Diff: webrtc/common_video/h264/profile_level_id_unittest.cc

Issue 2472693002: Add to-string function for H264 profile level id (Closed)
Patch Set: Created 4 years, 1 month 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 unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
11 #include "webrtc/common_video/h264/profile_level_id.h" 11 #include "webrtc/common_video/h264/profile_level_id.h"
12 12
13 #include "webrtc/test/gtest.h" 13 #include "webrtc/test/gtest.h"
14 14
15 namespace webrtc { 15 namespace webrtc {
16 namespace H264 { 16 namespace H264 {
17 17
18 TEST(H264ProfileLevelIdParsing, TestInvalid) { 18 TEST(H264ProfileLevelId, TestParsingInvalid) {
19 // Malformed strings. 19 // Malformed strings.
20 EXPECT_FALSE(ParseProfileLevelId("")); 20 EXPECT_FALSE(ParseProfileLevelId(""));
21 EXPECT_FALSE(ParseProfileLevelId(" 42e01f")); 21 EXPECT_FALSE(ParseProfileLevelId(" 42e01f"));
22 EXPECT_FALSE(ParseProfileLevelId("4242e01f")); 22 EXPECT_FALSE(ParseProfileLevelId("4242e01f"));
23 EXPECT_FALSE(ParseProfileLevelId("e01f")); 23 EXPECT_FALSE(ParseProfileLevelId("e01f"));
24 EXPECT_FALSE(ParseProfileLevelId("gggggg")); 24 EXPECT_FALSE(ParseProfileLevelId("gggggg"));
25 25
26 // Invalid level. 26 // Invalid level.
27 EXPECT_FALSE(ParseProfileLevelId("42e000")); 27 EXPECT_FALSE(ParseProfileLevelId("42e000"));
28 EXPECT_FALSE(ParseProfileLevelId("42e00f")); 28 EXPECT_FALSE(ParseProfileLevelId("42e00f"));
29 EXPECT_FALSE(ParseProfileLevelId("42e0ff")); 29 EXPECT_FALSE(ParseProfileLevelId("42e0ff"));
30 30
31 // Invalid profile. 31 // Invalid profile.
32 EXPECT_FALSE(ParseProfileLevelId("42e11f")); 32 EXPECT_FALSE(ParseProfileLevelId("42e11f"));
33 EXPECT_FALSE(ParseProfileLevelId("58601f")); 33 EXPECT_FALSE(ParseProfileLevelId("58601f"));
34 EXPECT_FALSE(ParseProfileLevelId("64e01f")); 34 EXPECT_FALSE(ParseProfileLevelId("64e01f"));
35 } 35 }
36 36
37 TEST(H264ProfileLevelIdParsing, TestLevel) { 37 TEST(H264ProfileLevelId, TestParsingLevel) {
38 EXPECT_EQ(kLevel3_1, ParseProfileLevelId("42e01f")->level); 38 EXPECT_EQ(kLevel3_1, ParseProfileLevelId("42e01f")->level);
39 EXPECT_EQ(kLevel1_1, ParseProfileLevelId("42e00b")->level); 39 EXPECT_EQ(kLevel1_1, ParseProfileLevelId("42e00b")->level);
40 EXPECT_EQ(kLevel1_b, ParseProfileLevelId("42f00b")->level); 40 EXPECT_EQ(kLevel1_b, ParseProfileLevelId("42f00b")->level);
41 EXPECT_EQ(kLevel4_2, ParseProfileLevelId("42C02A")->level); 41 EXPECT_EQ(kLevel4_2, ParseProfileLevelId("42C02A")->level);
42 EXPECT_EQ(kLevel5_2, ParseProfileLevelId("640c34")->level); 42 EXPECT_EQ(kLevel5_2, ParseProfileLevelId("640c34")->level);
43 } 43 }
44 44
45 TEST(H264ProfileLevelIdParsing, TestConstrainedBaseline) { 45 TEST(H264ProfileLevelId, TestParsingConstrainedBaseline) {
46 EXPECT_EQ(kProfileConstrainedBaseline, 46 EXPECT_EQ(kProfileConstrainedBaseline,
47 ParseProfileLevelId("42e01f")->profile); 47 ParseProfileLevelId("42e01f")->profile);
48 EXPECT_EQ(kProfileConstrainedBaseline, 48 EXPECT_EQ(kProfileConstrainedBaseline,
49 ParseProfileLevelId("42C02A")->profile); 49 ParseProfileLevelId("42C02A")->profile);
50 EXPECT_EQ(kProfileConstrainedBaseline, 50 EXPECT_EQ(kProfileConstrainedBaseline,
51 ParseProfileLevelId("4de01f")->profile); 51 ParseProfileLevelId("4de01f")->profile);
52 EXPECT_EQ(kProfileConstrainedBaseline, 52 EXPECT_EQ(kProfileConstrainedBaseline,
53 ParseProfileLevelId("58f01f")->profile); 53 ParseProfileLevelId("58f01f")->profile);
54 } 54 }
55 55
56 TEST(H264ProfileLevelIdParsing, TestBaseline) { 56 TEST(H264ProfileLevelId, TestParsingBaseline) {
57 EXPECT_EQ(kProfileBaseline, ParseProfileLevelId("42a01f")->profile); 57 EXPECT_EQ(kProfileBaseline, ParseProfileLevelId("42a01f")->profile);
58 EXPECT_EQ(kProfileBaseline, ParseProfileLevelId("58A01F")->profile); 58 EXPECT_EQ(kProfileBaseline, ParseProfileLevelId("58A01F")->profile);
59 } 59 }
60 60
61 TEST(H264ProfileLevelIdParsing, TestMain) { 61 TEST(H264ProfileLevelId, TestParsingMain) {
62 EXPECT_EQ(kProfileMain, ParseProfileLevelId("4D401f")->profile); 62 EXPECT_EQ(kProfileMain, ParseProfileLevelId("4D401f")->profile);
63 } 63 }
64 64
65 TEST(H264ProfileLevelIdParsing, TestHigh) { 65 TEST(H264ProfileLevelId, TestParsingHigh) {
66 EXPECT_EQ(kProfileHigh, ParseProfileLevelId("64001f")->profile); 66 EXPECT_EQ(kProfileHigh, ParseProfileLevelId("64001f")->profile);
67 } 67 }
68 68
69 TEST(H264ProfileLevelIdParsing, TestConstrainedHigh) { 69 TEST(H264ProfileLevelId, TestParsingConstrainedHigh) {
70 EXPECT_EQ(kProfileConstrainedHigh, ParseProfileLevelId("640c1f")->profile); 70 EXPECT_EQ(kProfileConstrainedHigh, ParseProfileLevelId("640c1f")->profile);
71 } 71 }
72 72
73 TEST(H264ProfileLevelId, TestToString) {
74 EXPECT_EQ("42e01f", ProfileLevelIdToString(ProfileLevelId(
75 kProfileConstrainedBaseline, kLevel3_1)));
76 EXPECT_EQ("42000a",
77 ProfileLevelIdToString(ProfileLevelId(kProfileBaseline, kLevel1)));
78 EXPECT_EQ("4D001f",
79 ProfileLevelIdToString(ProfileLevelId(kProfileMain, kLevel3_1)));
80 EXPECT_EQ("640c2a", ProfileLevelIdToString(
81 ProfileLevelId(kProfileConstrainedHigh, kLevel4_2)));
82 EXPECT_EQ("64002a",
83 ProfileLevelIdToString(ProfileLevelId(kProfileHigh, kLevel4_2)));
84 }
85
86 TEST(H264ProfileLevelId, TestToStringLevel1b) {
87 EXPECT_EQ("42f00b", ProfileLevelIdToString(ProfileLevelId(
88 kProfileConstrainedBaseline, kLevel1_b)));
89 EXPECT_EQ("42100b", ProfileLevelIdToString(
90 ProfileLevelId(kProfileBaseline, kLevel1_b)));
91 EXPECT_EQ("4D100b",
92 ProfileLevelIdToString(ProfileLevelId(kProfileMain, kLevel1_b)));
93 }
94
95 TEST(H264ProfileLevelId, TestToStringInvalid) {
96 EXPECT_EQ("",
97 ProfileLevelIdToString(ProfileLevelId(kProfileHigh, kLevel1_b)));
98 EXPECT_EQ("", ProfileLevelIdToString(
99 ProfileLevelId(kProfileConstrainedHigh, kLevel1_b)));
100 EXPECT_EQ("", ProfileLevelIdToString(
101 ProfileLevelId(static_cast<Profile>(255), kLevel3_1)));
102 }
103
73 } // namespace H264 104 } // namespace H264
74 } // namespace webrtc 105 } // namespace webrtc
OLDNEW
« webrtc/common_video/h264/profile_level_id.cc ('K') | « webrtc/common_video/h264/profile_level_id.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698