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

Unified Diff: media/tools/player_wtl/view.h

Issue 1226001: Merged VideoSurface, VideoFrame and VideoFrameImpl in VideoFrame. (Closed)
Patch Set: Created 10 years, 9 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 | « media/media.gyp ('k') | media/tools/player_x11/x11_video_renderer.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: media/tools/player_wtl/view.h
diff --git a/media/tools/player_wtl/view.h b/media/tools/player_wtl/view.h
index ce55c108326964adb8364dd6890f5937e376c162..60f91751d41e3751d9b3e917e741c83dedbae518 100644
--- a/media/tools/player_wtl/view.h
+++ b/media/tools/player_wtl/view.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2009 The Chromium Authors. All rights reserved. Use of this
+// Copyright (c) 2010 The Chromium Authors. All rights reserved. Use of this
// source code is governed by a BSD-style license that can be found in the
// LICENSE file.
@@ -9,7 +9,7 @@
#include <process.h>
#include <string.h>
-#include "media/base/buffers.h"
+#include "media/base/video_frame.h"
#include "media/base/yuv_convert.h"
#include "media/tools/player_wtl/movie.h"
#include "media/tools/player_wtl/player_wtl.h"
@@ -121,10 +121,7 @@ class WtlVideoWindow : public CScrollWindowImpl<WtlVideoWindow> {
}
// Convert the video frame to RGB and Blit.
- void ConvertFrame(media::VideoFrame * video_frame) {
- media::VideoSurface frame_in;
- bool lock_result = video_frame->Lock(&frame_in);
- DCHECK(lock_result);
+ void ConvertFrame(media::VideoFrame* video_frame) {
BITMAP bm;
bmp_.GetBitmap(&bm);
int dibwidth = bm.bmWidth;
@@ -133,11 +130,11 @@ class WtlVideoWindow : public CScrollWindowImpl<WtlVideoWindow> {
uint8 *movie_dib_bits = reinterpret_cast<uint8 *>(bm.bmBits) +
bm.bmWidthBytes * (bm.bmHeight - 1);
int dibrowbytes = -bm.bmWidthBytes;
- int clipped_width = frame_in.width;
+ int clipped_width = video_frame->width();
if (dibwidth < clipped_width) {
clipped_width = dibwidth;
}
- int clipped_height = frame_in.height;
+ int clipped_height = video_frame->height();
if (dibheight < clipped_height) {
clipped_height = dibheight;
}
@@ -186,7 +183,7 @@ class WtlVideoWindow : public CScrollWindowImpl<WtlVideoWindow> {
// Append each frame to end of file.
bool enable_dump_yuv_file = media::Movie::get()->GetDumpYuvFileEnable();
if (enable_dump_yuv_file) {
- DumpYUV(frame_in);
+ DumpYUV(video_frame);
}
#ifdef TESTING
@@ -196,7 +193,7 @@ class WtlVideoWindow : public CScrollWindowImpl<WtlVideoWindow> {
bool enable_draw = media::Movie::get()->GetDrawEnable();
if (enable_draw) {
DCHECK(bm.bmBitsPixel == 32);
- DrawYUV(frame_in,
+ DrawYUV(video_frame,
movie_dib_bits,
dibrowbytes,
clipped_width,
@@ -344,38 +341,39 @@ class WtlVideoWindow : public CScrollWindowImpl<WtlVideoWindow> {
// Draw a frame of YUV to an RGB buffer with scaling.
// Handles different YUV formats.
- void DrawYUV(const media::VideoSurface &frame_in,
+ void DrawYUV(const media::VideoFrame* video_frame,
uint8 *movie_dib_bits,
int dibrowbytes,
int clipped_width,
int clipped_height,
int scaled_width,
int scaled_height) {
- media::YUVType yuv_type = (frame_in.format == media::VideoSurface::YV12) ?
- media::YV12 : media::YV16;
+ media::YUVType yuv_type =
+ (video_frame->format() == media::VideoFrame::YV12) ?
+ media::YV12 : media::YV16;
// Simple convert is not necessary for performance, but allows
// easier alternative implementations.
if ((view_rotate_ == media::ROTATE_0) && // Not scaled or rotated
(view_size_ == 2)) {
- media::ConvertYUVToRGB32(frame_in.data[0],
- frame_in.data[1],
- frame_in.data[2],
+ media::ConvertYUVToRGB32(video_frame->data(0),
+ video_frame->data(1),
+ video_frame->data(2),
movie_dib_bits,
scaled_width, scaled_height,
- frame_in.strides[0],
- frame_in.strides[1],
+ video_frame->stride(0),
+ video_frame->stride(1),
dibrowbytes,
yuv_type);
} else {
- media::ScaleYUVToRGB32(frame_in.data[0],
- frame_in.data[1],
- frame_in.data[2],
+ media::ScaleYUVToRGB32(video_frame->data(0),
+ video_frame->data(1),
+ video_frame->data(2),
movie_dib_bits,
clipped_width, clipped_height,
scaled_width, scaled_height,
- frame_in.strides[0],
- frame_in.strides[1],
+ video_frame->stride(0),
+ video_frame->stride(1),
dibrowbytes,
yuv_type,
view_rotate_);
@@ -383,28 +381,30 @@ class WtlVideoWindow : public CScrollWindowImpl<WtlVideoWindow> {
}
// Diagnostic function to write out YUV in format compatible with PYUV tool.
- void DumpYUV(const media::VideoSurface &frame_in) {
+ void DumpYUV(const media::VideoFrame* video_frame) {
FILE * file_yuv = fopen("raw.yuv", "ab+"); // Open for append binary.
if (file_yuv != NULL) {
fseek(file_yuv, 0, SEEK_END);
- const size_t frame_size = frame_in.width * frame_in.height;
- for (size_t y = 0; y < frame_in.height; ++y)
- fwrite(frame_in.data[0]+frame_in.strides[0]*y,
- frame_in.width, sizeof(uint8), file_yuv);
- for (size_t y = 0; y < frame_in.height/2; ++y)
- fwrite(frame_in.data[1]+frame_in.strides[1]*y,
- frame_in.width/2, sizeof(uint8), file_yuv);
- for (size_t y = 0; y < frame_in.height/2; ++y)
- fwrite(frame_in.data[2]+frame_in.strides[2]*y,
- frame_in.width/2, sizeof(uint8), file_yuv);
+ const size_t frame_size =
+ video_frame->width() * video_frame->height();
+ for (size_t y = 0; y < video_frame->height(); ++y)
+ fwrite(video_frame->data(0) + video_frame->stride(0)*y,
+ video_frame->width(), sizeof(uint8), file_yuv);
+ for (size_t y = 0; y < video_frame->height()/2; ++y)
+ fwrite(video_frame->data(1) + video_frame->stride(1)*y,
+ video_frame->width() / 2, sizeof(uint8), file_yuv);
+ for (size_t y = 0; y < video_frame->height()/2; ++y)
+ fwrite(video_frame->data(2) + video_frame->stride(2)*y,
+ video_frame->width() / 2, sizeof(uint8), file_yuv);
fclose(file_yuv);
#if TESTING
static int frame_dump_count = 0;
char outputbuf[512];
_snprintf_s(outputbuf, sizeof(outputbuf), "yuvdump %4d %dx%d stride %d\n",
- frame_dump_count, frame_in.width, frame_in.height,
- frame_in.strides[0]);
+ frame_dump_count, video_frame->width(),
+ video_frame->height(),
+ video_frame->stride(0));
OutputDebugStringA(outputbuf);
++frame_dump_count;
#endif
« no previous file with comments | « media/media.gyp ('k') | media/tools/player_x11/x11_video_renderer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698