fresnel-fourier iter5b-β Phase 6 commit B: config.c — wire object_config->pixelformat
Populate the previously-dead pixelformat field at config.h:46 from pixelformat_for_profile(profile). The switch at lines 54-88 already rejects unsupported profiles, so by the time we reach the assignment at line 98, pixelformat_for_profile returns non-zero. Commit C reads this field at CreateContext to set the V4L2 OUTPUT format correctly per profile (the β architectural fix for Bug 2 — HEVC/VP9/VP8 currently dispatch through the pre-iter5b H264_SLICE hardcode at surface.c:173 because surface.c has no config_id to look up the profile). Signed-off-by: claude-noether <claude-noether@reauktion.de>
This commit is contained in:
@@ -36,6 +36,7 @@
|
||||
|
||||
#include <hevc-ctrls.h>
|
||||
|
||||
#include "codec.h"
|
||||
#include "utils.h"
|
||||
#include "v4l2.h"
|
||||
|
||||
@@ -97,6 +98,16 @@ VAStatus RequestCreateConfig(VADriverContextP context, VAProfile profile,
|
||||
|
||||
config_object->profile = profile;
|
||||
config_object->entrypoint = entrypoint;
|
||||
/*
|
||||
* iter5b-β: cache the V4L2 OUTPUT-side FOURCC for this profile so
|
||||
* context.c::RequestCreateContext can read it without re-running
|
||||
* the profile→pixelformat mapping. Wires up the previously-dead
|
||||
* pixelformat field at config.h:46. The switch above already
|
||||
* rejected unsupported profiles via VA_STATUS_ERROR_UNSUPPORTED_PROFILE,
|
||||
* so pixelformat_for_profile here returns non-zero for every
|
||||
* profile that reaches this assignment.
|
||||
*/
|
||||
config_object->pixelformat = pixelformat_for_profile(profile);
|
||||
config_object->attributes[0].type = VAConfigAttribRTFormat;
|
||||
config_object->attributes[0].value = VA_RT_FORMAT_YUV420;
|
||||
config_object->attributes_count = 1;
|
||||
|
||||
Reference in New Issue
Block a user