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

Unified Diff: media/gpu/v4l2_slice_video_decode_accelerator.h

Issue 2229353002: V4L2SVDA: Add a VP9Accelerator implementation utilizing the V4L2 VP9 frame API. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: compilation fixes Created 4 years, 4 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/gpu/v4l2_device.cc ('k') | media/gpu/v4l2_slice_video_decode_accelerator.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: media/gpu/v4l2_slice_video_decode_accelerator.h
diff --git a/media/gpu/v4l2_slice_video_decode_accelerator.h b/media/gpu/v4l2_slice_video_decode_accelerator.h
index b0131d9a2e049201adcd298c5b0f0865883e7ac5..db53aec70b9f8cea3ee05603a61f51d3e52ba14e 100644
--- a/media/gpu/v4l2_slice_video_decode_accelerator.h
+++ b/media/gpu/v4l2_slice_video_decode_accelerator.h
@@ -25,6 +25,7 @@
#include "media/gpu/media_gpu_export.h"
#include "media/gpu/v4l2_device.h"
#include "media/gpu/vp8_decoder.h"
+#include "media/gpu/vp9_decoder.h"
#include "media/video/video_decode_accelerator.h"
namespace media {
@@ -66,6 +67,7 @@ class MEDIA_GPU_EXPORT V4L2SliceVideoDecodeAccelerator
private:
class V4L2H264Accelerator;
class V4L2VP8Accelerator;
+ class V4L2VP9Accelerator;
// Record for input buffers.
struct InputRecord {
@@ -111,6 +113,13 @@ class MEDIA_GPU_EXPORT V4L2SliceVideoDecodeAccelerator
// Submit controls in |ext_ctrls| to hardware. Return true on success.
bool SubmitExtControls(struct v4l2_ext_controls* ext_ctrls);
+ // Gets current control values for controls in |ext_ctrls| from the driver.
+ // Return true on success.
+ bool GetExtControls(struct v4l2_ext_controls* ext_ctrls);
+
+ // Return true if the driver exposes V4L2 control |ctrl_id|, false otherwise.
+ bool IsCtrlExposed(uint32_t ctrl_id);
+
// Decode of |dec_surface| is ready to be submitted and all codec-specific
// settings are set in hardware.
void DecodeSurface(const scoped_refptr<V4L2DecodeSurface>& dec_surface);
@@ -424,6 +433,7 @@ class MEDIA_GPU_EXPORT V4L2SliceVideoDecodeAccelerator
// TODO(posciak): Try to have a superclass here if possible.
std::unique_ptr<V4L2H264Accelerator> h264_accelerator_;
std::unique_ptr<V4L2VP8Accelerator> vp8_accelerator_;
+ std::unique_ptr<V4L2VP9Accelerator> vp9_accelerator_;
// Codec-specific software decoder in use.
std::unique_ptr<AcceleratedVideoDecoder> decoder_;
@@ -462,6 +472,7 @@ class MEDIA_GPU_EXPORT V4L2SliceVideoDecodeAccelerator
class V4L2H264Picture;
class V4L2VP8Picture;
+class V4L2VP9Picture;
} // namespace media
« no previous file with comments | « media/gpu/v4l2_device.cc ('k') | media/gpu/v4l2_slice_video_decode_accelerator.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698