quietvoid / dovi_tool

dovi_tool is a CLI tool combining multiple utilities for working with Dolby Vision.
MIT License
578 stars 57 forks source link

Update and complete L11 metadata #251

Open quietvoid opened 9 months ago

quietvoid commented 9 months ago

The latest patent on L11 metadata defines the block more precisely:

// byte 0
content_type           u(4)
content_sub_type       u(4)

// byte 1
white_point            u(4)
reference_mode_flag    u(1)
reserved               u(3)

// byte 2
sharpness              u(2)
noise_reduction        u(2)
mpeg_noise_reduction   u(2)
frame_rate_conversion  u(2)

// byte 3
brightness             u(2)
color                  u(2)
reserved1              u(2)
reserved2              u(2)

However I'm not sure that the existing implementations actually behave correctly according to these changes.

For example, increasing the intended whitepoint never becomes warmer, always colder. While it's specified that 0 is default (no changes) and 4 is now D65.

saindriches commented 9 months ago

Current byte 0 and byte 1 implementations should be correct. The byte 2 is called Content adjustment in latest verifier. Some Android devices supporting Dolby Vision recording set this byte to 8, however we don't know the meaning of it in actual implementations. The byte 3 should be still reserved.

quietvoid commented 9 months ago

Right. Both content type and white point don't match the new patent in the verifier.

The Content adjustment summary isn't really useful. Not sure it's worth doing anything before some devices actually recognize byte 2.