aboutsummaryrefslogtreecommitdiff
path: root/src/encoder/video/vaapi.c
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2025-03-13 01:38:26 +0100
committerdec05eba <dec05eba@protonmail.com>2025-03-13 01:38:26 +0100
commitaf5468410376f6b8cb3a0c6e3fb46636e03299f8 (patch)
treed43bc60461ae593831f3e717bb74266315441c55 /src/encoder/video/vaapi.c
parent92492db788e97db028176c942e9aed047f8f152a (diff)
Fix screenshot with region not working correctly for some sizes and possibly crashing
Diffstat (limited to 'src/encoder/video/vaapi.c')
-rw-r--r--src/encoder/video/vaapi.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/encoder/video/vaapi.c b/src/encoder/video/vaapi.c
index 3931571..8bb2f08 100644
--- a/src/encoder/video/vaapi.c
+++ b/src/encoder/video/vaapi.c
@@ -167,6 +167,13 @@ static bool gsr_video_encoder_vaapi_start(gsr_video_encoder *encoder, AVCodecCon
} else {
video_codec_context->height = FFALIGN(video_codec_context->height, 16);
}
+ } else {
+ video_codec_context->width = FFALIGN(video_codec_context->width, 2);
+ video_codec_context->height = FFALIGN(video_codec_context->height, 2);
+ }
+
+ if(FFALIGN(video_codec_context->width, 2) != FFALIGN(frame->width, 2) || FFALIGN(video_codec_context->height, 2) != FFALIGN(frame->height, 2)) {
+ fprintf(stderr, "gsr warning: gsr_video_encoder_vaapi_start: black bars have been added to the video because of a bug in AMD drivers/hardware. Record with h264 codec instead (-k h264) to get around this issue\n");
}
if(video_codec_context->width < 128)