summaryrefslogtreecommitdiffstats
path: root/ppapi/c/pp_codecs.h
diff options
context:
space:
mode:
authorbbudge@chromium.org <bbudge@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-05-06 21:35:49 +0000
committerbbudge@chromium.org <bbudge@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-05-06 21:35:49 +0000
commit4f0c4c41cd94564d7f62435a3baf5dd33b1eeb69 (patch)
tree1bd073fd23acae7a6987080e23971c60d335f096 /ppapi/c/pp_codecs.h
parent6b6e354ab83d2ea9eea9b39014aa96ad153e44b2 (diff)
downloadchromium_src-4f0c4c41cd94564d7f62435a3baf5dd33b1eeb69.zip
chromium_src-4f0c4c41cd94564d7f62435a3baf5dd33b1eeb69.tar.gz
chromium_src-4f0c4c41cd94564d7f62435a3baf5dd33b1eeb69.tar.bz2
Adds IDL for enums and structs for encoding/decoding.
Adds IDL for PPB_VideoDecoder. Adds C++ wrappers and generated files. BUG=281689 R=binji@chromium.org, dmichael@chromium.org, igorc@chromium.org Review URL: https://codereview.chromium.org/210373003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@268618 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ppapi/c/pp_codecs.h')
-rw-r--r--ppapi/c/pp_codecs.h82
1 files changed, 82 insertions, 0 deletions
diff --git a/ppapi/c/pp_codecs.h b/ppapi/c/pp_codecs.h
new file mode 100644
index 0000000..b98769e
--- /dev/null
+++ b/ppapi/c/pp_codecs.h
@@ -0,0 +1,82 @@
+/* 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_codecs.idl modified Tue May 6 05:14:19 2014. */
+
+#ifndef PPAPI_C_PP_CODECS_H_
+#define PPAPI_C_PP_CODECS_H_
+
+#include "ppapi/c/pp_macros.h"
+#include "ppapi/c/pp_size.h"
+#include "ppapi/c/pp_stdint.h"
+
+/**
+ * @file
+ * Video profiles.
+ */
+
+
+/**
+ * @addtogroup Enums
+ * @{
+ */
+typedef enum {
+ PP_VIDEOPROFILE_H264BASELINE = 0,
+ PP_VIDEOPROFILE_H264MAIN = 1,
+ PP_VIDEOPROFILE_H264EXTENDED = 2,
+ PP_VIDEOPROFILE_H264HIGH = 3,
+ PP_VIDEOPROFILE_H264HIGH10PROFILE = 4,
+ PP_VIDEOPROFILE_H264HIGH422PROFILE = 5,
+ PP_VIDEOPROFILE_H264HIGH444PREDICTIVEPROFILE = 6,
+ PP_VIDEOPROFILE_H264SCALABLEBASELINE = 7,
+ PP_VIDEOPROFILE_H264SCALABLEHIGH = 8,
+ PP_VIDEOPROFILE_H264STEREOHIGH = 9,
+ PP_VIDEOPROFILE_H264MULTIVIEWHIGH = 10,
+ PP_VIDEOPROFILE_VP8MAIN = 11,
+ PP_VIDEOPROFILE_MAX = PP_VIDEOPROFILE_VP8MAIN
+} PP_VideoProfile;
+/**
+ * @}
+ */
+
+/**
+ * @addtogroup Structs
+ * @{
+ */
+/**
+ * Struct describing a decoded video picture. The decoded picture data is stored
+ * in the GL texture corresponding to |texture_id|. The plugin can determine
+ * which Decode call generated the picture using |decode_id|.
+ */
+struct PP_VideoPicture {
+ /**
+ * |decode_id| parameter of the Decode call which generated this picture.
+ * See the PPB_VideoDecoder function Decode() for more details.
+ */
+ uint32_t decode_id;
+ /**
+ * Texture ID in the plugin's GL context. The plugin can use this to render
+ * the decoded picture.
+ */
+ uint32_t texture_id;
+ /**
+ * The GL texture target for the decoded picture. Possible values are:
+ * GL_TEXTURE_2D (normalized texture coordinates)
+ * GL_TEXTURE_RECTANGLE_ARB (dimension dependent texture coordinates)
+ *
+ * The pixel format of the texture is GL_BGRA.
+ */
+ uint32_t texture_target;
+ /**
+ * Dimensions of the texture holding the decoded picture.
+ */
+ struct PP_Size texture_size;
+};
+/**
+ * @}
+ */
+
+#endif /* PPAPI_C_PP_CODECS_H_ */
+