aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2025-03-18 21:54:12 +0100
committerdec05eba <dec05eba@protonmail.com>2025-03-18 21:54:12 +0100
commitd2ab24121dcf66e261ae6b205290df7e8dbfa4e6 (patch)
treef7a200ba9418f17d144e178d2d55ea659dfe2d5e /src
parente7a95f830abc358fcdf6d24fcf11e346e0b77e99 (diff)
Test broadcom (raspberry pi) support
Diffstat (limited to 'src')
-rw-r--r--src/main.cpp10
-rw-r--r--src/utils.c2
2 files changed, 11 insertions, 1 deletions
diff --git a/src/main.cpp b/src/main.cpp
index 5669d17..9f0847e 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -1922,7 +1922,8 @@ static gsr_video_encoder* create_video_encoder(gsr_egl *egl, bool overclock, gsr
switch(egl->gpu_info.vendor) {
case GSR_GPU_VENDOR_AMD:
- case GSR_GPU_VENDOR_INTEL: {
+ case GSR_GPU_VENDOR_INTEL:
+ case GSR_GPU_VENDOR_BROADCOM: {
gsr_video_encoder_vaapi_params params;
params.egl = egl;
params.color_depth = color_depth;
@@ -1956,6 +1957,7 @@ static bool get_supported_video_codecs(gsr_egl *egl, VideoCodec video_codec, boo
switch(egl->gpu_info.vendor) {
case GSR_GPU_VENDOR_AMD:
case GSR_GPU_VENDOR_INTEL:
+ case GSR_GPU_VENDOR_BROADCOM:
return gsr_get_supported_video_codecs_vaapi(video_codecs, egl->card_path, cleanup);
case GSR_GPU_VENDOR_NVIDIA:
return gsr_get_supported_video_codecs_nvenc(video_codecs, cleanup);
@@ -2029,6 +2031,9 @@ static void list_gpu_info(gsr_egl *egl) {
case GSR_GPU_VENDOR_NVIDIA:
printf("vendor|nvidia\n");
break;
+ case GSR_GPU_VENDOR_BROADCOM:
+ printf("vendor|broadcom\n");
+ break;
}
printf("card_path|%s\n", egl->card_path);
}
@@ -2369,6 +2374,9 @@ static bool gpu_vendor_from_string(const char *vendor_str, gsr_gpu_vendor *vendo
} else if(strcmp(vendor_str, "nvidia") == 0) {
*vendor = GSR_GPU_VENDOR_NVIDIA;
return true;
+ } else if(strcmp(vendor_str, "broadcom") == 0) {
+ *vendor = GSR_GPU_VENDOR_BROADCOM;
+ return true;
} else {
return false;
}
diff --git a/src/utils.c b/src/utils.c
index f053eed..325f750 100644
--- a/src/utils.c
+++ b/src/utils.c
@@ -396,6 +396,8 @@ bool gl_get_gpu_info(gsr_egl *egl, gsr_gpu_info *info) {
info->vendor = GSR_GPU_VENDOR_INTEL;
else if(strstr((const char*)gl_vendor, "NVIDIA"))
info->vendor = GSR_GPU_VENDOR_NVIDIA;
+ else if(strstr((const char*)gl_vendor, "Broadcom"))
+ info->vendor = GSR_GPU_VENDOR_BROADCOM;
else {
fprintf(stderr, "gsr error: unknown gpu vendor: %s\n", gl_vendor);
supported = false;