Rebuilds Dovi.xcframework on dolby_vision 3.4.0 (upstream tag libdovi-3.4.0, d1abe0e2). All seven slices as before. No advisory on 3.3.2; this refresh exists so the prebuilt dependency does not sit a year behind while a consumer ships (3.3.2 was published August 2025).
Changed
dolby_vision3.3.2 to 3.4.0.RPU_PARSER_MINORgoes 3 to 4.
Added
The header change is purely additive, so nothing you link against moves:
dovi_rpu_add_cmv40_safe_default_metadataadds default CMv4.0 extension metadata (L3, L9, L11, L254) to an RPU, doing nothing when CMv4.0 metadata is already present. Returns 1 when it added, 0 when it did not, -1 on error.dovi_rpu_remove_cmv40_metadatastrips the CMv4.0 extension metadata, leaving a CMv2.9-only RPU.
Two doc comments were corrected upstream (DoviI64Data2DList and DoviU64Data2DList described their element type as Data2D). No declaration was removed: the header diff is 42 lines added against 4 removed, and the 4 are the two version macros and those two comment lines.
Note for consumers
Nothing to change beyond the pin. dovi_parse_unspec62_nalu, dovi_convert_rpu_with_mode and dovi_write_unspec62_nalu, the entry points AetherEngine uses for Profile 7 to 8.1 conversion, are untouched.
Build reproducibility
build.sh skipped the clone whenever build/dovi_tool existed, so changing DOVI_TAG alone rebuilt the old crate into a new xcframework. It now discards a checkout that is not at the requested tag. The check asks whether the wanted tag is among those pointing at HEAD rather than asking git describe: the dovi_tool repository carries two tag series on the same commits (the CLI's 2.3.x beside libdovi-3.x), and describe answers with whichever it prefers. Relevant if you build this yourself with a build/ directory from an earlier version.