summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBoyuan Zhang <boyuan.zhang@amd.com>2016-07-21 19:40:22 -0400
committerChristian K├Ânig <christian.koenig@amd.com>2016-07-25 13:39:54 +0200
commitdd208ea006c3c66bf64f21ecc1eaffdc0e57db5e (patch)
treec925ae6b834be5b0654838f7b5795f0ad0aa9eb0
parent71da1354d7ce836af5081b109e1487b32348f7f4 (diff)
st/va: enable h264 VAAPI encode
Enable H.264 VAAPI encoding through config. Currently only H.264 baseline is supported. Encode entrypoint is not accepted by driver. Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com>
-rw-r--r--src/gallium/state_trackers/va/config.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/src/gallium/state_trackers/va/config.c b/src/gallium/state_trackers/va/config.c
index 889ce38e676..84bf9135288 100644
--- a/src/gallium/state_trackers/va/config.c
+++ b/src/gallium/state_trackers/va/config.c
@@ -94,11 +94,9 @@ vlVaQueryConfigEntrypoints(VADriverContextP ctx, VAProfile profile,
PIPE_VIDEO_CAP_SUPPORTED))
entrypoint_list[(*num_entrypoints)++] = VAEntrypointVLD;
-#if 0
if (pscreen->get_video_param(pscreen, p, PIPE_VIDEO_ENTRYPOINT_ENCODE,
PIPE_VIDEO_CAP_SUPPORTED))
entrypoint_list[(*num_entrypoints)++] = VAEntrypointEncSlice;
-#endif
if (num_entrypoints == 0)
return VA_STATUS_ERROR_UNSUPPORTED_PROFILE;
@@ -122,7 +120,7 @@ vlVaGetConfigAttributes(VADriverContextP ctx, VAProfile profile, VAEntrypoint en
value = VA_RT_FORMAT_YUV420;
break;
case VAConfigAttribRateControl:
- value = VA_RC_NONE;
+ value = VA_RC_CQP | VA_RC_CBR;
break;
default:
value = VA_ATTRIB_NOT_SUPPORTED;
@@ -183,7 +181,6 @@ vlVaCreateConfig(VADriverContextP ctx, VAProfile profile, VAEntrypoint entrypoin
config->entrypoint = PIPE_VIDEO_ENTRYPOINT_BITSTREAM;
break;
-#if 0
case VAEntrypointEncSlice:
if (!pscreen->get_video_param(pscreen, p, PIPE_VIDEO_ENTRYPOINT_ENCODE,
PIPE_VIDEO_CAP_SUPPORTED)) {
@@ -193,7 +190,6 @@ vlVaCreateConfig(VADriverContextP ctx, VAProfile profile, VAEntrypoint entrypoin
config->entrypoint = PIPE_VIDEO_ENTRYPOINT_ENCODE;
break;
-#endif
default:
FREE(config);