static inline bool has_scaling(const struct obs_output *output) { uint32_t video_width = video_output_get_width(output->video); uint32_t video_height = video_output_get_height(output->video); return output->scaled_width && output->scaled_height && (video_width != output->scaled_width || video_height != output->scaled_height); }
static inline bool has_scaling(const struct obs_encoder *encoder) { uint32_t video_width = video_output_get_width(encoder->media); uint32_t video_height = video_output_get_height(encoder->media); return encoder->scaled_width && encoder->scaled_height && (video_width != encoder->scaled_width || video_height != encoder->scaled_height); }
uint32_t obs_encoder_get_width(const obs_encoder_t *encoder) { if (!encoder || !encoder->media || encoder->info.type != OBS_ENCODER_VIDEO) return 0; return encoder->scaled_width != 0 ? encoder->scaled_width : video_output_get_width(encoder->media); }
uint32_t obs_output_get_width(const obs_output_t *output) { if (!output || (output->info.flags & OBS_OUTPUT_VIDEO) == 0) return 0; if (output->info.flags & OBS_OUTPUT_ENCODED) return obs_encoder_get_width(output->video_encoder); else return output->scaled_width != 0 ? output->scaled_width : video_output_get_width(output->video); }
uint32_t obs_encoder_get_width(const obs_encoder_t *encoder) { if (!obs_encoder_valid(encoder, "obs_encoder_get_width")) return 0; if (encoder->info.type != OBS_ENCODER_VIDEO) { blog(LOG_WARNING, "obs_encoder_get_width: " "encoder '%s' is not a video encoder", obs_encoder_get_name(encoder)); return 0; } if (!encoder->media) return 0; return encoder->scaled_width != 0 ? encoder->scaled_width : video_output_get_width(encoder->media); }