Add YUV to RGB color conversion with cubic and linear vertical chroma upsampling.#715
Add YUV to RGB color conversion with cubic and linear vertical chroma upsampling.#715jeffqjiangNew wants to merge 11 commits into
Conversation
…r vertical chroma upsampling.
There was a problem hiding this comment.
Pull request overview
Adds new NV12 (8-bit) YUV→RGB packed conversion entry points that perform FFmpeg-compatible vertical chroma upsampling (bicubic and bilinear) on the HIP backend, extending the existing rppt_yuv_to_rgb path.
Changes:
- Added public RPPT APIs:
rppt_yuv_to_rgb_bicubic_vandrppt_yuv_to_rgb_bilinear_v(HIP-only, U8 NV12 → RGB24). - Implemented HIP kernels for bicubic/bilinear vertical chroma upsampling and corresponding HIP executors.
- Wired new APIs through the tensor data-exchange operations dispatcher and added executor declarations.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 5 comments.
| File | Description |
|---|---|
src/modules/tensor/rppt_tensor_data_exchange_operations.cpp |
Adds new RPPT entry points that route to HIP executors for bicubic/bilinear vertical chroma upsampling. |
src/modules/tensor/hip/kernel/color_space_conversion.cpp |
Implements the two new HIP kernels and executor launch functions. |
src/include/tensor/hip_tensor_executors.hpp |
Declares the new HIP executor templates. |
api/rppt_tensor_data_exchange_operations.h |
Exposes and documents the new public APIs. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…based on review comments.
rrawther
left a comment
There was a problem hiding this comment.
Please add review comments
rrawther
left a comment
There was a problem hiding this comment.
Added a minor comment for further improvement
…gNew/rpp into jj/yuv_rgb_conversion_new_func
There was a problem hiding this comment.
@jeffqjiangNew we need to add some local test cases later for this. Let's discuss
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## develop #715 +/- ##
===========================================
- Coverage 93.11% 93.08% -0.02%
===========================================
Files 201 201
Lines 97531 97623 +92
===========================================
+ Hits 90809 90872 +63
- Misses 6722 6751 +29
🚀 New features to boost your workflow:
|
|
Can we add a test case for the new functionality. Codecov showing >1% diff |
|
Agreed we need to add new test for the new functions. Working on that. |
Motivation
This PR adds YUV to RGB color conversion with cubic and linear vertical chroma upsampling.
Technical Details
Two new 8-bit NV12 to RGB packed color space conversion (CSC) functions are added:
Test Plan
Run the proposed TorchCodec test with AMD ROCm HW decoder enabled.
H.265 10-bit test should pass.
Test Result
Submission Checklist