Expand description
Layout-only C ABI contract for the EdgeFirst detection vocabulary.
Decoding model outputs into user-consumable structures — detection boxes,
segmentation masks, tile placements — is what the decoder library is, so
these types belong to it. They lived in edgefirst-tensor because of the
r2 “plain-values-only boundary rule”, whose premise (sibling libraries
never link each other) spec Revision 3 overturned. A plain value that
crosses needs a shared DECLARATION, not a shared LINK.
Emitted into edgefirst/decoder.h by cbindgen’s [parse] include,
exactly as edgefirst-tensor-abi’s types are emitted into tensor.h.
Structs§
- EfDetect
Box - A detection: a normalized box, a score, and a label index.
- EfMerge
Config - How overlapping detections from neighbouring tiles are merged.
- EfPreprocess
Spec - A model’s input preprocessing as plain values. C
ef_preprocess_specindetect.h, produced by the decoder library and consumed by the image library. - EfSegmentation
- One segmentation result, as plain values.
- EfTile
Placement - C layout of
ef_tile_placementindetect.h. - Tile
Placement - One tile’s placement within a frame grid.
Enums§
- EfFit
- How a source is fit into the model input. C
ef_fitindetect.h. - EfInterpolation
- A resampling filter. C
ef_interpolationindetect.h. - EfLetterbox
Placement - Where a letterboxed image sits. C
ef_letterbox_placementindetect.h. - EfPad
Space - The space a letterbox pad is expressed in. C
ef_pad_spaceindetect.h.