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

Side by Side Diff: media/base/yuv_scale.h

Issue 113407: ScaleYV12 optimization.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 7 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 | « media/base/yuv_row_win.cc ('k') | media/base/yuv_scale.cc » ('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) 2009 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 #ifndef MEDIA_BASE_YUV_SCALE_H_
6 #define MEDIA_BASE_YUV_SCALE_H_
7
8 #include "base/basictypes.h"
9
10 namespace media {
11
12 // Mirror means flip the image horizontally, as in looking in a mirror.
13 // Rotate happens after mirroring.
14
15 enum Rotate {
16 ROTATE_0, // Rotation off.
17 ROTATE_90, // Rotate clockwise.
18 ROTATE_180, // Rotate upside down.
19 ROTATE_270, // Rotate counter clockwise.
20 MIRROR_ROTATE_0, // Mirror horizontally.
21 MIRROR_ROTATE_90, // Mirror then Rotate clockwise.
22 MIRROR_ROTATE_180, // Mirror vertically.
23 MIRROR_ROTATE_270, // Transpose.
24 };
25
26 // Diagram showing origin and direction of source sampling.
27 // ->0 4<-
28 // 7 3
29 //
30 // 6 5
31 // ->1 2<-
32
33 // Scale a frame of YV12 (aka YUV420) to 32 bit ARGB.
34 void ScaleYV12ToRGB32(const uint8* yplane,
35 const uint8* uplane,
36 const uint8* vplane,
37 uint8* rgbframe,
38 int frame_width,
39 int frame_height,
40 int scaled_width,
41 int scaled_height,
42 int ystride,
43 int uvstride,
44 int rgbstride,
45 Rotate view_rotate);
46
47 // Scale a frame of YV16 (aka YUV422) to 32 bit ARGB.
48 void ScaleYV16ToRGB32(const uint8* yplane,
49 const uint8* uplane,
50 const uint8* vplane,
51 uint8* rgbframe,
52 int frame_width,
53 int frame_height,
54 int scaled_width,
55 int scaled_height,
56 int ystride,
57 int uvstride,
58 int rgbstride,
59 Rotate view_rotate);
60
61 } // namespace media
62
63 #endif // MEDIA_BASE_YUV_SCALE_H_
64
OLDNEW
« no previous file with comments | « media/base/yuv_row_win.cc ('k') | media/base/yuv_scale.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698