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 PIPE_VIDEO_FORMAT_JPEG /**< JPEG */ 44 }; 45 46 enum pipe_video_profile 47 { 48 PIPE_VIDEO_PROFILE_UNKNOWN, 49 PIPE_VIDEO_PROFILE_MPEG1, 50 PIPE_VIDEO_PROFILE_MPEG2_SIMPLE, 51 PIPE_VIDEO_PROFILE_MPEG2_MAIN, 52 PIPE_VIDEO_PROFILE_MPEG4_SIMPLE, 53 PIPE_VIDEO_PROFILE_MPEG4_ADVANCED_SIMPLE, 54 PIPE_VIDEO_PROFILE_VC1_SIMPLE, 55 PIPE_VIDEO_PROFILE_VC1_MAIN, 56 PIPE_VIDEO_PROFILE_VC1_ADVANCED, 57 PIPE_VIDEO_PROFILE_MPEG4_AVC_BASELINE, 58 PIPE_VIDEO_PROFILE_MPEG4_AVC_CONSTRAINED_BASELINE, 59 PIPE_VIDEO_PROFILE_MPEG4_AVC_MAIN, 60 PIPE_VIDEO_PROFILE_MPEG4_AVC_EXTENDED, 61 PIPE_VIDEO_PROFILE_MPEG4_AVC_HIGH, 62 PIPE_VIDEO_PROFILE_MPEG4_AVC_HIGH10, 63 PIPE_VIDEO_PROFILE_MPEG4_AVC_HIGH422, 64 PIPE_VIDEO_PROFILE_MPEG4_AVC_HIGH444, 65 PIPE_VIDEO_PROFILE_HEVC_MAIN, 66 PIPE_VIDEO_PROFILE_HEVC_MAIN_10, 67 PIPE_VIDEO_PROFILE_HEVC_MAIN_STILL, 68 PIPE_VIDEO_PROFILE_HEVC_MAIN_12, 69 PIPE_VIDEO_PROFILE_HEVC_MAIN_444, 70 PIPE_VIDEO_PROFILE_JPEG_BASELINE 71 }; 72 73 /* Video caps, can be different for each codec/profile */ 74 enum pipe_video_cap 75 { 76 PIPE_VIDEO_CAP_SUPPORTED = 0, 77 PIPE_VIDEO_CAP_NPOT_TEXTURES = 1, 78 PIPE_VIDEO_CAP_MAX_WIDTH = 2, 79 PIPE_VIDEO_CAP_MAX_HEIGHT = 3, 80 PIPE_VIDEO_CAP_PREFERED_FORMAT = 4, 81 PIPE_VIDEO_CAP_PREFERS_INTERLACED = 5, 82 PIPE_VIDEO_CAP_SUPPORTS_PROGRESSIVE = 6, 83 PIPE_VIDEO_CAP_SUPPORTS_INTERLACED = 7, 84 PIPE_VIDEO_CAP_MAX_LEVEL = 8, 85 PIPE_VIDEO_CAP_STACKED_FRAMES = 9 86 }; 87 88 enum pipe_video_entrypoint 89 { 90 PIPE_VIDEO_ENTRYPOINT_UNKNOWN, 91 PIPE_VIDEO_ENTRYPOINT_BITSTREAM, 92 PIPE_VIDEO_ENTRYPOINT_IDCT, 93 PIPE_VIDEO_ENTRYPOINT_MC, 94 PIPE_VIDEO_ENTRYPOINT_ENCODE 95 }; 96 97 #if defined(__cplusplus) 98 } 99 #endif 100 101 #endif /* PIPE_VIDEO_ENUMS_H */ 102