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

Unified Diff: content/common/gpu/media/video_encode_accelerator_unittest.cc

Issue 1269473002: Extract IVF parser from VP8 parser unittest (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix compile Created 5 years, 4 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | media/BUILD.gn » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/common/gpu/media/video_encode_accelerator_unittest.cc
diff --git a/content/common/gpu/media/video_encode_accelerator_unittest.cc b/content/common/gpu/media/video_encode_accelerator_unittest.cc
index 0e1e863d6d05d5812c6faa3aabd8551cc75c276c..caf41c893317a1997b08b038a182a64fcd9ffcb2 100644
--- a/content/common/gpu/media/video_encode_accelerator_unittest.cc
+++ b/content/common/gpu/media/video_encode_accelerator_unittest.cc
@@ -17,7 +17,6 @@
#include "base/strings/string_number_conversions.h"
#include "base/strings/string_split.h"
#include "base/strings/stringprintf.h"
-#include "base/sys_byteorder.h"
#include "base/threading/thread.h"
#include "base/threading/thread_checker.h"
#include "base/time/time.h"
@@ -27,6 +26,7 @@
#include "media/base/bitstream_buffer.h"
#include "media/base/test_data_util.h"
#include "media/filters/h264_parser.h"
+#include "media/filters/ivf_parser.h"
#include "media/video/fake_video_encode_accelerator.h"
#include "media/video/video_encode_accelerator.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -114,26 +114,6 @@ bool g_fake_encoder = false;
class VideoEncodeAcceleratorTestEnvironment;
VideoEncodeAcceleratorTestEnvironment* g_env;
-struct IvfFileHeader {
- char signature[4]; // signature: 'DKIF'
- uint16_t version; // version (should be 0)
- uint16_t header_size; // size of header in bytes
- uint32_t fourcc; // codec FourCC (e.g., 'VP80')
- uint16_t width; // width in pixels
- uint16_t height; // height in pixels
- uint32_t framerate; // frame rate per seconds
- uint32_t timescale; // time scale. For example, if framerate is 30 and
- // timescale is 2, the unit of IvfFrameHeader.timestamp
- // is 2/30 seconds.
- uint32_t num_frames; // number of frames in file
- uint32_t unused; // unused
-} __attribute__((packed));
-
-struct IvfFrameHeader {
- uint32_t frame_size; // Size of frame in bytes (not including the header)
- uint64_t timestamp; // 64-bit presentation timestamp
-} __attribute__((packed));
-
// The number of frames to be encoded. This variable is set by the switch
// "--num_frames_to_encode". Ignored if 0.
int g_num_frames_to_encode = 0;
@@ -1285,23 +1265,21 @@ void VEAClient::VerifyStreamProperties() {
}
void VEAClient::WriteIvfFileHeader() {
- IvfFileHeader header;
+ media::IvfFileHeader header = {};
- memset(&header, 0, sizeof(header));
- header.signature[0] = 'D';
- header.signature[1] = 'K';
- header.signature[2] = 'I';
- header.signature[3] = 'F';
+ memcpy(header.signature, media::kIvfHeaderSignature,
+ sizeof(header.signature));
header.version = 0;
- header.header_size = base::ByteSwapToLE16(sizeof(header));
- header.fourcc = base::ByteSwapToLE32(0x30385056); // VP80
- header.width = base::ByteSwapToLE16(
- base::checked_cast<uint16_t>(test_stream_->visible_size.width()));
- header.height = base::ByteSwapToLE16(
- base::checked_cast<uint16_t>(test_stream_->visible_size.height()));
- header.framerate = base::ByteSwapToLE32(requested_framerate_);
- header.timescale = base::ByteSwapToLE32(1);
- header.num_frames = base::ByteSwapToLE32(num_frames_to_encode_);
+ header.header_size = sizeof(header);
+ header.fourcc = 0x30385056; // VP80
+ header.width =
+ base::checked_cast<uint16_t>(test_stream_->visible_size.width());
+ header.height =
+ base::checked_cast<uint16_t>(test_stream_->visible_size.height());
+ header.timebase_denum = requested_framerate_;
+ header.timebase_num = 1;
+ header.num_frames = num_frames_to_encode_;
+ header.ByteSwap();
EXPECT_TRUE(base::AppendToFile(
base::FilePath::FromUTF8Unsafe(test_stream_->out_filename),
@@ -1309,11 +1287,11 @@ void VEAClient::WriteIvfFileHeader() {
}
void VEAClient::WriteIvfFrameHeader(int frame_index, size_t frame_size) {
- IvfFrameHeader header;
+ media::IvfFrameHeader header = {};
- memset(&header, 0, sizeof(header));
- header.frame_size = base::ByteSwapToLE32(frame_size);
- header.timestamp = base::ByteSwapToLE64(frame_index);
+ header.frame_size = frame_size;
+ header.timestamp = frame_index;
+ header.ByteSwap();
EXPECT_TRUE(base::AppendToFile(
base::FilePath::FromUTF8Unsafe(test_stream_->out_filename),
reinterpret_cast<char*>(&header), sizeof(header)));
« no previous file with comments | « no previous file | media/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698