Streamtools: Refactor rescaling code
[jpcrr.git] / streamtools / rescalers / letterbox.cpp
blob36ffeeaa5d6af8e5ace587587ce8acb546ae7bfa
1 #include "rescalers/linear-separable.hpp"
2 #include <stdint.h>
3 #include <cmath>
4 #include <stdexcept>
6 namespace
8 void compute_coefficients_letterbox(float* coeffs, position_t num, position_t denum, position_t width,
9 position_t twidth, unsigned& count, unsigned& base)
11 position_t relpos = num / width - (twidth - width) / 2;
12 *coeffs = 0;
13 count = 1;
14 base = 0;
15 if(relpos >= 0 && relpos < width) {
16 *coeffs = 1;
17 base = (unsigned)relpos;
21 simple_rescaler_linear_separable r_letterbox("letterbox", make_bound_method(compute_coefficients_letterbox));