summaryrefslogtreecommitdiffstats
path: root/media/player/view.h
diff options
context:
space:
mode:
Diffstat (limited to 'media/player/view.h')
-rw-r--r--media/player/view.h123
1 files changed, 46 insertions, 77 deletions
diff --git a/media/player/view.h b/media/player/view.h
index f515c16..4c72512 100644
--- a/media/player/view.h
+++ b/media/player/view.h
@@ -54,7 +54,6 @@ class WtlVideoWindow : public CScrollWindowImpl<WtlVideoWindow> {
size_.cx = 0;
size_.cy = 0;
view_size_ = 1;
- view_rotate_ = media::ROTATE_0;
renderer_ = new WtlVideoRenderer(this);
last_frame_ = NULL;
hbmp_ = NULL;
@@ -296,56 +295,6 @@ class WtlVideoWindow : public CScrollWindowImpl<WtlVideoWindow> {
return view_size_;
}
- void SetViewRotate(int view_rotate) {
- switch (view_rotate) {
- default:
- case 0:
- view_rotate_ = media::ROTATE_0;
- break;
- case 1:
- view_rotate_ = media::ROTATE_90;
- break;
- case 2:
- view_rotate_ = media::ROTATE_180;
- break;
- case 3:
- view_rotate_ = media::ROTATE_270;
- break;
- case 4:
- view_rotate_ = media::MIRROR_ROTATE_0;
- break;
- case 5:
- view_rotate_ = media::MIRROR_ROTATE_180;
- break;
- }
- }
-
- int GetViewRotate() {
- int view_rotate = 0;
- switch (view_rotate_) {
- default:
- case media::ROTATE_0:
- view_rotate = 0;
- break;
- case media::ROTATE_90:
- view_rotate = 1;
- break;
- case media::ROTATE_180:
- view_rotate = 2;
- break;
- case media::ROTATE_270:
- view_rotate = 3;
- break;
- case media::MIRROR_ROTATE_0:
- view_rotate = 4;
- break;
- case media::MIRROR_ROTATE_180:
- view_rotate = 5;
- break;
- }
- return view_rotate;
- }
-
void SetBitmap(HBITMAP hbmp) {
hbmp_ = hbmp;
}
@@ -358,9 +307,6 @@ class WtlVideoWindow : public CScrollWindowImpl<WtlVideoWindow> {
HBITMAP hbmp_; // For Images
int view_size_; // View Size. 0=0.5, 1=normal, 2=2x, 3=fit, 4=full
- // View Rotate 0-5 for ID_VIEW_ROTATE0 to ID_VIEW_MIRROR_VERTICAL
- media::Rotate view_rotate_;
-
// Draw a frame of YUV to an RGB buffer with scaling.
// Handles different YUV formats.
void DrawYUV(const media::VideoSurface &frame_in,
@@ -370,30 +316,53 @@ class WtlVideoWindow : public CScrollWindowImpl<WtlVideoWindow> {
int clipped_height,
int scaled_width,
int scaled_height) {
- if (frame_in.format == media::VideoSurface::YV16) {
- // Temporary cast, til we use uint8 for VideoFrame.
- media::ScaleYV16ToRGB32(frame_in.data[0],
- frame_in.data[1],
- frame_in.data[2],
- movie_dib_bits,
- clipped_width, clipped_height,
- scaled_width, scaled_height,
- frame_in.strides[0],
- frame_in.strides[1],
- dibrowbytes,
- view_rotate_);
+ // Normal size
+ if (view_size_ == 1) {
+ if (frame_in.format == media::VideoSurface::YV16) {
+ // Temporary cast, til we use uint8 for VideoFrame.
+ media::ConvertYV16ToRGB32((const uint8*)frame_in.data[0],
+ (const uint8*)frame_in.data[1],
+ (const uint8*)frame_in.data[2],
+ movie_dib_bits,
+ clipped_width, clipped_height,
+ frame_in.strides[0],
+ frame_in.strides[1],
+ dibrowbytes);
+ } else {
+ // Temporary cast, til we use uint8 for VideoFrame.
+ media::ConvertYV12ToRGB32((const uint8*)frame_in.data[0],
+ (const uint8*)frame_in.data[1],
+ (const uint8*)frame_in.data[2],
+ movie_dib_bits,
+ clipped_width, clipped_height,
+ frame_in.strides[0],
+ frame_in.strides[1],
+ dibrowbytes);
+ }
} else {
- // Temporary cast, til we use uint8 for VideoFrame.
- media::ScaleYV12ToRGB32(frame_in.data[0],
- frame_in.data[1],
- frame_in.data[2],
- movie_dib_bits,
- clipped_width, clipped_height,
- scaled_width, scaled_height,
- frame_in.strides[0],
- frame_in.strides[1],
- dibrowbytes,
- view_rotate_);
+ if (frame_in.format == media::VideoSurface::YV16) {
+ // Temporary cast, til we use uint8 for VideoFrame.
+ media::ScaleYV16ToRGB32((const uint8*)frame_in.data[0],
+ (const uint8*)frame_in.data[1],
+ (const uint8*)frame_in.data[2],
+ movie_dib_bits,
+ clipped_width, clipped_height,
+ scaled_width, scaled_height,
+ frame_in.strides[0],
+ frame_in.strides[1],
+ dibrowbytes);
+ } else {
+ // Temporary cast, til we use uint8 for VideoFrame.
+ media::ScaleYV12ToRGB32((const uint8*)frame_in.data[0],
+ (const uint8*)frame_in.data[1],
+ (const uint8*)frame_in.data[2],
+ movie_dib_bits,
+ clipped_width, clipped_height,
+ scaled_width, scaled_height,
+ frame_in.strides[0],
+ frame_in.strides[1],
+ dibrowbytes);
+ }
}
}