| Index: media/base/bit_reader_h264_unittest.cc
|
| diff --git a/content/common/gpu/media/h264_bit_reader_unittest.cc b/media/base/bit_reader_h264_unittest.cc
|
| similarity index 54%
|
| copy from content/common/gpu/media/h264_bit_reader_unittest.cc
|
| copy to media/base/bit_reader_h264_unittest.cc
|
| index a02a21c12547000a3f0b4ec14be8594f55f3451c..b4b915210ed67bb309f0c1c96106962e049a6f61 100644
|
| --- a/content/common/gpu/media/h264_bit_reader_unittest.cc
|
| +++ b/media/base/bit_reader_h264_unittest.cc
|
| @@ -2,18 +2,16 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| -#include "testing/gtest/include/gtest/gtest.h"
|
| +#include "media/base/bit_reader_h264.h"
|
|
|
| -#include "content/common/gpu/media/h264_bit_reader.h"
|
| +#include "testing/gtest/include/gtest/gtest.h"
|
|
|
| -using content::H264BitReader;
|
| +namespace media {
|
|
|
| -TEST(H264BitReaderTest, ReadStreamWithoutEscapeAndTrailingZeroBytes) {
|
| - H264BitReader reader;
|
| +TEST(BitReaderH264Test, ReadStreamWithoutEscapeAndTrailingZeroBytes) {
|
| const unsigned char rbsp[] = {0x01, 0x23, 0x45, 0x67, 0x89, 0xa0};
|
| int dummy = 0;
|
| -
|
| - EXPECT_TRUE(reader.Initialize(rbsp, sizeof(rbsp)));
|
| + BitReaderH264 reader(rbsp, sizeof(rbsp));
|
|
|
| EXPECT_TRUE(reader.ReadBits(1, &dummy));
|
| EXPECT_EQ(dummy, 0x00);
|
| @@ -41,12 +39,11 @@ TEST(H264BitReaderTest, ReadStreamWithoutEscapeAndTrailingZeroBytes) {
|
| EXPECT_FALSE(reader.HasMoreRBSPData());
|
| }
|
|
|
| -TEST(H264BitReaderTest, SingleByteStream) {
|
| - H264BitReader reader;
|
| +TEST(BitReaderH264Test, SingleByteStream) {
|
| const unsigned char rbsp[] = {0x18};
|
| int dummy = 0;
|
| + BitReaderH264 reader(rbsp, sizeof(rbsp));
|
|
|
| - EXPECT_TRUE(reader.Initialize(rbsp, sizeof(rbsp)));
|
| EXPECT_EQ(reader.NumBitsLeft(), 8);
|
| EXPECT_TRUE(reader.HasMoreRBSPData());
|
|
|
| @@ -56,12 +53,11 @@ TEST(H264BitReaderTest, SingleByteStream) {
|
| EXPECT_FALSE(reader.HasMoreRBSPData());
|
| }
|
|
|
| -TEST(H264BitReaderTest, StopBitOccupyFullByte) {
|
| - H264BitReader reader;
|
| +TEST(BitReaderH264Test, StopBitOccupyFullByte) {
|
| const unsigned char rbsp[] = {0xab, 0x80};
|
| int dummy = 0;
|
| + BitReaderH264 reader(rbsp, sizeof(rbsp));
|
|
|
| - EXPECT_TRUE(reader.Initialize(rbsp, sizeof(rbsp)));
|
| EXPECT_EQ(reader.NumBitsLeft(), 16);
|
| EXPECT_TRUE(reader.HasMoreRBSPData());
|
|
|
| @@ -70,3 +66,37 @@ TEST(H264BitReaderTest, StopBitOccupyFullByte) {
|
| EXPECT_EQ(reader.NumBitsLeft(), 8);
|
| EXPECT_FALSE(reader.HasMoreRBSPData());
|
| }
|
| +
|
| +TEST(BitReaderH264Test, EmulationPreventionByte) {
|
| + const unsigned char rbsp[] = {0xac, 0x00, 0x00, 0x03, 0x01, 0x03, 0xdc};
|
| + int dummy = 0;
|
| + BitReaderH264 reader(rbsp, sizeof(rbsp));
|
| +
|
| + EXPECT_TRUE(reader.ReadBits(4, &dummy));
|
| + EXPECT_EQ(dummy, 0xa);
|
| + EXPECT_TRUE(reader.ReadBits(4, &dummy));
|
| + EXPECT_EQ(dummy, 0xc);
|
| + EXPECT_TRUE(reader.ReadBits(4, &dummy));
|
| + EXPECT_EQ(dummy, 0x0);
|
| + EXPECT_TRUE(reader.ReadBits(4, &dummy));
|
| + EXPECT_EQ(dummy, 0x0);
|
| + EXPECT_TRUE(reader.ReadBits(4, &dummy));
|
| + EXPECT_EQ(dummy, 0x0);
|
| + EXPECT_TRUE(reader.ReadBits(4, &dummy));
|
| + EXPECT_EQ(dummy, 0x0);
|
| + EXPECT_TRUE(reader.ReadBits(4, &dummy));
|
| + EXPECT_EQ(dummy, 0x0);
|
| + EXPECT_TRUE(reader.ReadBits(4, &dummy));
|
| + EXPECT_EQ(dummy, 0x1);
|
| +
|
| + EXPECT_TRUE(reader.ReadBits(4, &dummy));
|
| + EXPECT_EQ(dummy, 0x0);
|
| + EXPECT_TRUE(reader.ReadBits(4, &dummy));
|
| + EXPECT_EQ(dummy, 0x3);
|
| + EXPECT_TRUE(reader.ReadBits(4, &dummy));
|
| + EXPECT_EQ(dummy, 0xd);
|
| + EXPECT_TRUE(reader.ReadBits(4, &dummy));
|
| + EXPECT_EQ(dummy, 0xc);
|
| +}
|
| +
|
| +} // namespace media
|
|
|