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 #ifdef __cplusplus 32 extern "C" { 33 #endif 34 35 enum pipe_video_format 36 { 37 PIPE_VIDEO_FORMAT_UNKNOWN = 0, 38 PIPE_VIDEO_FORMAT_MPEG12, /**< MPEG1, MPEG2 */ 39 PIPE_VIDEO_FORMAT_MPEG4, /**< DIVX, XVID */ 40 PIPE_VIDEO_FORMAT_VC1, /**< WMV */ 41 PIPE_VIDEO_FORMAT_MPEG4_AVC,/**< H.264 */ 42 PIPE_VIDEO_FORMAT_HEVC /**< H.265 */ 43 }; 44 45 enum pipe_video_profile 46 { 47 PIPE_VIDEO_PROFILE_UNKNOWN, 48 PIPE_VIDEO_PROFILE_MPEG1, 49 PIPE_VIDEO_PROFILE_MPEG2_SIMPLE, 50 PIPE_VIDEO_PROFILE_MPEG2_MAIN, 51 PIPE_VIDEO_PROFILE_MPEG4_SIMPLE, 52 PIPE_VIDEO_PROFILE_MPEG4_ADVANCED_SIMPLE, 53 PIPE_VIDEO_PROFILE_VC1_SIMPLE, 54 PIPE_VIDEO_PROFILE_VC1_MAIN, 55 PIPE_VIDEO_PROFILE_VC1_ADVANCED, 56 PIPE_VIDEO_PROFILE_MPEG4_AVC_BASELINE, 57 PIPE_VIDEO_PROFILE_MPEG4_AVC_MAIN, 58 PIPE_VIDEO_PROFILE_MPEG4_AVC_EXTENDED, 59 PIPE_VIDEO_PROFILE_MPEG4_AVC_HIGH, 60 PIPE_VIDEO_PROFILE_MPEG4_AVC_HIGH10, 61 PIPE_VIDEO_PROFILE_MPEG4_AVC_HIGH422, 62 PIPE_VIDEO_PROFILE_MPEG4_AVC_HIGH444, 63 PIPE_VIDEO_PROFILE_HEVC_MAIN, 64 PIPE_VIDEO_PROFILE_HEVC_MAIN_10, 65 PIPE_VIDEO_PROFILE_HEVC_MAIN_STILL, 66 PIPE_VIDEO_PROFILE_HEVC_MAIN_12, 67 PIPE_VIDEO_PROFILE_HEVC_MAIN_444 68 }; 69 70 /* Video caps, can be different for each codec/profile */ 71 enum pipe_video_cap 72 { 73 PIPE_VIDEO_CAP_SUPPORTED = 0, 74 PIPE_VIDEO_CAP_NPOT_TEXTURES = 1, 75 PIPE_VIDEO_CAP_MAX_WIDTH = 2, 76 PIPE_VIDEO_CAP_MAX_HEIGHT = 3, 77 PIPE_VIDEO_CAP_PREFERED_FORMAT = 4, 78 PIPE_VIDEO_CAP_PREFERS_INTERLACED = 5, 79 PIPE_VIDEO_CAP_SUPPORTS_PROGRESSIVE = 6, 80 PIPE_VIDEO_CAP_SUPPORTS_INTERLACED = 7, 81 PIPE_VIDEO_CAP_MAX_LEVEL = 8, 82 PIPE_VIDEO_CAP_STACKED_FRAMES = 9 83 }; 84 85 enum pipe_video_entrypoint 86 { 87 PIPE_VIDEO_ENTRYPOINT_UNKNOWN, 88 PIPE_VIDEO_ENTRYPOINT_BITSTREAM, 89 PIPE_VIDEO_ENTRYPOINT_IDCT, 90 PIPE_VIDEO_ENTRYPOINT_MC, 91 PIPE_VIDEO_ENTRYPOINT_ENCODE 92 }; 93 94 #if defined(__cplusplus) 95 } 96 #endif 97 98 #endif /* PIPE_VIDEO_ENUMS_H */ 99