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_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 */ 29 enum 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 */ 50 struct 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