Home | History | Annotate | Download | only in pipe
      1 /**************************************************************************
      2  *
      3  * Copyright 2009 Younes Manton.
      4  * All Rights Reserved.
      5  *
      6  * Permission is hereby granted, free of charge, to any person obtaining a
      7  * copy of this software and associated documentation files (the
      8  * "Software"), to deal in the Software without restriction, including
      9  * without limitation the rights to use, copy, modify, merge, publish,
     10  * distribute, sub license, and/or sell copies of the Software, and to
     11  * permit persons to whom the Software is furnished to do so, subject to
     12  * the following conditions:
     13  *
     14  * The above copyright notice and this permission notice (including the
     15  * next paragraph) shall be included in all copies or substantial portions
     16  * of the Software.
     17  *
     18  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
     19  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
     20  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
     21  * IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS BE LIABLE FOR
     22  * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
     23  * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
     24  * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
     25  *
     26  **************************************************************************/
     27 
     28 #ifndef PIPE_VIDEO_ENUMS_H
     29 #define PIPE_VIDEO_ENUMS_H
     30 
     31 enum pipe_video_profile
     32 {
     33    PIPE_VIDEO_PROFILE_UNKNOWN,
     34    PIPE_VIDEO_PROFILE_MPEG1,
     35    PIPE_VIDEO_PROFILE_MPEG2_SIMPLE,
     36    PIPE_VIDEO_PROFILE_MPEG2_MAIN,
     37    PIPE_VIDEO_PROFILE_MPEG4_SIMPLE,
     38    PIPE_VIDEO_PROFILE_MPEG4_ADVANCED_SIMPLE,
     39    PIPE_VIDEO_PROFILE_VC1_SIMPLE,
     40    PIPE_VIDEO_PROFILE_VC1_MAIN,
     41    PIPE_VIDEO_PROFILE_VC1_ADVANCED,
     42    PIPE_VIDEO_PROFILE_MPEG4_AVC_BASELINE,
     43    PIPE_VIDEO_PROFILE_MPEG4_AVC_MAIN,
     44    PIPE_VIDEO_PROFILE_MPEG4_AVC_HIGH
     45 };
     46 
     47 /* Video caps, can be different for each codec/profile */
     48 enum pipe_video_cap
     49 {
     50    PIPE_VIDEO_CAP_SUPPORTED = 0,
     51    PIPE_VIDEO_CAP_NPOT_TEXTURES = 1,
     52    PIPE_VIDEO_CAP_MAX_WIDTH = 2,
     53    PIPE_VIDEO_CAP_MAX_HEIGHT = 3,
     54    PIPE_VIDEO_CAP_PREFERED_FORMAT = 4,
     55    PIPE_VIDEO_CAP_PREFERS_INTERLACED = 5,
     56    PIPE_VIDEO_CAP_SUPPORTS_PROGRESSIVE = 6,
     57    PIPE_VIDEO_CAP_SUPPORTS_INTERLACED = 7
     58 };
     59 
     60 enum pipe_video_codec
     61 {
     62    PIPE_VIDEO_CODEC_UNKNOWN = 0,
     63    PIPE_VIDEO_CODEC_MPEG12,   /**< MPEG1, MPEG2 */
     64    PIPE_VIDEO_CODEC_MPEG4,    /**< DIVX, XVID */
     65    PIPE_VIDEO_CODEC_VC1,      /**< WMV */
     66    PIPE_VIDEO_CODEC_MPEG4_AVC /**< H.264 */
     67 };
     68 
     69 enum pipe_video_entrypoint
     70 {
     71    PIPE_VIDEO_ENTRYPOINT_UNKNOWN,
     72    PIPE_VIDEO_ENTRYPOINT_BITSTREAM,
     73    PIPE_VIDEO_ENTRYPOINT_IDCT,
     74    PIPE_VIDEO_ENTRYPOINT_MC
     75 };
     76 
     77 
     78 #endif /* PIPE_VIDEO_ENUMS_H */
     79