Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / ppapi / api / pp_codecs.idl
1 /* Copyright (c) 2014 The Chromium Authors. All rights reserved.
2  * Use of this source code is governed by a BSD-style license that can be
3  * found in the LICENSE file.
4  */
5
6 /**
7  * Video profiles.
8  */
9 enum PP_VideoProfile {
10   PP_VIDEOPROFILE_H264BASELINE = 0,
11   PP_VIDEOPROFILE_H264MAIN = 1,
12   PP_VIDEOPROFILE_H264EXTENDED = 2,
13   PP_VIDEOPROFILE_H264HIGH = 3,
14   PP_VIDEOPROFILE_H264HIGH10PROFILE = 4,
15   PP_VIDEOPROFILE_H264HIGH422PROFILE = 5,
16   PP_VIDEOPROFILE_H264HIGH444PREDICTIVEPROFILE = 6,
17   PP_VIDEOPROFILE_H264SCALABLEBASELINE = 7,
18   PP_VIDEOPROFILE_H264SCALABLEHIGH = 8,
19   PP_VIDEOPROFILE_H264STEREOHIGH = 9,
20   PP_VIDEOPROFILE_H264MULTIVIEWHIGH = 10,
21   PP_VIDEOPROFILE_VP8MAIN = 11,
22   PP_VIDEOPROFILE_MAX = PP_VIDEOPROFILE_VP8MAIN
23 };
24
25 /**
26  * Struct describing a decoded video picture. The decoded picture data is stored
27  * in the GL texture corresponding to |texture_id|. The plugin can determine
28  * which Decode call generated the picture using |decode_id|.
29  */
30 struct PP_VideoPicture {
31   /**
32    * |decode_id| parameter of the Decode call which generated this picture.
33    * See the PPB_VideoDecoder function Decode() for more details.
34    */
35   uint32_t decode_id;
36
37   /**
38    * Texture ID in the plugin's GL context. The plugin can use this to render
39    * the decoded picture.
40    */
41   uint32_t texture_id;
42
43   /**
44    * The GL texture target for the decoded picture. Possible values are:
45    *   GL_TEXTURE_2D                 (normalized texture coordinates)
46    *   GL_TEXTURE_RECTANGLE_ARB      (dimension dependent texture coordinates)
47    *
48    * The pixel format of the texture is GL_BGRA.
49    */
50   uint32_t texture_target;
51
52   /**
53    * Dimensions of the texture holding the decoded picture.
54    */
55   PP_Size texture_size;
56 };