[vlc-devel] [PATCH 0/9] Handle (AC-3 core + EAC3 Ext) -> AC3 fallback

Thomas Guillem thomas at gllm.fr
Thu Oct 3 16:33:50 CEST 2019


cf. my gitlab branch here: https://code.videolan.org/tguillem/vlc/tree/eac3-fix/2

The EAC3 codec can be packetized in two different ways. Bluray Discs use an
AC-3 Core + an EAC3 Extension whereas the broadcast world use indivisible EAC3

VLC 3.0 (and 4.0) handle both case, but the fallback from EAC3 to AC3 was never
handled in case of AC-3 Core + EAC3 Extension. This is the main goal of this
patch set.

The extended attribute was added to the audio_format_t structure to differente
the A52 from A52+EAC3 Ext. I used this same attribute to remove the old VLC 3.0
"dtshd" hack.

If accepted, I will handle the EAC3->AC3 fallback on all remaining aouts.


Thomas Guillem (9):
  audio_format: add extended attribute
  es_format: also check extended difference
  aout: replace "dtshd" var hack with fmt->extended
  tospidf: handle fmt->extended
  tospdif: A52: fix buffer size check
  packetizer: detect AC-3 core + EAC3 extension
  pulse: use an intermediate fmt variable
  pulse: handle AC-3 core + EAC3 ext
  demux: mp4: trigger the packetizer for some AC3 tracks

 include/vlc_es.h                         |   5 ++
 modules/audio_filter/converter/tospdif.c |  17 ++--
 modules/audio_output/audiotrack.c        |  10 +--
 modules/audio_output/mmdevice.c          |   2 +-
 modules/audio_output/pulse.c             | 101 ++++++++++++++---------
 modules/audio_output/wasapi.c            |   4 +-
 modules/demux/mp4/essetup.c              |  16 ++++
 modules/packetizer/a52.c                 |   4 +
 src/input/decoder.c                      |   4 +-
 src/misc/es_format.c                     |   3 +-
 10 files changed, 108 insertions(+), 58 deletions(-)


More information about the vlc-devel mailing list