-
Notifications
You must be signed in to change notification settings - Fork 377
Commit
Y_U_V24
/Y_U_V16
/Y_U_V12
- `_LimitedRa…
…nge`/`FullRange` (#7666) ### What Adds a whole bunch of new pixel formats with limited & full range YUV variants. All of these are needed by our AV1 decoder (branch is a misnomer though, this is coming in another pr!) ---- Naming & categorizing these formats is quite the struggle just as expected: If limited to YUV variants, the overall picutre becomes sharper (ironic, eh) and it's possible to specify the combinatorics in a deceptively simple pattern: * planarity & downsample ratio * limited/full value range * bit depth (we only do 8 bit right now) * color primaries That's what is happening in `re_renderer`'s YUV converter now and is very useful for writing the conversions themselves! However (!!!), in the wild names make these properties often convoluted with each other, making the categorization a lot harder. E.g. NV12 is almost always (afaik just _almost_) implying `LimitedRange` YUV (which is generally a common default unless you're dealing with jpeg derived data [...]). This, and the fact that we already set out with `PixelFormat` for a flat list of names, strongly compelled me to continue the current naming scheme (and Ocean's numbering as far as possible) in the user facing API. Worth revisiting in the future. The primary motivation to expose these formats right away was to be able to easily test these variants. However, I refrained from throwing color primaries into the mix here because I think they should in fact be separately defined, causing a bigger expansion of the APIs. The docs are intentionally kept vague on color space for the moment (trying hard to not further get entangled here). As a result, our internal processing is now fairly explicit on the matter, but the input interpretation is rather vague. <img width="1405" alt="image" src="https://github.com/user-attachments/assets/883aee03-9ef1-46f8-bec6-96af0f0713f3"> (screenshot of the release checklist which is part of this pr (moved from a previous test). I manually tested the color inspection feature against a reference color picker - slight rounding errors occasionally, but they are hard to avoid since GPU/CPU don't always do the exact same thing :/) https://rerun.io/viewer/pr/7666?url=https%3A%2F%2Fstatic.rerun.io%2Frrd%2F0.19.0%2Fchroma_4688549ca3c20018fa2fb658b56482b955817b6a.rrd ### Checklist * [ ] chrome/firefox windows * [x] chrome/firefox/safari mac * [ ] chrome/firefox linux * [x] I have read and agree to [Contributor Guide](https://github.com/rerun-io/rerun/blob/main/CONTRIBUTING.md) and the [Code of Conduct](https://github.com/rerun-io/rerun/blob/main/CODE_OF_CONDUCT.md) * [x] I've included a screenshot or gif (if applicable) * [x] I have tested the web demo (if applicable): * Using examples from latest `main` build: [rerun.io/viewer](https://rerun.io/viewer/pr/7666?manifest_url=https://app.rerun.io/version/main/examples_manifest.json) * Using full set of examples from `nightly` build: [rerun.io/viewer](https://rerun.io/viewer/pr/7666?manifest_url=https://app.rerun.io/version/nightly/examples_manifest.json) * [x] The PR title and labels are set such as to maximize their usefulness for the next release's CHANGELOG * [x] If applicable, add a new check to the [release checklist](https://github.com/rerun-io/rerun/blob/main/tests/python/release_checklist)! * [x] If have noted any breaking changes to the log API in `CHANGELOG.md` and the migration guide - [PR Build Summary](https://build.rerun.io/pr/7666) - [Recent benchmark results](https://build.rerun.io/graphs/crates.html) - [Wasm size tracking](https://build.rerun.io/graphs/sizes.html) To run all checks from `main`, comment on the PR with `@rerun-bot full-check`.
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -31,6 +31,7 @@ _deps | |
# Python build artifacts: | ||
__pycache__ | ||
*.pyc | ||
*.pyd | ||
*.so | ||
**/.pytest_cache | ||
|
||
|
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.