From cca539d5f94aab05ab7c227a1f0ac5676a643bae Mon Sep 17 00:00:00 2001 From: "Claude (noether)" Date: Fri, 8 May 2026 15:00:30 +0200 Subject: [PATCH] fresnel-fourier iter2 Phase 6 commit A: config.c break for HEVCMain case MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit RequestCreateConfig dispatches H.264 + MPEG-2 cases via break. HEVCMain previously fell through to default returning VA_STATUS_ERROR_UNSUPPORTED_PROFILE (= 12). Same fall-through pattern iter1 fixed for MPEG-2; iter2 closes the loop for HEVC. Add break for VAProfileHEVCMain. Same shape as iter1 Commit A pattern — no profile-specific config validation in RequestCreateConfig (validation happens at vaCreateContext / control submission time). This is the substrate fix only. After this commit: - vaCreateConfig(VAProfileHEVCMain) returns SUCCESS - mpv-vaapi HEVC ATTEMPTS to set up the hwaccel path - codec_set_controls at picture.c:204-206 still has the explicit case VAProfileHEVCMain: return UNSUPPORTED_PROFILE reject in place - decode fails downstream with -5 (Input/output error) Bug 2 (picture.c reject removal) + Bug 3-7 (h265.c rewrite + meson re-enable + slice_params accumulation + device-init extension) land together in commit B, where h265_set_controls exists to dispatch to. Verified empirically Phase 3 Baseline D (scratch test on throwaway branch): with this break alone, vaCreateConfig SUCCESS for HEVCMain, V4L2 setup proceeds, decode fails at the picture.c reject — confirms Phase 2 prediction. T4 H.264 + iter1 MPEG-2 reference hashes hold (no collateral regression). Refs: ../fresnel-fourier/phase0_findings_iter2.md (Phase 1 lock) ../fresnel-fourier/phase2_iter2_situation.md Bug 1 ../fresnel-fourier/phase3_iter2_baseline.md Baseline D ../fresnel-fourier/phase4_iter2_plan.md Clause 8, File 1 ../fresnel-fourier/phase5_iter2_review.md (no Critical findings touch this commit) Co-Authored-By: Claude Opus 4.7 (1M context) --- src/config.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/config.c b/src/config.c index df0b21a..56ff95d 100644 --- a/src/config.c +++ b/src/config.c @@ -68,6 +68,11 @@ VAStatus RequestCreateConfig(VADriverContextP context, VAProfile profile, // submission time. break; case VAProfileHEVCMain: + // fresnel-fourier iter2: HEVC enabled. Same shape as H.264/ + // MPEG-2 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; }