• 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_VP8_ANY = 11,
22  PP_VIDEOPROFILE_VP9_ANY = 12,
23  PP_VIDEOPROFILE_MAX = PP_VIDEOPROFILE_VP9_ANY
24};
25
26/**
27 * Hardware acceleration options.
28 */
29enum PP_HardwareAcceleration {
30  /** Create a hardware accelerated resource only. */
31  PP_HARDWAREACCELERATION_ONLY = 0,
32
33  /**
34   * Create a hardware accelerated resource if possible. Otherwise, fall back
35   * to the software implementation.
36   */
37  PP_HARDWAREACCELERATION_WITHFALLBACK = 1,
38
39  /** Create the software implementation only. */
40  PP_HARDWAREACCELERATION_NONE = 2,
41
42  PP_HARDWAREACCELERATION_LAST = PP_HARDWAREACCELERATION_NONE
43};
44
45/**
46 * Struct describing a decoded video picture. The decoded picture data is stored
47 * in the GL texture corresponding to |texture_id|. The plugin can determine
48 * which Decode call generated the picture using |decode_id|.
49 */
50struct PP_VideoPicture {
51  /**
52   * |decode_id| parameter of the Decode call which generated this picture.
53   * See the PPB_VideoDecoder function Decode() for more details.
54   */
55  uint32_t decode_id;
56
57  /**
58   * Texture ID in the plugin's GL context. The plugin can use this to render
59   * the decoded picture.
60   */
61  uint32_t texture_id;
62
63  /**
64   * The GL texture target for the decoded picture. Possible values are:
65   *   GL_TEXTURE_2D
66   *   GL_TEXTURE_RECTANGLE_ARB
67   *   GL_TEXTURE_EXTERNAL_OES
68   *
69   * The pixel format of the texture is GL_RGBA.
70   */
71  uint32_t texture_target;
72
73  /**
74   * Dimensions of the texture holding the decoded picture.
75   */
76  PP_Size texture_size;
77};
78