diff --git a/src/gallium/auxiliary/vl/vl_deint_filter.c b/src/gallium/auxiliary/vl/vl_deint_filter.c index 48244435546..809a5c1bf88 100644 --- a/src/gallium/auxiliary/vl/vl_deint_filter.c +++ b/src/gallium/auxiliary/vl/vl_deint_filter.c @@ -275,13 +275,7 @@ vl_deint_filter_init(struct vl_deint_filter *filter, struct pipe_context *pipe, /* TODO: handle other than 4:2:0 subsampling */ memset(&templ, 0, sizeof(templ)); - templ.buffer_format = pipe->screen->get_video_param - ( - pipe->screen, - PIPE_VIDEO_PROFILE_UNKNOWN, - PIPE_VIDEO_ENTRYPOINT_PROCESSING, - PIPE_VIDEO_CAP_PREFERRED_FORMAT - ); + templ.buffer_format = PIPE_FORMAT_NV12; templ.width = video_width; templ.height = video_height; templ.interlaced = true; diff --git a/src/gallium/auxiliary/vl/vl_video_buffer.c b/src/gallium/auxiliary/vl/vl_video_buffer.c index 85dc4394140..0e808b6499f 100644 --- a/src/gallium/auxiliary/vl/vl_video_buffer.c +++ b/src/gallium/auxiliary/vl/vl_video_buffer.c @@ -390,26 +390,15 @@ vl_video_buffer_create(struct pipe_context *pipe, { enum pipe_format resource_formats[VL_NUM_COMPONENTS]; struct pipe_video_buffer templat, *result; - bool pot_buffers; assert(pipe); assert(tmpl->width > 0 && tmpl->height > 0); - pot_buffers = !pipe->screen->get_video_param - ( - pipe->screen, - PIPE_VIDEO_PROFILE_UNKNOWN, - PIPE_VIDEO_ENTRYPOINT_UNKNOWN, - PIPE_VIDEO_CAP_NPOT_TEXTURES - ); - vl_get_video_buffer_formats(pipe->screen, tmpl->buffer_format, resource_formats); templat = *tmpl; - templat.width = pot_buffers ? util_next_power_of_two(tmpl->width) - : align(tmpl->width, VL_MACROBLOCK_WIDTH); - templat.height = pot_buffers ? util_next_power_of_two(tmpl->height) - : align(tmpl->height, VL_MACROBLOCK_HEIGHT); + templat.width = align(tmpl->width, VL_MACROBLOCK_WIDTH); + templat.height = align(tmpl->height, VL_MACROBLOCK_HEIGHT); if (tmpl->interlaced) templat.height /= 2; diff --git a/src/gallium/drivers/d3d12/d3d12_video_screen.cpp b/src/gallium/drivers/d3d12/d3d12_video_screen.cpp index 29e98945d0e..87899f96391 100644 --- a/src/gallium/drivers/d3d12/d3d12_video_screen.cpp +++ b/src/gallium/drivers/d3d12/d3d12_video_screen.cpp @@ -2245,11 +2245,8 @@ d3d12_screen_get_video_param_decode(struct pipe_screen *pscreen, flush internally on end frame for decode */ return 0; - case PIPE_VIDEO_CAP_NPOT_TEXTURES: - return 1; case PIPE_VIDEO_CAP_MAX_WIDTH: case PIPE_VIDEO_CAP_MAX_HEIGHT: - case PIPE_VIDEO_CAP_MAX_LEVEL: case PIPE_VIDEO_CAP_MIN_WIDTH: case PIPE_VIDEO_CAP_MIN_HEIGHT: case PIPE_VIDEO_CAP_SUPPORTED: @@ -2286,8 +2283,6 @@ d3d12_screen_get_video_param_decode(struct pipe_screen *pscreen, return lowestSupportedConfig.resolution.Width; } else if (param == PIPE_VIDEO_CAP_MIN_HEIGHT) { return lowestSupportedConfig.resolution.Height; - } else if (param == PIPE_VIDEO_CAP_MAX_LEVEL) { - return bestSupportedConfig.level; } else if (param == PIPE_VIDEO_CAP_SUPPORTED) { return 1; } @@ -2297,8 +2292,6 @@ d3d12_screen_get_video_param_decode(struct pipe_screen *pscreen, } return 0; } break; - case PIPE_VIDEO_CAP_PREFERRED_FORMAT: - return (profile == PIPE_VIDEO_PROFILE_UNKNOWN) ? PIPE_FORMAT_NV12 : d3d12_get_pipe_format(d3d12_convert_pipe_video_profile_to_dxgi_format(profile)); case PIPE_VIDEO_CAP_SUPPORTS_PROGRESSIVE: return true; case PIPE_VIDEO_CAP_SUPPORTS_CONTIGUOUS_PLANES_MAP: @@ -2318,14 +2311,11 @@ d3d12_screen_get_video_param_postproc(struct pipe_screen *pscreen, switch (param) { case PIPE_VIDEO_CAP_REQUIRES_FLUSH_ON_END_FRAME: return 1; - case PIPE_VIDEO_CAP_NPOT_TEXTURES: - return 1; case PIPE_VIDEO_CAP_MAX_WIDTH: case PIPE_VIDEO_CAP_MAX_HEIGHT: case PIPE_VIDEO_CAP_MIN_WIDTH: case PIPE_VIDEO_CAP_MIN_HEIGHT: case PIPE_VIDEO_CAP_SUPPORTED: - case PIPE_VIDEO_CAP_PREFERRED_FORMAT: case PIPE_VIDEO_CAP_SUPPORTS_PROGRESSIVE: case PIPE_VIDEO_CAP_SUPPORTS_CONTIGUOUS_PLANES_MAP: case PIPE_VIDEO_CAP_VPP_MAX_INPUT_WIDTH: @@ -2366,8 +2356,6 @@ d3d12_screen_get_video_param_postproc(struct pipe_screen *pscreen, if (d3d12_has_video_process_support(pscreen, supportCaps, minSupportedInput, maxSupportedInput)) { if (param == PIPE_VIDEO_CAP_SUPPORTED) { return true; - } else if (param == PIPE_VIDEO_CAP_PREFERRED_FORMAT) { - return PIPE_FORMAT_NV12; } else if (param == PIPE_VIDEO_CAP_MIN_WIDTH) { return minSupportedInput.Width; } else if (param == PIPE_VIDEO_CAP_MIN_HEIGHT) { @@ -2466,8 +2454,6 @@ d3d12_screen_get_video_param_encode(struct pipe_screen *pscreen, switch (param) { case PIPE_VIDEO_CAP_REQUIRES_FLUSH_ON_END_FRAME: return 1; - case PIPE_VIDEO_CAP_NPOT_TEXTURES: - return 1; case PIPE_VIDEO_CAP_MAX_TEMPORAL_LAYERS: { switch (u_reduce_video_profile(profile)) { @@ -2498,7 +2484,6 @@ d3d12_screen_get_video_param_encode(struct pipe_screen *pscreen, case PIPE_VIDEO_CAP_MAX_HEIGHT: case PIPE_VIDEO_CAP_MIN_WIDTH: case PIPE_VIDEO_CAP_MIN_HEIGHT: - case PIPE_VIDEO_CAP_MAX_LEVEL: case PIPE_VIDEO_CAP_SUPPORTED: case PIPE_VIDEO_CAP_ENC_MAX_SLICES_PER_FRAME: case PIPE_VIDEO_CAP_ENC_SLICES_STRUCTURE: @@ -2583,8 +2568,6 @@ d3d12_screen_get_video_param_encode(struct pipe_screen *pscreen, return minResEncode.Width; } else if (param == PIPE_VIDEO_CAP_MIN_HEIGHT) { return minResEncode.Height; - } else if (param == PIPE_VIDEO_CAP_MAX_LEVEL) { - return maxLvlEncode; } else if (param == PIPE_VIDEO_CAP_SUPPORTED) { return 1; } else if (param == PIPE_VIDEO_CAP_ENC_MAX_SLICES_PER_FRAME) { @@ -2689,8 +2672,6 @@ d3d12_screen_get_video_param_encode(struct pipe_screen *pscreen, } return 0; } break; - case PIPE_VIDEO_CAP_PREFERRED_FORMAT: - return (profile == PIPE_VIDEO_PROFILE_UNKNOWN) ? PIPE_FORMAT_NV12 : d3d12_get_pipe_format(d3d12_convert_pipe_video_profile_to_dxgi_format(profile)); case PIPE_VIDEO_CAP_SUPPORTS_PROGRESSIVE: return true; case PIPE_VIDEO_CAP_SUPPORTS_CONTIGUOUS_PLANES_MAP: diff --git a/src/gallium/drivers/nouveau/nouveau_video.c b/src/gallium/drivers/nouveau/nouveau_video.c index a74f01f7828..e78d9c1c0f5 100644 --- a/src/gallium/drivers/nouveau/nouveau_video.c +++ b/src/gallium/drivers/nouveau/nouveau_video.c @@ -832,25 +832,11 @@ nouveau_screen_get_video_param(struct pipe_screen *pscreen, case PIPE_VIDEO_CAP_SUPPORTED: return entrypoint >= PIPE_VIDEO_ENTRYPOINT_IDCT && u_reduce_video_profile(profile) == PIPE_VIDEO_FORMAT_MPEG12; - case PIPE_VIDEO_CAP_NPOT_TEXTURES: - return 1; case PIPE_VIDEO_CAP_MAX_WIDTH: case PIPE_VIDEO_CAP_MAX_HEIGHT: return vl_video_buffer_max_size(pscreen); - case PIPE_VIDEO_CAP_PREFERRED_FORMAT: - return PIPE_FORMAT_NV12; case PIPE_VIDEO_CAP_SUPPORTS_PROGRESSIVE: return true; - case PIPE_VIDEO_CAP_MAX_LEVEL: - switch (profile) { - case PIPE_VIDEO_PROFILE_MPEG1: - return 0; - case PIPE_VIDEO_PROFILE_MPEG2_SIMPLE: - case PIPE_VIDEO_PROFILE_MPEG2_MAIN: - return 3; - default: - return 0; - } default: debug_printf("unknown video param: %d\n", param); return 0; diff --git a/src/gallium/drivers/nouveau/nouveau_vp3_video.c b/src/gallium/drivers/nouveau/nouveau_vp3_video.c index e21b1227593..5130ed6d638 100644 --- a/src/gallium/drivers/nouveau/nouveau_vp3_video.c +++ b/src/gallium/drivers/nouveau/nouveau_vp3_video.c @@ -451,8 +451,6 @@ nouveau_vp3_screen_get_video_param(struct pipe_screen *pscreen, profile >= PIPE_VIDEO_PROFILE_MPEG1 && profile < PIPE_VIDEO_PROFILE_HEVC_MAIN && firmware_present(pscreen, profile); - case PIPE_VIDEO_CAP_NPOT_TEXTURES: - return 1; case PIPE_VIDEO_CAP_MAX_WIDTH: switch (codec) { case PIPE_VIDEO_FORMAT_MPEG12: @@ -489,32 +487,8 @@ nouveau_vp3_screen_get_video_param(struct pipe_screen *pscreen, debug_printf("unknown video codec: %d\n", codec); return 0; } - case PIPE_VIDEO_CAP_PREFERRED_FORMAT: - return PIPE_FORMAT_NV12; case PIPE_VIDEO_CAP_SUPPORTS_PROGRESSIVE: return false; - case PIPE_VIDEO_CAP_MAX_LEVEL: - switch (profile) { - case PIPE_VIDEO_PROFILE_MPEG1: - return 0; - case PIPE_VIDEO_PROFILE_MPEG2_SIMPLE: - case PIPE_VIDEO_PROFILE_MPEG2_MAIN: - return 3; - case PIPE_VIDEO_PROFILE_VC1_SIMPLE: - return 1; - case PIPE_VIDEO_PROFILE_VC1_MAIN: - return 2; - case PIPE_VIDEO_PROFILE_VC1_ADVANCED: - return 4; - case PIPE_VIDEO_PROFILE_MPEG4_AVC_BASELINE: - case PIPE_VIDEO_PROFILE_MPEG4_AVC_CONSTRAINED_BASELINE: - case PIPE_VIDEO_PROFILE_MPEG4_AVC_MAIN: - case PIPE_VIDEO_PROFILE_MPEG4_AVC_HIGH: - return 41; - default: - debug_printf("unknown video profile: %d\n", profile); - return 0; - } case PIPE_VIDEO_CAP_MAX_MACROBLOCKS: switch (codec) { case PIPE_VIDEO_FORMAT_MPEG12: diff --git a/src/gallium/drivers/nouveau/nv50/nv84_video.c b/src/gallium/drivers/nouveau/nv50/nv84_video.c index 39a55c1a770..a7cb4e0e731 100644 --- a/src/gallium/drivers/nouveau/nv50/nv84_video.c +++ b/src/gallium/drivers/nouveau/nv50/nv84_video.c @@ -821,30 +821,11 @@ nv84_screen_get_video_param(struct pipe_screen *pscreen, return (codec == PIPE_VIDEO_FORMAT_MPEG4_AVC || codec == PIPE_VIDEO_FORMAT_MPEG12) && firmware_present(pscreen, codec); - case PIPE_VIDEO_CAP_NPOT_TEXTURES: - return 1; case PIPE_VIDEO_CAP_MAX_WIDTH: case PIPE_VIDEO_CAP_MAX_HEIGHT: return 2048; - case PIPE_VIDEO_CAP_PREFERRED_FORMAT: - return PIPE_FORMAT_NV12; case PIPE_VIDEO_CAP_SUPPORTS_PROGRESSIVE: return false; - case PIPE_VIDEO_CAP_MAX_LEVEL: - switch (profile) { - case PIPE_VIDEO_PROFILE_MPEG1: - return 0; - case PIPE_VIDEO_PROFILE_MPEG2_SIMPLE: - case PIPE_VIDEO_PROFILE_MPEG2_MAIN: - return 3; - case PIPE_VIDEO_PROFILE_MPEG4_AVC_BASELINE: - case PIPE_VIDEO_PROFILE_MPEG4_AVC_MAIN: - case PIPE_VIDEO_PROFILE_MPEG4_AVC_HIGH: - return 41; - default: - debug_printf("unknown video profile: %d\n", profile); - return 0; - } case PIPE_VIDEO_CAP_MAX_MACROBLOCKS: return 8192; /* vc-1 actually has 8190, but this is not supported */ default: diff --git a/src/gallium/drivers/r600/radeon_video.c b/src/gallium/drivers/r600/radeon_video.c index a2b47ff0e6b..1708af24417 100644 --- a/src/gallium/drivers/r600/radeon_video.c +++ b/src/gallium/drivers/r600/radeon_video.c @@ -204,18 +204,12 @@ int rvid_get_video_param(struct pipe_screen *screen, case PIPE_VIDEO_CAP_SUPPORTED: return codec == PIPE_VIDEO_FORMAT_MPEG4_AVC && rvce_is_fw_version_supported(rscreen); - case PIPE_VIDEO_CAP_NPOT_TEXTURES: - return 1; case PIPE_VIDEO_CAP_MAX_WIDTH: return 2048; case PIPE_VIDEO_CAP_MAX_HEIGHT: return 1152; - case PIPE_VIDEO_CAP_PREFERRED_FORMAT: - return PIPE_FORMAT_NV12; case PIPE_VIDEO_CAP_SUPPORTS_PROGRESSIVE: return true; - case PIPE_VIDEO_CAP_STACKED_FRAMES: - return 1; default: return 0; } @@ -239,37 +233,12 @@ int rvid_get_video_param(struct pipe_screen *screen, default: return false; } - case PIPE_VIDEO_CAP_NPOT_TEXTURES: - return 1; case PIPE_VIDEO_CAP_MAX_WIDTH: return 2048; case PIPE_VIDEO_CAP_MAX_HEIGHT: return 1152; - case PIPE_VIDEO_CAP_PREFERRED_FORMAT: - return PIPE_FORMAT_NV12; - case PIPE_VIDEO_CAP_SUPPORTS_PROGRESSIVE: return true; - case PIPE_VIDEO_CAP_MAX_LEVEL: - switch (profile) { - case PIPE_VIDEO_PROFILE_MPEG1: - return 0; - case PIPE_VIDEO_PROFILE_MPEG2_SIMPLE: - case PIPE_VIDEO_PROFILE_MPEG2_MAIN: - return 3; - case PIPE_VIDEO_PROFILE_VC1_SIMPLE: - return 1; - case PIPE_VIDEO_PROFILE_VC1_MAIN: - return 2; - case PIPE_VIDEO_PROFILE_VC1_ADVANCED: - return 4; - case PIPE_VIDEO_PROFILE_MPEG4_AVC_BASELINE: - case PIPE_VIDEO_PROFILE_MPEG4_AVC_MAIN: - case PIPE_VIDEO_PROFILE_MPEG4_AVC_HIGH: - return 41; - default: - return 0; - } default: return 0; } diff --git a/src/gallium/drivers/radeonsi/mm/si_mm_screen.c b/src/gallium/drivers/radeonsi/mm/si_mm_screen.c index 16759ec91ad..0f6de5e39a3 100644 --- a/src/gallium/drivers/radeonsi/mm/si_mm_screen.c +++ b/src/gallium/drivers/radeonsi/mm/si_mm_screen.c @@ -89,8 +89,6 @@ static int si_video_get_param(struct pipe_screen *screen, enum pipe_video_profil * Have to determine the version and features of VPE in future. */ return PIPE_VIDEO_VPP_BLEND_MODE_NONE; - case PIPE_VIDEO_CAP_PREFERRED_FORMAT: - return PIPE_FORMAT_NV12; case PIPE_VIDEO_CAP_SUPPORTS_PROGRESSIVE: return true; case PIPE_VIDEO_CAP_REQUIRES_FLUSH_ON_END_FRAME: @@ -124,8 +122,6 @@ static int si_video_get_param(struct pipe_screen *screen, enum pipe_video_profil (profile == PIPE_VIDEO_PROFILE_HEVC_MAIN_10 && sscreen->info.vcn_ip_version >= VCN_2_0_0) || (profile == PIPE_VIDEO_PROFILE_AV1_MAIN && (sscreen->info.vcn_ip_version >= VCN_4_0_0 && sscreen->info.vcn_ip_version != VCN_4_0_3)))); - case PIPE_VIDEO_CAP_NPOT_TEXTURES: - return 1; case PIPE_VIDEO_CAP_MIN_WIDTH: if (sscreen->info.vcn_ip_version >= VCN_5_0_0) { if (codec == PIPE_VIDEO_FORMAT_MPEG4_AVC) @@ -150,15 +146,8 @@ static int si_video_get_param(struct pipe_screen *screen, enum pipe_video_profil return KERNEL_ENC_CAP(codec, max_height); else return (sscreen->info.family < CHIP_TONGA) ? 1152 : 2304; - case PIPE_VIDEO_CAP_PREFERRED_FORMAT: - if (profile == PIPE_VIDEO_PROFILE_HEVC_MAIN_10) - return PIPE_FORMAT_P010; - else - return PIPE_FORMAT_NV12; case PIPE_VIDEO_CAP_SUPPORTS_PROGRESSIVE: return true; - case PIPE_VIDEO_CAP_STACKED_FRAMES: - return (sscreen->info.family < CHIP_TONGA) ? 1 : 2; case PIPE_VIDEO_CAP_MAX_TEMPORAL_LAYERS: return (sscreen->info.ip[AMD_IP_UVD_ENC].num_queues || sscreen->info.vcn_ip_version >= VCN_1_0_0) ? 4 : 0; @@ -415,8 +404,6 @@ static int si_video_get_param(struct pipe_screen *screen, enum pipe_video_profil default: return false; } - case PIPE_VIDEO_CAP_NPOT_TEXTURES: - return 1; case PIPE_VIDEO_CAP_MIN_WIDTH: case PIPE_VIDEO_CAP_MIN_HEIGHT: if (codec == PIPE_VIDEO_FORMAT_VP9 || codec == PIPE_VIDEO_FORMAT_AV1) @@ -450,46 +437,8 @@ static int si_video_get_param(struct pipe_screen *screen, enum pipe_video_profil return (sscreen->info.family < CHIP_TONGA) ? 1152 : 4096; } } - case PIPE_VIDEO_CAP_PREFERRED_FORMAT: - if (profile == PIPE_VIDEO_PROFILE_HEVC_MAIN_10) - return PIPE_FORMAT_P010; - else if (profile == PIPE_VIDEO_PROFILE_VP9_PROFILE2) - return PIPE_FORMAT_P010; - else - return PIPE_FORMAT_NV12; - case PIPE_VIDEO_CAP_SUPPORTS_PROGRESSIVE: return true; - case PIPE_VIDEO_CAP_MAX_LEVEL: - if ((profile == PIPE_VIDEO_PROFILE_MPEG2_SIMPLE || - profile == PIPE_VIDEO_PROFILE_MPEG2_MAIN || - profile == PIPE_VIDEO_PROFILE_VC1_ADVANCED) && - sscreen->info.dec_caps.codec_info[codec - 1].valid) { - return sscreen->info.dec_caps.codec_info[codec - 1].max_level; - } else { - switch (profile) { - case PIPE_VIDEO_PROFILE_MPEG1: - return 0; - case PIPE_VIDEO_PROFILE_MPEG2_SIMPLE: - case PIPE_VIDEO_PROFILE_MPEG2_MAIN: - return 3; - case PIPE_VIDEO_PROFILE_VC1_SIMPLE: - return 1; - case PIPE_VIDEO_PROFILE_VC1_MAIN: - return 2; - case PIPE_VIDEO_PROFILE_VC1_ADVANCED: - return 4; - case PIPE_VIDEO_PROFILE_MPEG4_AVC_CONSTRAINED_BASELINE: - case PIPE_VIDEO_PROFILE_MPEG4_AVC_MAIN: - case PIPE_VIDEO_PROFILE_MPEG4_AVC_HIGH: - return (sscreen->info.family < CHIP_TONGA) ? 41 : 52; - case PIPE_VIDEO_PROFILE_HEVC_MAIN: - case PIPE_VIDEO_PROFILE_HEVC_MAIN_10: - return 186; - default: - return 0; - } - } case PIPE_VIDEO_CAP_SUPPORTS_CONTIGUOUS_PLANES_MAP: return true; case PIPE_VIDEO_CAP_ROI_CROP_DEC: diff --git a/src/gallium/drivers/virgl/virgl_screen.c b/src/gallium/drivers/virgl/virgl_screen.c index 1e0b7cba1bf..bcade7bc68a 100644 --- a/src/gallium/drivers/virgl/virgl_screen.c +++ b/src/gallium/drivers/virgl/virgl_screen.c @@ -126,32 +126,24 @@ virgl_get_video_param(struct pipe_screen *screen, /* * Since there are calls like this: - * pot_buffers = !pipe->screen->get_video_param + * pipe->screen->get_video_param * ( * pipe->screen, * PIPE_VIDEO_PROFILE_UNKNOWN, * PIPE_VIDEO_ENTRYPOINT_UNKNOWN, - * PIPE_VIDEO_CAP_NPOT_TEXTURES + * PIPE_VIDEO_CAP_SUPPORTS_PROGRESSIVE * ); * All parameters need to check the vcaps. */ switch (param) { case PIPE_VIDEO_CAP_SUPPORTED: return vcaps != NULL; - case PIPE_VIDEO_CAP_NPOT_TEXTURES: - return vcaps ? vcaps->npot_texture : true; case PIPE_VIDEO_CAP_MAX_WIDTH: return vcaps ? vcaps->max_width : 0; case PIPE_VIDEO_CAP_MAX_HEIGHT: return vcaps ? vcaps->max_height : 0; - case PIPE_VIDEO_CAP_PREFERRED_FORMAT: - return vcaps ? virgl_to_pipe_format(vcaps->prefered_format) : PIPE_FORMAT_NV12; case PIPE_VIDEO_CAP_SUPPORTS_PROGRESSIVE: return vcaps ? vcaps->supports_progressive : true; - case PIPE_VIDEO_CAP_MAX_LEVEL: - return vcaps ? vcaps->max_level : 0; - case PIPE_VIDEO_CAP_STACKED_FRAMES: - return vcaps ? vcaps->stacked_frames : 0; case PIPE_VIDEO_CAP_MAX_MACROBLOCKS: return vcaps ? vcaps->max_macroblocks : 0; case PIPE_VIDEO_CAP_MAX_TEMPORAL_LAYERS: diff --git a/src/gallium/include/pipe/p_video_enums.h b/src/gallium/include/pipe/p_video_enums.h index 0efc97bf824..cee17dfde04 100644 --- a/src/gallium/include/pipe/p_video_enums.h +++ b/src/gallium/include/pipe/p_video_enums.h @@ -81,13 +81,9 @@ enum pipe_video_profile enum pipe_video_cap { PIPE_VIDEO_CAP_SUPPORTED = 0, - PIPE_VIDEO_CAP_NPOT_TEXTURES = 1, PIPE_VIDEO_CAP_MAX_WIDTH = 2, PIPE_VIDEO_CAP_MAX_HEIGHT = 3, - PIPE_VIDEO_CAP_PREFERRED_FORMAT = 4, PIPE_VIDEO_CAP_SUPPORTS_PROGRESSIVE = 6, - PIPE_VIDEO_CAP_MAX_LEVEL = 8, - PIPE_VIDEO_CAP_STACKED_FRAMES = 9, PIPE_VIDEO_CAP_MAX_MACROBLOCKS = 10, PIPE_VIDEO_CAP_MAX_TEMPORAL_LAYERS = 11, PIPE_VIDEO_CAP_SKIP_CLEAR_SURFACE = 12,