Home | History | Annotate | Download | only in api
      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