mirror of
https://github.com/obsproject/obs-studio.git
synced 2026-08-24 02:34:23 -05:00
libobs: Disable encoder scaling request if it matches output size
It was possible to set the encoder to scale the video to the same size as the output, resulting in unnecessary passes through swscale and skipping hardware encoders. This was a common user error in Advanced Output mode where they would tick the rescale box but leave it at the same resolution as their main output.
This commit is contained in:
@@ -694,6 +694,18 @@ void obs_encoder_set_scaled_size(obs_encoder_t *encoder, uint32_t width,
|
||||
return;
|
||||
}
|
||||
|
||||
const struct video_output_info *voi;
|
||||
voi = video_output_get_info(encoder->media);
|
||||
if (voi && voi->width == width && voi->height == height) {
|
||||
blog(LOG_WARNING,
|
||||
"encoder '%s': Scaled resolution "
|
||||
"matches output resolution, scaling "
|
||||
"disabled",
|
||||
obs_encoder_get_name(encoder));
|
||||
encoder->scaled_width = encoder->scaled_height = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
encoder->scaled_width = width;
|
||||
encoder->scaled_height = height;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user