Home | History | Annotate | Download | only in c
      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 /* From pp_codecs.idl modified Tue Jun 10 13:32:45 2014. */
      7 
      8 #ifndef PPAPI_C_PP_CODECS_H_
      9 #define PPAPI_C_PP_CODECS_H_
     10 
     11 #include "ppapi/c/pp_macros.h"
     12 #include "ppapi/c/pp_size.h"
     13 #include "ppapi/c/pp_stdint.h"
     14 
     15 /**
     16  * @file
     17  * Video profiles.
     18  */
     19 
     20 
     21 /**
     22  * @addtogroup Enums
     23  * @{
     24  */
     25 typedef enum {
     26   PP_VIDEOPROFILE_H264BASELINE = 0,
     27   PP_VIDEOPROFILE_H264MAIN = 1,
     28   PP_VIDEOPROFILE_H264EXTENDED = 2,
     29   PP_VIDEOPROFILE_H264HIGH = 3,
     30   PP_VIDEOPROFILE_H264HIGH10PROFILE = 4,
     31   PP_VIDEOPROFILE_H264HIGH422PROFILE = 5,
     32   PP_VIDEOPROFILE_H264HIGH444PREDICTIVEPROFILE = 6,
     33   PP_VIDEOPROFILE_H264SCALABLEBASELINE = 7,
     34   PP_VIDEOPROFILE_H264SCALABLEHIGH = 8,
     35   PP_VIDEOPROFILE_H264STEREOHIGH = 9,
     36   PP_VIDEOPROFILE_H264MULTIVIEWHIGH = 10,
     37   PP_VIDEOPROFILE_VP8MAIN = 11,
     38   PP_VIDEOPROFILE_VP9MAIN = 12,
     39   PP_VIDEOPROFILE_MAX = PP_VIDEOPROFILE_VP9MAIN
     40 } PP_VideoProfile;
     41 /**
     42  * @}
     43  */
     44 
     45 /**
     46  * @addtogroup Structs
     47  * @{
     48  */
     49 /**
     50  * Struct describing a decoded video picture. The decoded picture data is stored
     51  * in the GL texture corresponding to |texture_id|. The plugin can determine
     52  * which Decode call generated the picture using |decode_id|.
     53  */
     54 struct PP_VideoPicture {
     55   /**
     56    * |decode_id| parameter of the Decode call which generated this picture.
     57    * See the PPB_VideoDecoder function Decode() for more details.
     58    */
     59   uint32_t decode_id;
     60   /**
     61    * Texture ID in the plugin's GL context. The plugin can use this to render
     62    * the decoded picture.
     63    */
     64   uint32_t texture_id;
     65   /**
     66    * The GL texture target for the decoded picture. Possible values are:
     67    *   GL_TEXTURE_2D                 (normalized texture coordinates)
     68    *   GL_TEXTURE_RECTANGLE_ARB      (dimension dependent texture coordinates)
     69    *
     70    * The pixel format of the texture is GL_RGBA.
     71    */
     72   uint32_t texture_target;
     73   /**
     74    * Dimensions of the texture holding the decoded picture.
     75    */
     76   struct PP_Size texture_size;
     77 };
     78 /**
     79  * @}
     80  */
     81 
     82 #endif  /* PPAPI_C_PP_CODECS_H_ */
     83 
     84