|
FDL Core Library
ASC Framing Decision List — C/C++ Reference Implementation
|
C ABI field accessors with thread-local string buffering and per-document mutex locking. More...
#include "fdl/fdl_core.h"#include "fdl_canonical.h"#include "fdl_compat.h"#include "fdl_constants.h"#include "fdl_doc.h"#include "fdl_enum_map.h"#include <cstdlib>#include <cstring>#include <functional>#include <string>#include <unordered_map>#include "fdl_tl_cache.h"Typedefs | |
| using | ojson = jsoncons::ojson |
| Alias for ordered JSON type. | |
Functions | |
| const char * | fdl_context_get_label (const fdl_context_t *ctx) |
| Get the label of a context. | |
| const char * | fdl_context_get_context_creator (const fdl_context_t *ctx) |
| Get the context_creator of a context. | |
| const char * | fdl_canvas_get_label (const fdl_canvas_t *canvas) |
| Get the label of a canvas. | |
| const char * | fdl_canvas_get_id (const fdl_canvas_t *canvas) |
| Get the ID of a canvas. | |
| const char * | fdl_canvas_get_source_canvas_id (const fdl_canvas_t *canvas) |
| Get the source_canvas_id of a canvas (the canvas this was derived from). | |
| fdl_dimensions_i64_t | fdl_canvas_get_dimensions (const fdl_canvas_t *canvas) |
| Get the canvas dimensions in pixels. | |
| int | fdl_canvas_has_effective_dimensions (const fdl_canvas_t *canvas) |
| Check if the canvas has effective dimensions set. | |
| fdl_dimensions_i64_t | fdl_canvas_get_effective_dimensions (const fdl_canvas_t *canvas) |
| Get effective (active image area) dimensions. | |
| fdl_point_f64_t | fdl_canvas_get_effective_anchor_point (const fdl_canvas_t *canvas) |
| Get the effective anchor point (offset from canvas origin). | |
| double | fdl_canvas_get_anamorphic_squeeze (const fdl_canvas_t *canvas) |
| Get the anamorphic squeeze factor. | |
| int | fdl_canvas_has_photosite_dimensions (const fdl_canvas_t *canvas) |
| Check if the canvas has photosite dimensions set. | |
| fdl_dimensions_i64_t | fdl_canvas_get_photosite_dimensions (const fdl_canvas_t *canvas) |
| Get photosite (sensor) dimensions. | |
| int | fdl_canvas_has_physical_dimensions (const fdl_canvas_t *canvas) |
| Check if the canvas has physical dimensions set. | |
| fdl_dimensions_f64_t | fdl_canvas_get_physical_dimensions (const fdl_canvas_t *canvas) |
| Get physical dimensions (e.g. | |
| int | fdl_context_has_clip_id (const fdl_context_t *ctx) |
| Check if a context has a clip_id. | |
| const char * | fdl_context_get_clip_id (const fdl_context_t *ctx) |
| Get clip_id as a JSON string. | |
| fdl_clip_id_t * | fdl_context_clip_id (fdl_context_t *ctx) |
| Get the clip_id handle from a context. | |
| const char * | fdl_clip_id_get_clip_name (const fdl_clip_id_t *cid) |
| Get the clip_name from a clip_id. | |
| int | fdl_clip_id_has_file (const fdl_clip_id_t *cid) |
| Check if a clip_id has a file path. | |
| const char * | fdl_clip_id_get_file (const fdl_clip_id_t *cid) |
| Get the file path from a clip_id. | |
| int | fdl_clip_id_has_sequence (const fdl_clip_id_t *cid) |
| Check if a clip_id has a file sequence. | |
| fdl_file_sequence_t * | fdl_clip_id_sequence (fdl_clip_id_t *cid) |
| Get the file sequence handle from a clip_id. | |
| char * | fdl_clip_id_to_json (const fdl_clip_id_t *cid, int indent) |
| Serialize a clip_id to canonical JSON. | |
| const char * | fdl_file_sequence_get_value (const fdl_file_sequence_t *seq) |
| Get the sequence pattern value string. | |
| const char * | fdl_file_sequence_get_idx (const fdl_file_sequence_t *seq) |
| Get the index variable name. | |
| int64_t | fdl_file_sequence_get_min (const fdl_file_sequence_t *seq) |
| Get the minimum (first) frame number. | |
| int64_t | fdl_file_sequence_get_max (const fdl_file_sequence_t *seq) |
| Get the maximum (last) frame number. | |
| const char * | fdl_framing_decision_get_label (const fdl_framing_decision_t *fd) |
| Get the label of a framing decision. | |
| const char * | fdl_framing_decision_get_id (const fdl_framing_decision_t *fd) |
| Get the ID of a framing decision. | |
| const char * | fdl_framing_decision_get_framing_intent_id (const fdl_framing_decision_t *fd) |
| Get the framing_intent_id that this framing decision references. | |
| fdl_dimensions_f64_t | fdl_framing_decision_get_dimensions (const fdl_framing_decision_t *fd) |
| Get the framing decision dimensions (floating-point sub-pixel). | |
| fdl_point_f64_t | fdl_framing_decision_get_anchor_point (const fdl_framing_decision_t *fd) |
| Get the anchor point of a framing decision. | |
| int | fdl_framing_decision_has_protection (const fdl_framing_decision_t *fd) |
| Check if a framing decision has protection area set. | |
| fdl_dimensions_f64_t | fdl_framing_decision_get_protection_dimensions (const fdl_framing_decision_t *fd) |
| Get the protection area dimensions. | |
| fdl_point_f64_t | fdl_framing_decision_get_protection_anchor_point (const fdl_framing_decision_t *fd) |
| Get the protection anchor point. | |
| const char * | fdl_framing_intent_get_label (const fdl_framing_intent_t *fi) |
| Get the label of a framing intent. | |
| const char * | fdl_framing_intent_get_id (const fdl_framing_intent_t *fi) |
| Get the ID of a framing intent. | |
| fdl_dimensions_i64_t | fdl_framing_intent_get_aspect_ratio (const fdl_framing_intent_t *fi) |
| Get the target aspect ratio of a framing intent. | |
| double | fdl_framing_intent_get_protection (const fdl_framing_intent_t *fi) |
| Get the protection factor of a framing intent. | |
| const char * | fdl_canvas_template_get_label (const fdl_canvas_template_t *ct) |
| Get the label of a canvas template. | |
| const char * | fdl_canvas_template_get_id (const fdl_canvas_template_t *ct) |
| Get the ID of a canvas template. | |
| fdl_dimensions_i64_t | fdl_canvas_template_get_target_dimensions (const fdl_canvas_template_t *ct) |
| Get the target dimensions of a canvas template. | |
| double | fdl_canvas_template_get_target_anamorphic_squeeze (const fdl_canvas_template_t *ct) |
| Get the target anamorphic squeeze factor. | |
| fdl_geometry_path_t | fdl_canvas_template_get_fit_source (const fdl_canvas_template_t *ct) |
| Get the fit source — which dimension layer to scale from. | |
| fdl_fit_method_t | fdl_canvas_template_get_fit_method (const fdl_canvas_template_t *ct) |
| Get the fit method — how source is scaled into target. | |
| fdl_halign_t | fdl_canvas_template_get_alignment_method_horizontal (const fdl_canvas_template_t *ct) |
| Get the horizontal alignment method. | |
| fdl_valign_t | fdl_canvas_template_get_alignment_method_vertical (const fdl_canvas_template_t *ct) |
| Get the vertical alignment method. | |
| int | fdl_canvas_template_has_preserve_from_source_canvas (const fdl_canvas_template_t *ct) |
| Check if preserve_from_source_canvas is set. | |
| fdl_geometry_path_t | fdl_canvas_template_get_preserve_from_source_canvas (const fdl_canvas_template_t *ct) |
| Get the preserve_from_source_canvas geometry path. | |
| int | fdl_canvas_template_has_maximum_dimensions (const fdl_canvas_template_t *ct) |
| Check if maximum_dimensions constraint is set. | |
| fdl_dimensions_i64_t | fdl_canvas_template_get_maximum_dimensions (const fdl_canvas_template_t *ct) |
| Get the maximum_dimensions constraint. | |
| int | fdl_canvas_template_get_pad_to_maximum (const fdl_canvas_template_t *ct) |
| Get the pad_to_maximum flag. | |
| fdl_round_strategy_t | fdl_canvas_template_get_round (const fdl_canvas_template_t *ct) |
| Get the rounding strategy. | |
| int | fdl_doc_get_version_major (const fdl_doc_t *doc) |
| Get the FDL version major number. | |
| int | fdl_doc_get_version_minor (const fdl_doc_t *doc) |
| Get the FDL version minor number. | |
| char * | fdl_context_to_json (const fdl_context_t *ctx, int indent) |
| Serialize a context sub-object to canonical JSON. | |
| char * | fdl_canvas_to_json (const fdl_canvas_t *canvas, int indent) |
| Serialize a canvas sub-object to canonical JSON. | |
| char * | fdl_framing_decision_to_json (const fdl_framing_decision_t *fd, int indent) |
| Serialize a framing decision to canonical JSON. | |
| char * | fdl_framing_intent_to_json (const fdl_framing_intent_t *fi, int indent) |
| Serialize a framing intent to canonical JSON. | |
| char * | fdl_canvas_template_to_json (const fdl_canvas_template_t *ct, int indent) |
| Serialize a canvas template to canonical JSON. | |
C ABI field accessors with thread-local string buffering and per-document mutex locking.
| const char * fdl_context_get_label | ( | const fdl_context_t * | ctx | ) |
Get the label of a context.
| ctx | Context handle. |
| const char * fdl_context_get_context_creator | ( | const fdl_context_t * | ctx | ) |
Get the context_creator of a context.
| ctx | Context handle. |
| const char * fdl_canvas_get_label | ( | const fdl_canvas_t * | canvas | ) |
Get the label of a canvas.
| canvas | Canvas handle. |
| const char * fdl_canvas_get_id | ( | const fdl_canvas_t * | canvas | ) |
Get the ID of a canvas.
| canvas | Canvas handle. |
| const char * fdl_canvas_get_source_canvas_id | ( | const fdl_canvas_t * | canvas | ) |
Get the source_canvas_id of a canvas (the canvas this was derived from).
| canvas | Canvas handle. |
| fdl_dimensions_i64_t fdl_canvas_get_dimensions | ( | const fdl_canvas_t * | canvas | ) |
Get the canvas dimensions in pixels.
| canvas | Canvas handle. |
| int fdl_canvas_has_effective_dimensions | ( | const fdl_canvas_t * | canvas | ) |
Check if the canvas has effective dimensions set.
| canvas | Canvas handle. |
| fdl_dimensions_i64_t fdl_canvas_get_effective_dimensions | ( | const fdl_canvas_t * | canvas | ) |
Get effective (active image area) dimensions.
| canvas | Canvas handle. |
| fdl_point_f64_t fdl_canvas_get_effective_anchor_point | ( | const fdl_canvas_t * | canvas | ) |
Get the effective anchor point (offset from canvas origin).
| canvas | Canvas handle. |
| double fdl_canvas_get_anamorphic_squeeze | ( | const fdl_canvas_t * | canvas | ) |
Get the anamorphic squeeze factor.
| canvas | Canvas handle. |
| int fdl_canvas_has_photosite_dimensions | ( | const fdl_canvas_t * | canvas | ) |
Check if the canvas has photosite dimensions set.
| canvas | Canvas handle. |
| fdl_dimensions_i64_t fdl_canvas_get_photosite_dimensions | ( | const fdl_canvas_t * | canvas | ) |
Get photosite (sensor) dimensions.
| canvas | Canvas handle. |
| int fdl_canvas_has_physical_dimensions | ( | const fdl_canvas_t * | canvas | ) |
Check if the canvas has physical dimensions set.
| canvas | Canvas handle. |
| fdl_dimensions_f64_t fdl_canvas_get_physical_dimensions | ( | const fdl_canvas_t * | canvas | ) |
Get physical dimensions (e.g.
millimeters on sensor).
| canvas | Canvas handle. |
| int fdl_context_has_clip_id | ( | const fdl_context_t * | ctx | ) |
Check if a context has a clip_id.
| ctx | Context handle. |
| const char * fdl_context_get_clip_id | ( | const fdl_context_t * | ctx | ) |
Get clip_id as a JSON string.
| ctx | Context handle. |
< POSIX strdup.
| fdl_clip_id_t * fdl_context_clip_id | ( | fdl_context_t * | ctx | ) |
Get the clip_id handle from a context.
| ctx | Context handle. |
| const char * fdl_clip_id_get_clip_name | ( | const fdl_clip_id_t * | cid | ) |
Get the clip_name from a clip_id.
| cid | Clip ID handle. |
| int fdl_clip_id_has_file | ( | const fdl_clip_id_t * | cid | ) |
Check if a clip_id has a file path.
| cid | Clip ID handle. |
| const char * fdl_clip_id_get_file | ( | const fdl_clip_id_t * | cid | ) |
Get the file path from a clip_id.
| cid | Clip ID handle. |
| int fdl_clip_id_has_sequence | ( | const fdl_clip_id_t * | cid | ) |
Check if a clip_id has a file sequence.
| cid | Clip ID handle. |
| fdl_file_sequence_t * fdl_clip_id_sequence | ( | fdl_clip_id_t * | cid | ) |
Get the file sequence handle from a clip_id.
| cid | Clip ID handle. |
| char * fdl_clip_id_to_json | ( | const fdl_clip_id_t * | cid, |
| int | indent | ||
| ) |
Serialize a clip_id to canonical JSON.
| cid | Clip ID handle. |
| indent | Number of spaces per indent level (0 for compact). |
| const char * fdl_file_sequence_get_value | ( | const fdl_file_sequence_t * | seq | ) |
Get the sequence pattern value string.
| seq | File sequence handle. |
| const char * fdl_file_sequence_get_idx | ( | const fdl_file_sequence_t * | seq | ) |
Get the index variable name.
| seq | File sequence handle. |
| int64_t fdl_file_sequence_get_min | ( | const fdl_file_sequence_t * | seq | ) |
Get the minimum (first) frame number.
| seq | File sequence handle. |
| int64_t fdl_file_sequence_get_max | ( | const fdl_file_sequence_t * | seq | ) |
Get the maximum (last) frame number.
| seq | File sequence handle. |
| const char * fdl_framing_decision_get_label | ( | const fdl_framing_decision_t * | fd | ) |
Get the label of a framing decision.
| fd | Framing decision handle. |
| const char * fdl_framing_decision_get_id | ( | const fdl_framing_decision_t * | fd | ) |
Get the ID of a framing decision.
| fd | Framing decision handle. |
| const char * fdl_framing_decision_get_framing_intent_id | ( | const fdl_framing_decision_t * | fd | ) |
Get the framing_intent_id that this framing decision references.
| fd | Framing decision handle. |
| fdl_dimensions_f64_t fdl_framing_decision_get_dimensions | ( | const fdl_framing_decision_t * | fd | ) |
Get the framing decision dimensions (floating-point sub-pixel).
| fd | Framing decision handle. |
| fdl_point_f64_t fdl_framing_decision_get_anchor_point | ( | const fdl_framing_decision_t * | fd | ) |
Get the anchor point of a framing decision.
| fd | Framing decision handle. |
| int fdl_framing_decision_has_protection | ( | const fdl_framing_decision_t * | fd | ) |
Check if a framing decision has protection area set.
| fd | Framing decision handle. |
| fdl_dimensions_f64_t fdl_framing_decision_get_protection_dimensions | ( | const fdl_framing_decision_t * | fd | ) |
Get the protection area dimensions.
| fd | Framing decision handle. |
| fdl_point_f64_t fdl_framing_decision_get_protection_anchor_point | ( | const fdl_framing_decision_t * | fd | ) |
Get the protection anchor point.
| fd | Framing decision handle. |
| const char * fdl_framing_intent_get_label | ( | const fdl_framing_intent_t * | fi | ) |
Get the label of a framing intent.
| fi | Framing intent handle. |
| const char * fdl_framing_intent_get_id | ( | const fdl_framing_intent_t * | fi | ) |
Get the ID of a framing intent.
| fi | Framing intent handle. |
| fdl_dimensions_i64_t fdl_framing_intent_get_aspect_ratio | ( | const fdl_framing_intent_t * | fi | ) |
Get the target aspect ratio of a framing intent.
| fi | Framing intent handle. |
| double fdl_framing_intent_get_protection | ( | const fdl_framing_intent_t * | fi | ) |
Get the protection factor of a framing intent.
| fi | Framing intent handle. |
| const char * fdl_canvas_template_get_label | ( | const fdl_canvas_template_t * | ct | ) |
Get the label of a canvas template.
| ct | Canvas template handle. |
| const char * fdl_canvas_template_get_id | ( | const fdl_canvas_template_t * | ct | ) |
Get the ID of a canvas template.
| ct | Canvas template handle. |
| fdl_dimensions_i64_t fdl_canvas_template_get_target_dimensions | ( | const fdl_canvas_template_t * | ct | ) |
Get the target dimensions of a canvas template.
| ct | Canvas template handle. |
| double fdl_canvas_template_get_target_anamorphic_squeeze | ( | const fdl_canvas_template_t * | ct | ) |
Get the target anamorphic squeeze factor.
| ct | Canvas template handle. |
| fdl_geometry_path_t fdl_canvas_template_get_fit_source | ( | const fdl_canvas_template_t * | ct | ) |
Get the fit source — which dimension layer to scale from.
| ct | Canvas template handle. |
| fdl_fit_method_t fdl_canvas_template_get_fit_method | ( | const fdl_canvas_template_t * | ct | ) |
Get the fit method — how source is scaled into target.
| ct | Canvas template handle. |
| fdl_halign_t fdl_canvas_template_get_alignment_method_horizontal | ( | const fdl_canvas_template_t * | ct | ) |
Get the horizontal alignment method.
| ct | Canvas template handle. |
| fdl_valign_t fdl_canvas_template_get_alignment_method_vertical | ( | const fdl_canvas_template_t * | ct | ) |
Get the vertical alignment method.
| ct | Canvas template handle. |
| int fdl_canvas_template_has_preserve_from_source_canvas | ( | const fdl_canvas_template_t * | ct | ) |
Check if preserve_from_source_canvas is set.
| ct | Canvas template handle. |
| fdl_geometry_path_t fdl_canvas_template_get_preserve_from_source_canvas | ( | const fdl_canvas_template_t * | ct | ) |
Get the preserve_from_source_canvas geometry path.
| ct | Canvas template handle. |
| int fdl_canvas_template_has_maximum_dimensions | ( | const fdl_canvas_template_t * | ct | ) |
Check if maximum_dimensions constraint is set.
| ct | Canvas template handle. |
| fdl_dimensions_i64_t fdl_canvas_template_get_maximum_dimensions | ( | const fdl_canvas_template_t * | ct | ) |
Get the maximum_dimensions constraint.
| ct | Canvas template handle. |
| int fdl_canvas_template_get_pad_to_maximum | ( | const fdl_canvas_template_t * | ct | ) |
Get the pad_to_maximum flag.
| ct | Canvas template handle. |
| fdl_round_strategy_t fdl_canvas_template_get_round | ( | const fdl_canvas_template_t * | ct | ) |
Get the rounding strategy.
| ct | Canvas template handle. |
| int fdl_doc_get_version_major | ( | const fdl_doc_t * | doc | ) |
Get the FDL version major number.
| doc | Document to query. |
| int fdl_doc_get_version_minor | ( | const fdl_doc_t * | doc | ) |
Get the FDL version minor number.
| doc | Document to query. |
| char * fdl_context_to_json | ( | const fdl_context_t * | ctx, |
| int | indent | ||
| ) |
Serialize a context sub-object to canonical JSON.
| ctx | Context handle. |
| indent | Number of spaces per indent level (0 for compact). |
| char * fdl_canvas_to_json | ( | const fdl_canvas_t * | canvas, |
| int | indent | ||
| ) |
Serialize a canvas sub-object to canonical JSON.
| canvas | Canvas handle. |
| indent | Number of spaces per indent level (0 for compact). |
| char * fdl_framing_decision_to_json | ( | const fdl_framing_decision_t * | fd, |
| int | indent | ||
| ) |
Serialize a framing decision to canonical JSON.
| fd | Framing decision handle. |
| indent | Number of spaces per indent level (0 for compact). |
| char * fdl_framing_intent_to_json | ( | const fdl_framing_intent_t * | fi, |
| int | indent | ||
| ) |
Serialize a framing intent to canonical JSON.
| fi | Framing intent handle. |
| indent | Number of spaces per indent level (0 for compact). |
| char * fdl_canvas_template_to_json | ( | const fdl_canvas_template_t * | ct, |
| int | indent | ||
| ) |
Serialize a canvas template to canonical JSON.
| ct | Canvas template handle. |
| indent | Number of spaces per indent level (0 for compact). |