Open steelbytes opened 1 year ago
OverlayShaderProgram
does not currently support HDR colors.
You can use setHdrMode(HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_OPEN_GL)
to tone-map your HDR video to SDR
thanks. probably should update the sample app
tried that setting (found it was unhelpfully hidden in demo app) and tried both the opengl and the mediacodec choices and both failed to make a video resembles the original.
so still a no go for me and my needs :-(
Unfortunately, tone-mapping does involve converting HDR to SDR, which also removes the extra brightness information. Until OverlayShaderProgram
supports HDR colors, I think tone-mapping and applying an overlay are the best Transformer can do out of the box. You could also implement your own custom Overlay implementation that supports HDR overlays, to avoid needing to tone map.
Adding HDR support for overlays isn't currently planned, but when we do add that support, I suspect your needs could be met through that too.
it's not the accuracy of the overlay colours that are bugging me. its the colours of the base video as it appears in the output are so dead looking vs original.
Yes, what I meant is that because OverlayShaderProgram
only supports SDR and not HDR, you must input SDR colors to use it. From there, tone-mapping in general converts HDR colors to SDR, which clips out the brighter and darker parts of the base video (which might be contributing to the "dead-looking" look, relative to the original HDR input video)
Transformer now supports:
experimentalSetRetainHdrFromUltraHdrImage
to trueTextOverlay
. You can use luminanceMultiplier
option in OverlaySettings
Compiled and installed demo-transformer onto my Pixel 7 Pro.
Selected a video recorded on my pixel. Choose video effect overlay logo & timer. Clicked export. Failed.
VERY surprised you don't support videos created on your own phone