1 /**************************************************************************
3 * Copyright 2009 Younes Manton.
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:
14 * The above copyright notice and this permission notice (including the
15 * next paragraph) shall be included in all copies or substantial portions
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.
26 **************************************************************************/
28 #ifndef PIPE_VIDEO_ENUMS_H
29 #define PIPE_VIDEO_ENUMS_H
31 enum pipe_video_format
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 PIPE_VIDEO_FORMAT_HEVC
/**< H.265 */
41 enum pipe_video_profile
43 PIPE_VIDEO_PROFILE_UNKNOWN
,
44 PIPE_VIDEO_PROFILE_MPEG1
,
45 PIPE_VIDEO_PROFILE_MPEG2_SIMPLE
,
46 PIPE_VIDEO_PROFILE_MPEG2_MAIN
,
47 PIPE_VIDEO_PROFILE_MPEG4_SIMPLE
,
48 PIPE_VIDEO_PROFILE_MPEG4_ADVANCED_SIMPLE
,
49 PIPE_VIDEO_PROFILE_VC1_SIMPLE
,
50 PIPE_VIDEO_PROFILE_VC1_MAIN
,
51 PIPE_VIDEO_PROFILE_VC1_ADVANCED
,
52 PIPE_VIDEO_PROFILE_MPEG4_AVC_BASELINE
,
53 PIPE_VIDEO_PROFILE_MPEG4_AVC_MAIN
,
54 PIPE_VIDEO_PROFILE_MPEG4_AVC_EXTENDED
,
55 PIPE_VIDEO_PROFILE_MPEG4_AVC_HIGH
,
56 PIPE_VIDEO_PROFILE_MPEG4_AVC_HIGH10
,
57 PIPE_VIDEO_PROFILE_MPEG4_AVC_HIGH422
,
58 PIPE_VIDEO_PROFILE_MPEG4_AVC_HIGH444
,
59 PIPE_VIDEO_PROFILE_HEVC_MAIN
,
60 PIPE_VIDEO_PROFILE_HEVC_MAIN_10
,
61 PIPE_VIDEO_PROFILE_HEVC_MAIN_STILL
,
62 PIPE_VIDEO_PROFILE_HEVC_MAIN_12
,
63 PIPE_VIDEO_PROFILE_HEVC_MAIN_444
66 /* Video caps, can be different for each codec/profile */
69 PIPE_VIDEO_CAP_SUPPORTED
= 0,
70 PIPE_VIDEO_CAP_NPOT_TEXTURES
= 1,
71 PIPE_VIDEO_CAP_MAX_WIDTH
= 2,
72 PIPE_VIDEO_CAP_MAX_HEIGHT
= 3,
73 PIPE_VIDEO_CAP_PREFERED_FORMAT
= 4,
74 PIPE_VIDEO_CAP_PREFERS_INTERLACED
= 5,
75 PIPE_VIDEO_CAP_SUPPORTS_PROGRESSIVE
= 6,
76 PIPE_VIDEO_CAP_SUPPORTS_INTERLACED
= 7,
77 PIPE_VIDEO_CAP_MAX_LEVEL
= 8,
78 PIPE_VIDEO_CAP_STACKED_FRAMES
= 9
81 enum pipe_video_entrypoint
83 PIPE_VIDEO_ENTRYPOINT_UNKNOWN
,
84 PIPE_VIDEO_ENTRYPOINT_BITSTREAM
,
85 PIPE_VIDEO_ENTRYPOINT_IDCT
,
86 PIPE_VIDEO_ENTRYPOINT_MC
,
87 PIPE_VIDEO_ENTRYPOINT_ENCODE
90 #endif /* PIPE_VIDEO_ENUMS_H */