class CC_EXPORT YUVVideoDrawQuad : public DrawQuad {
public:
- virtual ~YUVVideoDrawQuad();
+ enum ColorSpace {
+ REC_601, // SDTV standard with restricted "studio swing" color range.
+ REC_601_JPEG, // Full color range [0, 255] variant of the above.
+ COLOR_SPACE_LAST = REC_601_JPEG
+ };
- static scoped_ptr<YUVVideoDrawQuad> Create();
+ ~YUVVideoDrawQuad() override;
+
+ YUVVideoDrawQuad();
void SetNew(const SharedQuadState* shared_quad_state,
const gfx::Rect& rect,
unsigned y_plane_resource_id,
unsigned u_plane_resource_id,
unsigned v_plane_resource_id,
- unsigned a_plane_resource_id);
+ unsigned a_plane_resource_id,
+ ColorSpace color_space);
void SetAll(const SharedQuadState* shared_quad_state,
const gfx::Rect& rect,
unsigned y_plane_resource_id,
unsigned u_plane_resource_id,
unsigned v_plane_resource_id,
- unsigned a_plane_resource_id);
+ unsigned a_plane_resource_id,
+ ColorSpace color_space);
gfx::RectF tex_coord_rect;
unsigned y_plane_resource_id;
unsigned u_plane_resource_id;
unsigned v_plane_resource_id;
unsigned a_plane_resource_id;
+ ColorSpace color_space;
- virtual void IterateResources(const ResourceIteratorCallback& callback)
- OVERRIDE;
+ void IterateResources(const ResourceIteratorCallback& callback) override;
static const YUVVideoDrawQuad* MaterialCast(const DrawQuad*);
private:
- YUVVideoDrawQuad();
- virtual void ExtendValue(base::DictionaryValue* value) const OVERRIDE;
+ void ExtendValue(base::debug::TracedValue* value) const override;
};
} // namespace cc