fresnel-fourier iter4 Phase 6 commit A: VP9 enumeration + dispatch in config.c

3 sites:
1. RequestQueryConfigProfiles: probe V4L2_PIX_FMT_VP9_FRAME against
   single + MPLANE OUTPUT formats; advertise VAProfileVP9Profile0.
2. RequestCreateConfig: VAProfileVP9Profile0 case (no profile-specific
   validation; defer to vaCreateContext / control submission time).
3. RequestQueryConfigEntrypoints: add VAProfileVP9Profile0 to the
   VAEntrypointVLD fall-through.

Verified on fresnel: vainfo (auto-detect rkvdec) now shows
VAProfileVP9Profile0 alongside H.264x5 + HEVCMain.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-10 06:34:14 +00:00
parent 7f8fa93213
commit 16b397305d
+15
View File
@@ -79,6 +79,10 @@ VAStatus RequestCreateConfig(VADriverContextP context, VAProfile profile,
// backend; validation happens at vaCreateContext / control
// submission time.
break;
case VAProfileVP9Profile0:
// fresnel-fourier iter4: VP9 Profile 0 enabled on rkvdec.
// Same shape — no profile-specific validation here.
break;
default:
return VA_STATUS_ERROR_UNSUPPORTED_PROFILE;
}
@@ -175,6 +179,16 @@ VAStatus RequestQueryConfigProfiles(VADriverContextP context,
if (found && index < (V4L2_REQUEST_MAX_CONFIG_ATTRIBUTES - 1))
profiles[index++] = VAProfileVP8Version0_3;
/* fresnel-fourier iter4: VP9 enumeration on rkvdec */
found = v4l2_find_format(driver_data->video_fd,
V4L2_BUF_TYPE_VIDEO_OUTPUT,
V4L2_PIX_FMT_VP9_FRAME) ||
v4l2_find_format(driver_data->video_fd,
V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE,
V4L2_PIX_FMT_VP9_FRAME);
if (found && index < (V4L2_REQUEST_MAX_CONFIG_ATTRIBUTES - 1))
profiles[index++] = VAProfileVP9Profile0;
*profiles_count = index;
return VA_STATUS_SUCCESS;
@@ -195,6 +209,7 @@ VAStatus RequestQueryConfigEntrypoints(VADriverContextP context,
case VAProfileH264StereoHigh:
case VAProfileHEVCMain:
case VAProfileVP8Version0_3:
case VAProfileVP9Profile0:
entrypoints[0] = VAEntrypointVLD;
*entrypoints_count = 1;
break;