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

Unified Diff: ppapi/c/pp_media_codec.h

Issue 210373003: Pepper VideoDecoder API definition. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 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 side-by-side diff with in-line comments
Download patch
Index: ppapi/c/pp_media_codec.h
diff --git a/ppapi/c/pp_media_codec.h b/ppapi/c/pp_media_codec.h
new file mode 100644
index 0000000000000000000000000000000000000000..732255fed5657ed24e9c2b217a6ae02efe86d5d2
--- /dev/null
+++ b/ppapi/c/pp_media_codec.h
@@ -0,0 +1,103 @@
+/* Copyright (c) 2014 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.
+ */
+
+/* From pp_media_codec.idl modified Tue Apr 8 18:09:01 2014. */
+
+#ifndef PPAPI_C_PP_MEDIA_CODEC_H_
+#define PPAPI_C_PP_MEDIA_CODEC_H_
+
+#include "ppapi/c/pp_macros.h"
+#include "ppapi/c/pp_size.h"
+#include "ppapi/c/pp_stdint.h"
+
+/**
+ * @file
+ * Video decoder profiles.
+ */
+
+
+/**
+ * @addtogroup Enums
+ * @{
+ */
+typedef enum {
+ PP_MEDIACODEC_H264PROFILE_BASELINE = 0,
+ PP_MEDIACODEC_H264PROFILE_MAIN = 1,
+ PP_MEDIACODEC_H264PROFILE_EXTENDED = 2,
+ PP_MEDIACODEC_H264PROFILE_HIGH = 3,
+ PP_MEDIACODEC_H264PROFILE_HIGH10PROFILE = 4,
+ PP_MEDIACODEC_H264PROFILE_HIGH422PROFILE = 5,
+ PP_MEDIACODEC_H264PROFILE_HIGH444PREDICTIVEPROFILE = 6,
+ PP_MEDIACODEC_H264PROFILE_SCALABLEBASELINE = 7,
+ PP_MEDIACODEC_H264PROFILE_SCALABLEHIGH = 8,
+ PP_MEDIACODEC_H264PROFILE_STEREOHIGH = 9,
+ PP_MEDIACODEC_H264PROFILE_MULTIVIEWHIGH = 10,
+ PP_MEDIACODEC_VP8PROFILE_MAIN = 11,
+ PP_MEDIACODEC_VP9PROFILE_MAIN = 12,
+ PP_MEDIACODEC_PROFILE_MAX = PP_MEDIACODEC_VP9PROFILE_MAIN
+} PP_MediaCodec_Profile;
+/**
+ * @}
+ */
+
+/**
+ * @addtogroup Structs
+ * @{
+ */
+/**
+ * Struct describing a video bitstream buffer. This struct is read-only and
+ * should not be modified by the plugin.
+ */
+struct PP_MediaCodec_BitstreamBuffer {
+ /**
+ * Buffer id. This can be used by the plugin to match bitstream buffers sent
+ * to the decoder with picture buffers received from the decoder.
+ */
+ int32_t buffer_id;
+ /**
+ * Size of buffer in bytes.
+ */
+ uint32_t size;
+ /**
+ * Pointer to buffer data. The plugin can safely write to the address range
+ * [addr, addr + size - 1].
+ */
+ void* addr;
+};
+
+/**
+ * Struct describing a decoded video picture. The decoded picture data from the
+ * bitstream buffer corresponding to |buffer_id| is stored in the GL texture
+ * corresponding to |texture_id|. This struct is read-only and should not be
+ * modified by the plugin.
+ */
+struct PP_MediaCodec_PictureBuffer {
+ /**
+ * Identifier of the last bitstream buffer which decoded into this picture.
+ */
+ int32_t buffer_id;
+ /**
+ * Texture ID in the plugin's GL context. The plugin can use this to render
+ * the decoded picture.
+ */
+ uint32_t texture_id;
+ /**
+ * The type of GL texture used to hold the decoded picture. The possible
+ * values are:
+ * GL_TEXTURE_2D
+ * GL_TEXTURE_RECTANGLE_ARB
+ */
+ uint32_t texture_target;
+ /**
+ * Dimensions of the texture holding the decoded picture.
+ */
+ struct PP_Size texture_size;
+};
+/**
+ * @}
+ */
+
+#endif /* PPAPI_C_PP_MEDIA_CODEC_H_ */
+

Powered by Google App Engine
This is Rietveld 408576698