Index: content/common/gpu/media/vaapi_jpeg_decoder.h |
diff --git a/content/common/gpu/media/vaapi_jpeg_decoder.h b/content/common/gpu/media/vaapi_jpeg_decoder.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..30400164e7ee7ece321d8e026d49ba8af0e03057 |
--- /dev/null |
+++ b/content/common/gpu/media/vaapi_jpeg_decoder.h |
@@ -0,0 +1,45 @@ |
+// Copyright 2015 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef CONTENT_COMMON_GPU_MEDIA_VAAPI_JPEG_DECODER_H_ |
+#define CONTENT_COMMON_GPU_MEDIA_VAAPI_JPEG_DECODER_H_ |
+ |
+#include "base/macros.h" |
+#include "content/common/content_export.h" |
+#include "content/common/gpu/media/vaapi_wrapper.h" |
+ |
+namespace media { |
+struct JpegParseResult; |
+} // namespace media |
+ |
+namespace content { |
+ |
+// A JPEG decoder that utilizes VA-API hardware video decode acceleration on |
+// Intel systems. Provides functionality to allow plugging VAAPI HW |
+// acceleration into the JpegDecodeAccelerator framework. |
+// |
+// Clients of this class are expected to manage VA surfaces created via |
+// VaapiWrapper, parse JPEG picture via media::ParseJpegPicture, and then pass |
+// them to this class. |
+class CONTENT_EXPORT VaapiJpegDecoder { |
+ public: |
+ // Decode a JPEG picture. It will fill VA-API parameters and call |
+ // corresponding VA-API methods according to parsed JPEG result |
+ // |parse_result|. Decoded data will be outputted to the given |va_surface|. |
+ // Return false on failure. |
+ // |vaapi_wrapper| should be initialized in kDecode mode with |
+ // VAProfileJPEGBaseline profile. |
+ // |va_surface| should be created with size at least as large as the picture |
+ // size. |
+ static bool Decode(VaapiWrapper* vaapi_wrapper, |
+ const media::JpegParseResult& parse_result, |
+ VASurfaceID va_surface); |
+ |
+ private: |
+ DISALLOW_IMPLICIT_CONSTRUCTORS(VaapiJpegDecoder); |
+}; |
+ |
+} // namespace content |
+ |
+#endif // CONTENT_COMMON_GPU_MEDIA_VAAPI_JPEG_DECODER_H_ |