feat: select fourcc and handle hw decoded
Clang Build CI / build-release (push) Failing after 54s
Clang Build CI / run-video (push) Successful in 1m12s
Clang Lint CI / lint-no-video (push) Successful in 1m12s
Clang Build CI / run-no-video (push) Successful in 1m17s
Clang Lint CI / lint-video (push) Successful in 4m33s

This commit is contained in:
2026-05-17 00:40:22 +02:00
parent e667c6b869
commit e38f57af46
11 changed files with 74 additions and 31 deletions
+8
View File
@@ -34,6 +34,7 @@ static void print_help(int status_code) {
"[-vs=SIZE] "
"[-vb=COUNT] "
"[-vr / -nvr] "
"[-vf=FOURCC] "
#endif /* VIDEO_IN */
"[-is=SIZE] "
"[-ls / -nls] "
@@ -70,6 +71,7 @@ static void print_help(int status_code) {
"internal texture height)\n"
" -vr, --video-reconnect auto-reconnect video (default)\n"
" -nvr, --no-video-reconnect do not auto-reconnect video\n"
" -vf, --video-fourcc video codec fourcc (default: YUYV)\n"
#endif /* VIDEO_IN */
" -is, --internal-size internal texture height (default: 720)\n"
" -ls, --load-state load saved state (default)\n"
@@ -142,6 +144,7 @@ void args_parse(Parameters *params, int argc, char **argv) {
params->video_buffers = 2;
params->video_size = 0;
params->video_reconnect = true;
strlcpy(params->video_fourcc, "YUYV", 5);
#endif /* VIDEO_IN */
params->internal_size = 720;
params->load_state = true;
@@ -243,6 +246,11 @@ void args_parse(Parameters *params, int argc, char **argv) {
params->video_reconnect = true;
} else if (is_arg(arg, "-nvr") || is_arg(arg, "--no-video-reconnect")) {
params->video_reconnect = false;
} else if (is_arg(arg, "-vf") || is_arg(arg, "--video-fourcc")) {
if (strlen(value) == 0) {
invalid_value(arg, value);
}
strlcpy(params->video_fourcc, value, 5);
} else {
invalid_arg(arg);
}