- av_log(ctx, AV_LOG_VERBOSE, "w:%d h:%d -> w:%d h:%d\n",
- link->w, link->h, crop->w, crop->h);
+ if (crop->keep_aspect) {
+ AVRational dar = av_mul_q(link->sample_aspect_ratio,
+ (AVRational){ link->w, link->h });
+ av_reduce(&crop->out_sar.num, &crop->out_sar.den,
+ dar.num * crop->h, dar.den * crop->w, INT_MAX);
+ } else
+ crop->out_sar = link->sample_aspect_ratio;
+
+ av_log(ctx, AV_LOG_VERBOSE, "w:%d h:%d sar:%d/%d -> w:%d h:%d sar:%d/%d\n",
+ link->w, link->h, link->sample_aspect_ratio.num, link->sample_aspect_ratio.den,
+ crop->w, crop->h, crop->out_sar.num, crop->out_sar.den);