Skip to content

@mega-yfue/eufy-sdk / CodedGeometry

Interface: CodedGeometry

What a parameter set says a picture's dimensions are — both of them.

A stream states TWO sizes and a consumer needs whichever matches what it holds. CodedGeometry.width and height are the DISPLAY size, the picture as a viewer should see it. CodedGeometry.coded is the size it is actually coded at, rounded up to the macroblock (H.264) or CTU (H.265) grid, and CodedGeometry.crop is the window between them, already scaled from the chroma units the syntax states them in into luma samples.

The distinction is not a refinement: 1080 is not a multiple of 16, so the commonest geometry there is codes 1088 rows and crops 8 away. A caller that muxes or measures wants the display size; a caller DECODING frames itself gets the coded size back from its decoder and needs the window to crop with — one that assumes the two are the same emits eight rows of encoder padding and calls the result 1088 tall.

Extends

Properties

coded

ts
coded: Size;

The size the picture is coded at — macroblock- or CTU-aligned, and never smaller than the display size.


crop

ts
crop: object;

The crop (H.264) or conformance (H.265) window, in LUMA samples.

bottom

ts
bottom: number;

left

ts
left: number;
ts
right: number;

top

ts
top: number;

height

ts
height: number;

Inherited from

Size.height


width

ts
width: number;

Inherited from

Size.width

Independent and unofficial. Not affiliated with, endorsed by, or sponsored by Anker Innovations, Anker eufy, or eufy. "Anker eufy", "eufy" and "Anker" are trademarks of their respective owners. Use responsibly — rapid or failed logins can trigger captcha or temporary cooldowns.