diff --git a/src/config.c b/src/config.c index 56ff95d..89942f7 100644 --- a/src/config.c +++ b/src/config.c @@ -73,6 +73,12 @@ VAStatus RequestCreateConfig(VADriverContextP context, VAProfile profile, // libva backend; validation happens at vaCreateContext / control // submission time. break; + case VAProfileVP8Version0_3: + // fresnel-fourier iter3: VP8 enabled. Same shape as iter1+iter2 + // above — no profile-specific config validation in the libva + // backend; validation happens at vaCreateContext / control + // submission time. + break; default: return VA_STATUS_ERROR_UNSUPPORTED_PROFILE; } @@ -159,6 +165,16 @@ VAStatus RequestQueryConfigProfiles(VADriverContextP context, if (found && index < (V4L2_REQUEST_MAX_CONFIG_ATTRIBUTES - 1)) profiles[index++] = VAProfileHEVCMain; + /* fresnel-fourier iter3: VP8 enumeration on hantro-vpu-dec */ + found = v4l2_find_format(driver_data->video_fd, + V4L2_BUF_TYPE_VIDEO_OUTPUT, + V4L2_PIX_FMT_VP8_FRAME) || + v4l2_find_format(driver_data->video_fd, + V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE, + V4L2_PIX_FMT_VP8_FRAME); + if (found && index < (V4L2_REQUEST_MAX_CONFIG_ATTRIBUTES - 1)) + profiles[index++] = VAProfileVP8Version0_3; + *profiles_count = index; return VA_STATUS_SUCCESS; @@ -178,6 +194,7 @@ VAStatus RequestQueryConfigEntrypoints(VADriverContextP context, case VAProfileH264MultiviewHigh: case VAProfileH264StereoHigh: case VAProfileHEVCMain: + case VAProfileVP8Version0_3: entrypoints[0] = VAEntrypointVLD; *entrypoints_count = 1; break;