libultrahdr is an image compression library that uses gain map technology to store and distribute HDR images. Conceptually on the encoding side, the library accepts SDR and HDR rendition of an image and from these a Gain Map (quotient between the two renditions) is computed. The library then uses backward compatible means to store the base image (SDR), gain map image and some associated metadata. Legacy readers that do not support handling the gain map image and/or metadata, will display the base image. Readers that support the format combine the base image with the gain map and render a high dynamic range image on compatible displays.
For additional information, see android hdr-image-format guide.
This software suite has been built and tested on platforms:
Refer to building.md for complete instructions.
A detailed description of libultrahdr encode and decode api is included in ultrahdr_api.h and for sample usage refer demo app.
libultrahdr includes two classes of APIs, one to compress and the other to decompress HDR images:
Scenario | Hdr intent raw | Sdr intent raw | Sdr intent compressed | Gain map compressed | Quality | Exif | Use Case |
---|---|---|---|---|---|---|---|
API - 0 | P010 or rgba1010102 or rgbaf16 | No | No | No | Optional | Optional | Used if, only hdr raw intent is present. [^1] |
API - 1 | P010 or rgba1010102 or rgbaf16 | YUV420 or rgba8888 | No | No | Optional | Optional | Used if, hdr raw and sdr raw intents are present.[^2] |
API - 2 | P010 or rgba1010102 or rgbaf16 | YUV420 or rgba8888 | Yes | No | No | No | Used if, hdr raw, sdr raw and sdr compressed intents are present.[^3] |
API - 3 | P010 or rgba1010102 or rgbaf16 | No | Yes | No | No | No | Used if, hdr raw and sdr compressed intents are present.[^4] |
API - 4 | No | No | Yes | Yes | No | No | Used if, sdr compressed, gain map compressed and GainMap Metadata are present.[^5] |
[^1]: Tonemap hdr to sdr. Compute gain map from hdr and sdr. Compress sdr and gainmap at quality configured. Add exif if provided. Combine sdr compressed, gainmap in multi picture format with gainmap metadata. [^2]: Compute gain map from hdr and sdr. Compress sdr and gainmap at quality configured. Add exif if provided. Combine sdr compressed, gainmap in multi picture format with gainmap metadata. [^3]: Compute gain map from hdr and raw sdr. Compress gainmap. Combine sdr compressed, gainmap in multi picture format with gainmap metadata. [^4]: Decode compressed sdr input. Compute gain map from hdr and decoded sdr. Compress gainmap. Combine sdr compressed, gainmap in multi picture format with gainmap metadata. [^5]: Combine sdr compressed, gainmap in multi picture format with gainmap metadata.
Configure display device characteristics (display transfer characteristics, max display boost) for optimal usage.
Input | Usage |
---|---|
max_display_boost | (optional, >= 1.0) the maximum available boost supported by a display. |
supported color transfer format pairs | color transferColor format SDR32bppRGBA8888HDR_LINEAR64bppRGBAHalfFloatHDR_PQ32bppRGBA1010102 PQHDR_HLG32bppRGBA1010102 HLG |
凌晨3点多是什么时辰 | 筱是什么意思 | boss是什么意思 | 啷个是什么意思 | amc是什么 |
尿酸高适合吃什么菜 | 阴道放屁是什么原因 | 中叶是什么意思 | 恰如其分是什么意思 | pci是什么意思 |
纷乐是什么药 | 低血糖的症状是什么 | 悬壶济世是什么意思 | 为什么叫211大学 | 什么纸贵 |
千古一帝指什么生肖 | 手汗多是什么原因 | 斗战胜佛是什么意思 | 为什么总长火疖子 | 月经期间不能吃什么水果 |
始祖是什么意思hcv9jop6ns0r.cn | 幽门螺旋杆菌阳性什么症状hcv7jop5ns4r.cn | 干扰素是什么药jasonfriends.com | 人次是什么意思hcv7jop7ns3r.cn | 文联主席是什么级别hcv9jop8ns0r.cn |
无锡有什么好玩的hcv8jop8ns0r.cn | 冰粉是用什么做的yanzhenzixun.com | 上焦有火吃什么中成药hcv8jop2ns1r.cn | nub是什么意思bjcbxg.com | 公务员什么时候退休hcv9jop0ns6r.cn |
奶粉二段和三段有什么区别hcv9jop1ns5r.cn | 甲虫吃什么hcv7jop7ns2r.cn | 贫血是什么原因引起的hcv9jop7ns3r.cn | 什么样的人不能献血hcv8jop0ns1r.cn | 1931年属相是什么hcv7jop6ns8r.cn |
缺钾是什么原因引起520myf.com | 为什么会闪电hcv9jop2ns4r.cn | 球蛋白适合什么人打hcv9jop7ns1r.cn | 走马灯什么意思hcv9jop2ns8r.cn | 体寒的女人吃什么能调理好身体hcv8jop9ns2r.cn |