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

Side by Side Diff: content/common/gpu/media/h264_bit_reader_unittest.cc

Issue 119153002: Move H264Parser and H264BitReader to media/filters. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 11 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « content/common/gpu/media/h264_bit_reader.cc ('k') | content/common/gpu/media/h264_dpb.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "testing/gtest/include/gtest/gtest.h"
6
7 #include "content/common/gpu/media/h264_bit_reader.h"
8
9 using content::H264BitReader;
10
11 TEST(H264BitReaderTest, ReadStreamWithoutEscapeAndTrailingZeroBytes) {
12 H264BitReader reader;
13 const unsigned char rbsp[] = {0x01, 0x23, 0x45, 0x67, 0x89, 0xa0};
14 int dummy = 0;
15
16 EXPECT_TRUE(reader.Initialize(rbsp, sizeof(rbsp)));
17
18 EXPECT_TRUE(reader.ReadBits(1, &dummy));
19 EXPECT_EQ(dummy, 0x00);
20 EXPECT_EQ(reader.NumBitsLeft(), 47);
21 EXPECT_TRUE(reader.HasMoreRBSPData());
22
23 EXPECT_TRUE(reader.ReadBits(8, &dummy));
24 EXPECT_EQ(dummy, 0x02);
25 EXPECT_EQ(reader.NumBitsLeft(), 39);
26 EXPECT_TRUE(reader.HasMoreRBSPData());
27
28 EXPECT_TRUE(reader.ReadBits(31, &dummy));
29 EXPECT_EQ(dummy, 0x23456789);
30 EXPECT_EQ(reader.NumBitsLeft(), 8);
31 EXPECT_TRUE(reader.HasMoreRBSPData());
32
33 EXPECT_TRUE(reader.ReadBits(1, &dummy));
34 EXPECT_EQ(dummy, 1);
35 EXPECT_EQ(reader.NumBitsLeft(), 7);
36 EXPECT_TRUE(reader.HasMoreRBSPData());
37
38 EXPECT_TRUE(reader.ReadBits(1, &dummy));
39 EXPECT_EQ(dummy, 0);
40 EXPECT_EQ(reader.NumBitsLeft(), 6);
41 EXPECT_FALSE(reader.HasMoreRBSPData());
42 }
43
44 TEST(H264BitReaderTest, SingleByteStream) {
45 H264BitReader reader;
46 const unsigned char rbsp[] = {0x18};
47 int dummy = 0;
48
49 EXPECT_TRUE(reader.Initialize(rbsp, sizeof(rbsp)));
50 EXPECT_EQ(reader.NumBitsLeft(), 8);
51 EXPECT_TRUE(reader.HasMoreRBSPData());
52
53 EXPECT_TRUE(reader.ReadBits(4, &dummy));
54 EXPECT_EQ(dummy, 0x01);
55 EXPECT_EQ(reader.NumBitsLeft(), 4);
56 EXPECT_FALSE(reader.HasMoreRBSPData());
57 }
58
59 TEST(H264BitReaderTest, StopBitOccupyFullByte) {
60 H264BitReader reader;
61 const unsigned char rbsp[] = {0xab, 0x80};
62 int dummy = 0;
63
64 EXPECT_TRUE(reader.Initialize(rbsp, sizeof(rbsp)));
65 EXPECT_EQ(reader.NumBitsLeft(), 16);
66 EXPECT_TRUE(reader.HasMoreRBSPData());
67
68 EXPECT_TRUE(reader.ReadBits(8, &dummy));
69 EXPECT_EQ(dummy, 0xab);
70 EXPECT_EQ(reader.NumBitsLeft(), 8);
71 EXPECT_FALSE(reader.HasMoreRBSPData());
72 }
OLDNEW
« no previous file with comments | « content/common/gpu/media/h264_bit_reader.cc ('k') | content/common/gpu/media/h264_dpb.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698