Repository navigation
Read movie buffer getters exported without const by older SDKs - #966
Open
thehobbit85 wants to merge 2 commits into
Open
thehobbit85 wants to merge 2 commits into
thehobbit85 wants to merge 2 commits into
Conversation
thehobbit85
force-pushed
the
codex/movie-sdk1-accessors
branch
2 times, most recently
from
November 2, 2026 17:42
7a0cc2c to
1554ed3
Compare
PikaMan80 identified the three SDK 1.3.1 exports in seedds#960. Prefer the existing const methods on later SDKs and require a working getter for each operation.
thehobbit85
force-pushed
the
codex/movie-sdk1-accessors
branch
2 times, most recently
from
November 3, 2026 03:12
b288615 to
2449e7d
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Refs #960 (movie decoder only). PikaMan80 identified the three non-const SDK 1.3.1 exports in the issue and attached patch. The host previously aborted during decoder construction because it required the const spelling of each getter. It now asks for the const method first and then its mutable counterpart; a missing getter still stops initialization. No title check or guest buffer layout is needed.
Current head
2449e7d959dd1ab08ce01ed4d7328d0b8679edde.python3 -m unittest dm.tools.tests.test_docs dm.tools.tests.test_usagepassed on this revision (17 tests). The feature sources, tests and documentation match the previously validated revisionb28861574e59byte for byte.This PR includes main
6136418bcd564f086cf57cb0a59e8f997d36445e. The mutable movie-buffer entry points exported by older SDKs still need this compatibility path. The stricter movie-test lint baseline remains intact.Local validation on
b28861574e59.python3 -m unittest dm.tools.tests.test_docs dm.tools.tests.test_usage— 17 tests passed.Both native movie fixtures passed under ASan/UBSan, including older SDK getters and the software AV1 path on this M2 Max.
GitHub checks for this revision
Author validation before this rebase
On an Apple silicon Mac, the synthetic SDK with only mutable exports aborted on main at
_ZNK5movie6Buffer4DataEv. With this change, the decoder resolves and calls all three getters (data pointer, used length and capacity) against mutable-only, const-only and dual-export fixtures. The dual-export fixture verifies the modern path keeps precedence.make -C dm/host/tests GAME=010015100B514000 run,make -C dm/host GAME=010015100B514000 dmhostand the native Metal graphics suite passed. Six optional external reflection samples were unavailable. The Python tool suite ran 902 tests, 16 skipped; the 11 documentation tests passed and the symptom index was regenerated. Clang-tidy 23.1.4 on both changed C files reported no findings above baseline.regress.py impact origin/main..HEADreached the three movie decoder constructors. None of the four committed usage manifests recorded those calls; 125 profiles have no manifest. I selected Super Mario Odyssey (AVC parameter buffers), Fire Emblem Engage (VP9 CPU output), Metroid Dread (VP9 native textures), Monster Hunter Rise (AVC native textures) and Dragon Quest XI S (VP9/Vorbis).regress.py check --gamesexited 2 because neither a regression root nor local game builds are configured. No gameplay, USF II boot, or iOS testing is claimed.The rewriter, shader packaging and audio renderer changes in #960 are outside this PR. The movie reference now describes the ABI difference; there is no USF II profile on main.
The full C lint run on
406feed7found one stale baseline count in the changed movie test. In1df9a53b, the allowance forclang-analyzer-core.UndefinedBinaryOperatorResultindm/host/tests/t_movie_vpx.cdrops from two to one. LLVM 23.1.4 checked all 215 sources and matched the tightened 270-finding baseline, with zero file/check pairs above or below it.