timvideos / getting-started

List of ideas for getting started with TimVideos projects
https://code.timvideos.us/summer-of-code/
52 stars 19 forks source link

[HDMI2USB] Add "hardware mixing" support to HDMI2USB firmware #34

Open mithro opened 8 years ago

mithro commented 8 years ago

[HDMI2USB-misoc-firmware 27] Add "hardware mixing" support to HDMI2USB firmware

More technical details at following github issue

Brief explanation

Add support for mixing multiple input sources (either HDMI or pattern) together and output via any of the outputs.

Expected results

The firmware command line has the ability to specify that an output is the combination of two inputs. These combinations should include dynamic changes like fading and wipes between two inputs.

Detailed Explanation

The "Hardware Fader Design Doc" includes lots of information about how this stuff could be implemented.

You should read up about how to properly combined pixels in linear gamma space. All mixing should be done in linear gamma space. (http://www.poynton.com/PDFs/GammaFAQ.pdf || http://www.poynton.com/notes/colour_and_gamma/GammaFAQ.html)

It might be useful to read up about the original Milkymist One firmware and the TMU (Texture Mapping Unit) used in that.

Further reading

mithro commented 7 years ago

@ssk1328 worked on this project as part of GSoC 2016. You can find the progress reports at https://shashankgangrade.wordpress.com/category/weekly-report/ and the final report at https://shashankgangrade.wordpress.com/gsoc-final/

More work is needed to make his foundational work for doing the mixing to be usable for end users.