Lines Matching full:ratio

52  * Constants for ratio calculation
305 * @ratio: Structure for ratio parameters.
310 const struct resizer_ratio *ratio) in resizer_set_ratio() argument
318 rgval |= ((ratio->horz - 1) << ISPRSZ_CNT_HRSZ_SHIFT) in resizer_set_ratio()
320 rgval |= ((ratio->vert - 1) << ISPRSZ_CNT_VRSZ_SHIFT) in resizer_set_ratio()
325 if (ratio->horz > MID_RESIZE_VALUE) in resizer_set_ratio()
331 if (ratio->vert > MID_RESIZE_VALUE) in resizer_set_ratio()
683 * @ratio : return calculated ratios
687 * has a fixed number of phases that depend on the resizing ratio. As the ratio
691 * The input/output/ratio relationship is given by the OMAP34xx TRM:
706 * we need to compute the highest resizing ratio that satisfies the following
718 * expression of the last inequality. The highest resizing ratio value will be
719 * achieved when b is equal to its maximum value of 255. That resizing ratio
736 * the ratio, depends on the ratio, we start with the 4-tap mode equations to
737 * compute an approximation of the ratio, and switch to the 7-tap mode equations
738 * if the approximation is higher than the ratio threshold.
740 * As the 7-tap mode equations will return a ratio smaller than or equal to the
741 * 4-tap mode equations, the resulting ratio could become lower than or equal to
742 * the ratio threshold. This 'equations loop' isn't an issue as long as the
744 * 4-tap mode equations ensure that, in case of values resulting in a 'ratio
745 * loop', the smallest of the ratio values will be used, never exceeding the
766 * the maximum value guarantees that the ratio value will never be smaller than
768 * ratio will thus result in a resizing factor slightly larger than the
775 * on the vertical resizing ratio. Fortunately, the output height doesn't
776 * depend on the horizontal resizing ratio. We can then start by computing the
777 * output height and the vertical ratio, and then move to computing the output
778 * width and the horizontal ratio.
783 struct resizer_ratio *ratio) in resizer_calc_ratios() argument
800 * compute the vertical resizing ratio. in resizer_calc_ratios()
808 ratio->vert = ((input->height - 4) * 256 + 255 - 16 - 32 * spv) in resizer_calc_ratios()
810 if (ratio->vert > MID_RESIZE_VALUE) in resizer_calc_ratios()
811 ratio->vert = ((input->height - 7) * 256 + 255 - 32 - 64 * spv) in resizer_calc_ratios()
813 ratio->vert = clamp_t(unsigned int, ratio->vert, in resizer_calc_ratios()
816 if (ratio->vert <= MID_RESIZE_VALUE) { in resizer_calc_ratios()
817 upscaled_height = (output->height - 1) * ratio->vert in resizer_calc_ratios()
821 upscaled_height = (output->height - 1) * ratio->vert in resizer_calc_ratios()
828 * capabilities. The maximum depends on the vertical resizing ratio. in resizer_calc_ratios()
833 if (ratio->vert <= MID_RESIZE_VALUE) { in resizer_calc_ratios()
874 width_alignment = ratio->vert < 256 ? 8 : 2; in resizer_calc_ratios()
879 ratio->horz = ((input->width - 7) * 256 + 255 - 16 - 32 * sph) in resizer_calc_ratios()
881 if (ratio->horz > MID_RESIZE_VALUE) in resizer_calc_ratios()
882 ratio->horz = ((input->width - 7) * 256 + 255 - 32 - 64 * sph) in resizer_calc_ratios()
884 ratio->horz = clamp_t(unsigned int, ratio->horz, in resizer_calc_ratios()
887 if (ratio->horz <= MID_RESIZE_VALUE) { in resizer_calc_ratios()
888 upscaled_width = (output->width - 1) * ratio->horz in resizer_calc_ratios()
892 upscaled_width = (output->width - 1) * ratio->horz in resizer_calc_ratios()
915 resizer_set_ratio(res, &res->ratio); in resizer_set_crop_params()
918 if (res->ratio.horz >= RESIZE_DIVISOR) in resizer_set_crop_params()
1191 /* Crop rectangle is constrained by the output size so that zoom ratio in resizer_try_crop()
1232 struct resizer_ratio ratio; in resizer_get_selection() local
1250 resizer_calc_ratios(res, &sel->r, format_source, &ratio); in resizer_get_selection()
1255 resizer_calc_ratios(res, &sel->r, format_source, &ratio); in resizer_get_selection()
1286 struct resizer_ratio ratio; in resizer_set_selection() local
1314 resizer_calc_ratios(res, &sel->r, &format_source, &ratio); in resizer_set_selection()
1338 res->ratio = ratio; in resizer_set_selection()
1384 struct resizer_ratio ratio; in resizer_try_format() local
1405 resizer_calc_ratios(res, &crop, fmt, &ratio); in resizer_try_format()
1541 &res->ratio); in resizer_set_format()