[vlc-devel] [PATCH 1/4] es: move i_profile/i_level to audio and video format structs

Thomas Guillem thomas at gllm.fr
Thu Apr 5 17:31:49 CEST 2018

On Tue, Apr 3, 2018, at 10:03, Thomas Guillem wrote:
> I would like to add a new information about DTSHD: it can be transmitted 
> at different rates depending of the DTS extensions.
> Right now, for 3.0, we assume that DTS-HD must be transmitted at 768 
> kHz. Some receiver won't accept this rate so VLC will fallback to DTS 
> core, but maybe a lower rate could have worked (like 384 kHz).
> In the DTS <=> SPDIF converter, we calculate the IEC61937 frame size 
> depending on the rate configured by the output. If the rate is the 
> highest (768 kHz), we'll be able to transmits all DTS extensions. At a 
> lower rate, some DTSHD streams may fail to be transmitted but this lower 
> rate will be likely accepted by more receivers.
> So, for 4.0, I would like to have few distinctions for DTS/DTSHD:
>  - DTS Core vs DTSHD
>  - DTS HD: iec rate, frame_length or dtshd_subtype: this can be fetch 
> from the packetizer, only one information is needed to guess everything 
> else, cf. write_buffer_dtshd() in VLC.

To get back on the subject: I still need a way to differentiate DTSHD from DTS. I don't like having a different fourcc between DTSHD and DTS since DTSHD can be played as DTS.

Furthermore, I need a way to pass the frame length (with all extensions) that can be fetched from the packetizer. With this information, I can setup the required output rate instead of always setting the maximum (and have incompatibility with some receivers).

More information about the vlc-devel mailing list