API docs / Open libraries / mpega.library
API · Librariesmpega.library jump table
Our open mpega.library: 7 calls with the same LVOs and registers as AmigaOS 3.2's, checked against the NDK 3.2 .fd file.
mpega.library's jump table, as OpenMPEGA builds it: LVO, call, registers, from the library's public mpega_lib.fd as documented (##bias 30). The fd is not in the NDK: build-amiga.sh (with ../common/check_fd.py) checks this table against it when FD= names the original archive's fd/mpega_lib.fd, and stops on any difference (ABI test until it has). openmpega_lib.c's lib_vectors[] follows it line for line. Core class (OPEN_LIBRARIES.md, section 5): every call is locked per stream (the caller's own MPEGA_STREAM, all its state in its own allocation); MPEGA_find_sync is pure. MPEGA_open, MPEGA_close, MPEGA_decode_frame and MPEGA_seek reach the bitstream through the caller's hook or dos.library, from the calling task.
| LVO | Call | Registers | Notes |
|---|---|---|---|
| -30 | MPEGA_open | a0, a1 | |
| -36 | MPEGA_close | a0 | |
| -42 | MPEGA_decode_frame | a0, a1 | |
| -48 | MPEGA_seek | a0, d0 | |
| -54 | MPEGA_time | a0, a1 | |
| -60 | MPEGA_find_sync | a0, d0 | |
| -66 | MPEGA_scale | a0, d0 |