diff options
author | bbudge@chromium.org <bbudge@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-06 21:35:49 +0000 |
---|---|---|
committer | bbudge@chromium.org <bbudge@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-06 21:35:49 +0000 |
commit | 4f0c4c41cd94564d7f62435a3baf5dd33b1eeb69 (patch) | |
tree | 1bd073fd23acae7a6987080e23971c60d335f096 /ppapi/c/pp_codecs.h | |
parent | 6b6e354ab83d2ea9eea9b39014aa96ad153e44b2 (diff) | |
download | chromium_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.h | 82 |
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_ */ + |