Here is the code I used for someone to implement in Estuary:
Edit: Updated code with a fix for the spacing between the source and the arrow during conversion.
<control type="textbox">
<height>80</height>
<aligny>center</aligny>
<autoscroll>false</autoscroll>
<align>left</align>
<font>font_mini</font>
<textcolor>dialog_fg_90</textcolor>
<label>[B]High Dynamic Range[/B][CR]$VAR[HDRSourceVar]$VAR[DVProfileVar]$VAR[DVELVar]$VAR[VideoConvVar]</label>
<visible>!VideoPlayer.Content(livetv)</visible>
</control>
<variable name="DVProfileVar">
<value condition="String.Contains(Player.Process(video.source.hdr.type),Hdr10) + String.Contains(Player.Process(video.dovi.codec.string),8)">-> Dolby Vision Profile 8</value>
<value condition="String.Contains(Player.Process(video.source.hdr.type),Hdr10) + String.Contains(Player.Process(video.dovi.codec.string),7)">-> Dolby Vision Profile 7</value>
<value condition="String.Contains(Player.Process(video.source.hdr.type),Hdr10) + String.Contains(Player.Process(video.dovi.codec.string),5)">-> Dolby Vision Profile 5</value>
<value condition="String.Contains(Player.Process(video.source.hdr.type),Hdr10) + String.Contains(Player.Process(video.dovi.codec.string),4)">-> Dolby Vision Profile 4</value>
<value condition="String.Contains(Player.Process(video.dovi.codec.string),7)">Profile 7</value>
<value condition="String.Contains(Player.Process(video.dovi.codec.string),5)">Profile 5 </value>
<value condition="String.Contains(Player.Process(video.dovi.codec.string),4)">Profile 4 </value>
<value condition="String.Contains(Player.Process(video.dovi.codec.string),8)">Profile 8 </value>
<value/>
<value condition="String.Contains(Player.Process(video.dovi.codec.string),)">$LOCALIZE[10005]</value>
</variable>
<variable name="HDRSourceVar">
<value condition="String.Contains(Player.Process(video.source.hdr.type),Hdr10) + String.Contains(Player.Process(video.dovi.codec.string),8)">HDR10+ </value>
<value condition="String.Contains(Player.Process(video.source.hdr.type),Hdr10) + String.Contains(Player.Process(video.dovi.codec.string),7)">HDR10+ </value>
<value condition="String.Contains(Player.Process(video.source.hdr.type),Hdr10) + String.Contains(Player.Process(video.dovi.codec.string),5)">HDR10+ </value>
<value condition="String.Contains(Player.Process(video.source.hdr.type),Hdr10) + String.Contains(Player.Process(video.dovi.codec.string),4)">HDR10+ </value>
<value condition="String.Contains(Player.Process(video.source.hdr.type),dolby vision)">Dolby Vision </value>
<value condition="String.Contains(Player.Process(video.source.hdr.type),Hdr10)">HDR10 </value>
<value condition="String.Contains(Player.Process(video.source.hdr.type),Sdr)">SDR </value>
<value condition="String.Contains(Player.Process(video.source.hdr.type),)">$LOCALIZE[13205]</value>
</variable>
<variable name="DVELVar">
<value condition="String.Contains(Player.Process(video.dovi.el.type),minimum)"> MEL </value>
<value condition="String.Contains(Player.Process(video.dovi.el.type),full)"> FEL </value>
<value condition="String.Contains(Player.Process(video.dovi.el.type),none)"/>
</variable>
<variable name="VideoConvVar">
<value condition="String.Contains(Player.Process(video.source.hdr.type),Hdr10) + String.Contains(Player.Process(video.dovi.codec.string),8)"/>
<value condition="String.Contains(Player.Process(video.source.hdr.type),Hdr10) + String.Contains(Player.Process(video.dovi.codec.string),7)"/>
<value condition="String.Contains(Player.Process(video.source.hdr.type),Hdr10) + String.Contains(Player.Process(video.dovi.codec.string),5)"/>
<value condition="String.Contains(Player.Process(video.source.hdr.type),Hdr10) + String.Contains(Player.Process(video.dovi.codec.string),4)"/>
<value condition="String.Contains(Player.Process(video.source.hdr.type),Sdr) + String.Contains(Player.Process(video.dovi.codec.string),8)"/>
<value condition="String.Contains(Player.Process(video.source.hdr.type),Sdr) + String.Contains(Player.Process(video.dovi.codec.string),7)"/>
<value condition="String.Contains(Player.Process(video.source.hdr.type),Sdr) + String.Contains(Player.Process(video.dovi.codec.string),5)"/>
<value condition="String.Contains(Player.Process(video.source.hdr.type),Sdr) + String.Contains(Player.Process(video.dovi.codec.string),4)"/>
<value condition="String.Contains(Player.Process(video.source.hdr.type),Hdr10) + String.Contains(Player.Process(amlogic.vs10.mode),dolby vision">-> Dolby Vision</value>
<value condition="String.Contains(Player.Process(video.source.hdr.type),Hdr10) + String.Contains(Player.Process(amlogic.vs10.mode),sdr">-> SDR</value>
<value condition="String.Contains(Player.Process(video.source.hdr.type),Sdr) + String.Contains(Player.Process(amlogic.vs10.mode),hdr10">-> HDR10</value>
<value condition="String.Contains(Player.Process(video.source.hdr.type),Sdr) + String.Contains(Player.Process(amlogic.vs10.mode),dolby vision">-> Dolby Vision</value>
<value condition="String.Contains(Player.Process(video.source.hdr.type),dolby vision) + String.Contains(Player.Process(amlogic.vs10.mode),sdr">-> SDR</value>
<value/>