FDL Core Library
ASC Framing Decision List — C/C++ Reference Implementation
Loading...
Searching...
No Matches
fdl_pipeline.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2024-present American Society Of Cinematographers
2// SPDX-License-Identifier: Apache-2.0
10#ifndef FDL_PIPELINE_INTERNAL_H
11#define FDL_PIPELINE_INTERNAL_H
12
13#include "fdl/fdl_core.h"
14
15namespace fdl::detail {
16
25 fdl_dimensions_f64_t fit_norm, fdl_dimensions_f64_t target_norm, fdl_fit_method_t fit_method);
26
35double output_size_for_axis(double canvas_size, double max_size, bool has_max, bool pad_to_max);
36
49double alignment_shift(
50 double fit_size,
51 double fit_anchor,
52 double output_size,
53 double canvas_size,
54 double target_size,
55 bool is_center,
56 double align_factor,
57 bool pad_to_max);
58
67 fdl_dimensions_f64_t dims, fdl_dimensions_f64_t clamp_dims, fdl_point_f64_t* out_delta);
68
69} // namespace fdl::detail
70
71#endif // FDL_PIPELINE_INTERNAL_H
Public C ABI for the FDL (Framing Decision List) core library.
uint32_t fdl_fit_method_t
Fit method — how source content is scaled into the target canvas.
Definition fdl_core.h:151
fdl_dimensions_f64_t dimensions_clamp_to_dims(fdl_dimensions_f64_t dims, fdl_dimensions_f64_t clamp_dims, fdl_point_f64_t *out_delta)
Clamp dimensions to maximum bounds.
Definition fdl_pipeline.cpp:84
double output_size_for_axis(double canvas_size, double max_size, bool has_max, bool pad_to_max)
Determine output canvas size for a single axis.
Definition fdl_pipeline.cpp:35
double alignment_shift(double fit_size, double fit_anchor, double output_size, double canvas_size, double target_size, bool is_center, double align_factor, bool pad_to_max)
Calculate content translation shift for a single axis.
Definition fdl_pipeline.cpp:46
double calculate_scale_factor(fdl_dimensions_f64_t fit_norm, fdl_dimensions_f64_t target_norm, fdl_fit_method_t fit_method)
Calculate scale factor based on fit method.
Definition fdl_pipeline.cpp:15
Floating-point dimensions (used during computation).
Definition fdl_core.h:94
2D point in floating-point coordinates.
Definition fdl_core.h:100