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