Add 10-bit video support
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 1k
- Forks
- 131
- PR merge metrics
- No merged PRs in 30d
Description
10-bit video content is becoming more and more common with a lot of modern TVs, displays, and cameras (mobile phones or dedicated) being capable of recording or playing 10 bit video files.
Popular standards like HDR10 have 10 bit video as a requirement.
Currently, RIFE doesn't support source frames with more than 8 bit pixel depth per component.
It would be very useful if RIFE could read and write 10-bit frames without losing color information during the interpolation.
Having 12/14/16-bit support for the future may also be useful, but supporting at least 10-bit content would be a big improvement, since such content is very common already.
rgb48le is one of the suitable pixel formats for the internal processing to support up to 16 bits (x3 components).
But when Practical-RIFE receives such rgb48le frames instead of rgb24 frames from the ffmpeg-based reader, the pixel data gets truncated and corrupted back to the 8-bit format while going through the inference logic.
Would it be possible to make the inference logic compatible with 10+ bit content?
Thank you for your work on RIFE!
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Trace the ffmpeg-based reader and inference logic where rgb48le input is truncated to rgb24. First compare the pixel formats and data handling through the interpolation path. Done means 10-bit frames retain their color information during inference and can be read and written without corruption.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- computer-vision
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100