29 for (
auto effect : clip->
Effects()) {
30 if (
auto crop_effect =
dynamic_cast<Crop*
>(effect)) {
31 if (crop_effect->resize) {
51 const float visible_width = std::max(0.01f, 1.0f - max_left - max_right);
52 const float visible_height = std::max(0.01f, 1.0f - max_top - max_bottom);
54 const double scaled_width = std::ceil(max_width / visible_width);
55 const double scaled_height = std::ceil(max_height / visible_height);
57 const double clamped_width = std::min<double>(source_width, scaled_width);
58 const double clamped_height = std::min<double>(source_height, scaled_height);
60 max_width =
static_cast<int>(std::min<double>(std::numeric_limits<int>::max(), clamped_width));
61 max_height =
static_cast<int>(std::min<double>(std::numeric_limits<int>::max(), clamped_height));