nx_video_codec_v1_adapter.nx
buildroot/runtime/nx_video_codec_v1_adapter.nx
about
nx_video_codec_v1_adapter.nx -- wraps NishiVideo v1 behind nx_codec.
NishiVideo v1's native API: i64 pixel arrays + explicit
(width_blocks, height_blocks) + writes total length to out-param.
nx_codec's vtable: *u8 byte buffers + returns bytes-written, no
dimension args.
The adapter bridges by:
- Storing width/height in adapter state (fixed at construction)
- Treating *u8 src as packed luma bytes (1 byte/pixel, 0..255)
- Unpacking to i64 for the codec
- Repacking decoded i64 pixels back to *u8 luma on decode
Per [[feedback-bits-up-exceed-never-match]]: zero new codec logic.
All 11 WIN axes (per codec_grade_card.nx) belong to nx_video_codec.
dependencies 3 imports · 0 importers
imports: nx_syscalls_x86_64.nxnx_codec.nxnx_video_codec.nx
imported by: nobody (leaf or entry point)
structs
| 30 | struct nx_video_codec_v1_state |
consts
| 57 | const NX_VID_V1A_STATE_BYTES: i64 = 168 |
functions
| 62 | func _unpack_luma_u8(src: *u8, src_n: i64, dst: *i64, dst_cap: i64) -> i64 called by 1: nx_video_codec_v1_encode |
| 73 | func _pack_luma_u8(src: *i64, n: i64, dst: *u8, dst_cap: i64) -> i64 called by 1: nx_video_codec_v1_decode |
| 88 | func nx_video_codec_v1_encode(c: *nx_codec, src: *u8, src_n: i64, |
| 116 | func nx_video_codec_v1_decode(c: *nx_codec, src: *u8, src_n: i64, |
| 143 | func nx_video_codec_v1_new(c: *nx_codec, |