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 VMWARE 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_format 32 { 33 PIPE_VIDEO_FORMAT_UNKNOWN = 0, 34 PIPE_VIDEO_FORMAT_MPEG12, /**< MPEG1, MPEG2 */ 35 PIPE_VIDEO_FORMAT_MPEG4, /**< DIVX, XVID */ 36 PIPE_VIDEO_FORMAT_VC1, /**< WMV */ 37 PIPE_VIDEO_FORMAT_MPEG4_AVC /**< H.264 */ 38 }; 39 40 enum pipe_video_profile 41 { 42 PIPE_VIDEO_PROFILE_UNKNOWN, 43 PIPE_VIDEO_PROFILE_MPEG1, 44 PIPE_VIDEO_PROFILE_MPEG2_SIMPLE, 45 PIPE_VIDEO_PROFILE_MPEG2_MAIN, 46 PIPE_VIDEO_PROFILE_MPEG4_SIMPLE, 47 PIPE_VIDEO_PROFILE_MPEG4_ADVANCED_SIMPLE, 48 PIPE_VIDEO_PROFILE_VC1_SIMPLE, 49 PIPE_VIDEO_PROFILE_VC1_MAIN, 50 PIPE_VIDEO_PROFILE_VC1_ADVANCED, 51 PIPE_VIDEO_PROFILE_MPEG4_AVC_BASELINE, 52 PIPE_VIDEO_PROFILE_MPEG4_AVC_MAIN, 53 PIPE_VIDEO_PROFILE_MPEG4_AVC_HIGH 54 }; 55 56 /* Video caps, can be different for each codec/profile */ 57 enum pipe_video_cap 58 { 59 PIPE_VIDEO_CAP_SUPPORTED = 0, 60 PIPE_VIDEO_CAP_NPOT_TEXTURES = 1, 61 PIPE_VIDEO_CAP_MAX_WIDTH = 2, 62 PIPE_VIDEO_CAP_MAX_HEIGHT = 3, 63 PIPE_VIDEO_CAP_PREFERED_FORMAT = 4, 64 PIPE_VIDEO_CAP_PREFERS_INTERLACED = 5, 65 PIPE_VIDEO_CAP_SUPPORTS_PROGRESSIVE = 6, 66 PIPE_VIDEO_CAP_SUPPORTS_INTERLACED = 7, 67 PIPE_VIDEO_CAP_MAX_LEVEL = 8 68 }; 69 70 enum pipe_video_entrypoint 71 { 72 PIPE_VIDEO_ENTRYPOINT_UNKNOWN, 73 PIPE_VIDEO_ENTRYPOINT_BITSTREAM, 74 PIPE_VIDEO_ENTRYPOINT_IDCT, 75 PIPE_VIDEO_ENTRYPOINT_MC, 76 PIPE_VIDEO_ENTRYPOINT_ENCODE 77 }; 78 79 #endif /* PIPE_VIDEO_ENUMS_H */ 80