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

Side by Side Diff: media/renderers/skcanvas_video_renderer.h

Issue 2767063002: 16-bit video upload to float: intermediate R16_EXT and copy to float. (Closed)
Patch Set: Created 3 years, 8 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef MEDIA_RENDERERS_SKCANVAS_VIDEO_RENDERER_H_ 5 #ifndef MEDIA_RENDERERS_SKCANVAS_VIDEO_RENDERER_H_
6 #define MEDIA_RENDERERS_SKCANVAS_VIDEO_RENDERER_H_ 6 #define MEDIA_RENDERERS_SKCANVAS_VIDEO_RENDERER_H_
7 7
8 #include <stddef.h> 8 #include <stddef.h>
9 #include <stdint.h> 9 #include <stdint.h>
10 10
(...skipping 10 matching lines...) Expand all
21 #include "media/base/video_rotation.h" 21 #include "media/base/video_rotation.h"
22 #include "media/filters/context_3d.h" 22 #include "media/filters/context_3d.h"
23 #include "third_party/skia/include/core/SkImage.h" 23 #include "third_party/skia/include/core/SkImage.h"
24 #include "third_party/skia/include/core/SkRefCnt.h" 24 #include "third_party/skia/include/core/SkRefCnt.h"
25 25
26 26
27 namespace gfx { 27 namespace gfx {
28 class RectF; 28 class RectF;
29 } 29 }
30 30
31 namespace gpu {
32 struct Capabilities;
33 }
34
31 namespace media { 35 namespace media {
32 36
33 // TODO(enne): rename to PaintCanvasVideoRenderer 37 // TODO(enne): rename to PaintCanvasVideoRenderer
34 // Handles rendering of VideoFrames to PaintCanvases. 38 // Handles rendering of VideoFrames to PaintCanvases.
35 class MEDIA_EXPORT SkCanvasVideoRenderer { 39 class MEDIA_EXPORT SkCanvasVideoRenderer {
36 public: 40 public:
37 SkCanvasVideoRenderer(); 41 SkCanvasVideoRenderer();
38 ~SkCanvasVideoRenderer(); 42 ~SkCanvasVideoRenderer();
39 43
40 // Paints |video_frame| on |canvas|, scaling and rotating the result to fit 44 // Paints |video_frame| on |canvas|, scaling and rotating the result to fit
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
93 unsigned int texture, 97 unsigned int texture,
94 bool premultiply_alpha, 98 bool premultiply_alpha,
95 bool flip_y); 99 bool flip_y);
96 100
97 // Converts unsigned 16-bit value to target |format| for Y16 format and 101 // Converts unsigned 16-bit value to target |format| for Y16 format and
98 // calls WebGL texImage2D. 102 // calls WebGL texImage2D.
99 // |level|, |internal_format|, |format|, |type| are WebGL texImage2D 103 // |level|, |internal_format|, |format|, |type| are WebGL texImage2D
100 // parameters. 104 // parameters.
101 // Returns false if there is no implementation for given parameters. 105 // Returns false if there is no implementation for given parameters.
102 static bool TexImage2D(unsigned target, 106 static bool TexImage2D(unsigned target,
107 unsigned texture,
103 gpu::gles2::GLES2Interface* gl, 108 gpu::gles2::GLES2Interface* gl,
109 const gpu::Capabilities& gpu_capabilities,
104 VideoFrame* video_frame, 110 VideoFrame* video_frame,
105 int level, 111 int level,
106 int internalformat, 112 int internalformat,
107 unsigned format, 113 unsigned format,
108 unsigned type, 114 unsigned type,
109 bool flip_y, 115 bool flip_y,
110 bool premultiply_alpha); 116 bool premultiply_alpha);
111 117
112 // Converts unsigned 16-bit value to target |format| for Y16 format and 118 // Converts unsigned 16-bit value to target |format| for Y16 format and
113 // calls WebGL texSubImage2D. 119 // calls WebGL texSubImage2D.
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
154 160
155 // Used for unit test. 161 // Used for unit test.
156 SkISize last_image_dimensions_for_testing_; 162 SkISize last_image_dimensions_for_testing_;
157 163
158 DISALLOW_COPY_AND_ASSIGN(SkCanvasVideoRenderer); 164 DISALLOW_COPY_AND_ASSIGN(SkCanvasVideoRenderer);
159 }; 165 };
160 166
161 } // namespace media 167 } // namespace media
162 168
163 #endif // MEDIA_RENDERERS_SKCANVAS_VIDEO_RENDERER_H_ 169 #endif // MEDIA_RENDERERS_SKCANVAS_VIDEO_RENDERER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698