• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 */
9enum 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_VP9MAIN = 12,
23  PP_VIDEOPROFILE_MAX = PP_VIDEOPROFILE_VP9MAIN
24};
25
26/**
27 * Struct describing a decoded video picture. The decoded picture data is stored
28 * in the GL texture corresponding to |texture_id|. The plugin can determine
29 * which Decode call generated the picture using |decode_id|.
30 */
31struct PP_VideoPicture {
32  /**
33   * |decode_id| parameter of the Decode call which generated this picture.
34   * See the PPB_VideoDecoder function Decode() for more details.
35   */
36  uint32_t decode_id;
37
38  /**
39   * Texture ID in the plugin's GL context. The plugin can use this to render
40   * the decoded picture.
41   */
42  uint32_t texture_id;
43
44  /**
45   * The GL texture target for the decoded picture. Possible values are:
46   *   GL_TEXTURE_2D                 (normalized texture coordinates)
47   *   GL_TEXTURE_RECTANGLE_ARB      (dimension dependent texture coordinates)
48   *
49   * The pixel format of the texture is GL_RGBA.
50   */
51  uint32_t texture_target;
52
53  /**
54   * Dimensions of the texture holding the decoded picture.
55   */
56  PP_Size texture_size;
57};
58