Linux Why won't XBMC play 5.1 audio if the source is mpeg2 (but will if it's ac3)?
#16
(2014-11-05, 08:54)fritsch Wrote: Can you get me: pactl list sinks please?

Code:
$ pactl list sinks
Sink #0
    State: SUSPENDED
    Name: alsa_output.pci-0000_00_08.0.iec958-stereo
    Description: Built-in Audio Digital Stereo (IEC958)
    Driver: module-alsa-card.c
    Sample Specification: s16le 2ch 44100Hz
    Channel Map: front-left,front-right
    Owner Module: 4
    Mute: no
    Volume: 0: 100% 1: 100%
            0: 0.00 dB 1: 0.00 dB
            balance 0.00
    Base Volume: 100%
                 0.00 dB
    Monitor Source: alsa_output.pci-0000_00_08.0.iec958-stereo.monitor
    Latency: 0 usec, configured 0 usec
    Flags: HARDWARE HW_MUTE_CTRL DECIBEL_VOLUME LATENCY SET_FORMATS
    Properties:
        alsa.resolution_bits = "16"
        device.api = "alsa"
        device.class = "sound"
        alsa.class = "generic"
        alsa.subclass = "generic-mix"
        alsa.name = "ALC662 rev1 Digital"
        alsa.id = "ALC662 rev1 Digital"
        alsa.subdevice = "0"
        alsa.subdevice_name = "subdevice #0"
        alsa.device = "1"
        alsa.card = "0"
        alsa.card_name = "HDA NVidia"
        alsa.long_card_name = "HDA NVidia at 0xfae78000 irq 22"
        alsa.driver_name = "snd_hda_intel"
        device.bus_path = "pci-0000:00:08.0"
        sysfs.path = "/devices/pci0000:00/0000:00:08.0/sound/card0"
        device.bus = "pci"
        device.vendor.id = "10de"
        device.vendor.name = "NVIDIA Corporation"
        device.product.name = "MCP79 High Definition Audio"
        device.form_factor = "internal"
        device.string = "iec958:0"
        device.buffering.buffer_size = "65536"
        device.buffering.fragment_size = "32768"
        device.access_mode = "mmap+timer"
        device.profile.name = "iec958-stereo"
        device.profile.description = "Digital Stereo (IEC958)"
        device.description = "Built-in Audio Digital Stereo (IEC958)"
        alsa.mixer_name = "Nvidia MCP79/7A HDMI"
        alsa.components = "HDA:10ec0662,10250222,00100101 HDA:10de0007,10de0101,00100100"
        module-udev-detect.discovered = "1"
        device.icon_name = "audio-card-pci"
    Ports:
        iec958-stereo-output: Digital Output (S/PDIF) (priority: 0)
    Active Port: iec958-stereo-output
    Formats:
        ac3-iec61937
        dts-iec61937
        pcm

Hope that helps.
Reply
#17
Oki, it's configured for doing ac3 passthrough, sstill no idea of that myth tv log.
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#18
Here is a short (10 second) video that partially shows the problem:

Dolby Pro Logic II test

Save this to a file using any of the popular downloaders that do not change the audio, such as the Firefox "UnPlug" extension. Then try playing it in XBMC/Kodi and (if you have it) the MythTV frontend.

In MythTV it plays correctly with the sound coming from the individual channels.

In XBMC the rear channel audio plays from BOTH rear speakers at equal volume, and both front speakers at reduced volume. So when it says "Left Rear" you actually hear it in the center rear position or (if you are closer to the front speakers) more or less in the center of the room. In any case the channel separation just isn't there.

If that were fixed I think it might also solve the problem I am experiencing.
Reply
#19
Not sure youtube is the best for samples as it's recoded to aac.

As I just posted to your ffmpeg user thread - maybe the master mp2 was flagged as dolby in ancillary -

http://www.etsi.org/deliver/etsi_ts/1011...11101p.pdf

Annex C.4.2.4
Reply
#20
FWIW this may or may not be the code used in MythTV that decodes the PLII stuff - it was posted by someone in the ffmpeg group but since I am not a programmer it is all less than Greek to me (at least I could run Greek through Google Translate, while this stuff is totally indecipherable as far as I am concerned):

http://github.com/MythTV/mythtv/blob/mas...cessor.cpp

If that's not at all helpful then my apologies for the useless post.
Reply
#21
For what it's worth, Helix still shows these channels as MPEG 2 2.0 rather than 5.1.
Reply
#22
Recalling the ffmpeg thread - It could be that they are not flagged as as pro logic, or even if they are, nothing is reading the DVB extension anyway.

Myth, because it has the code and I guess due to settings like asking for 5.1, may expand 2.0 to 5.1 regardless of whether it's Dolby flagged or not.

AIUI it is OK for a pro logic decode to be used on non pro logic 2.0 - if your 2.0 really is pro logic it works even better :-)

Of course all of the above may be wrong :-)
Reply
#23
Looks as if the original file contains a stereo track on Track 1 and an MPEG2 "Surround" helper signal as the second track (I believe that's what "Intensity + MS Stereo" implies). This looks like a rare multichannel MPEG2 audio source (Multichannel MP2 was part of the European DVD specs but not the US ones - and was very rarely used I believe)

This might be relevant : http://wiki.hydrogenaud.io/index.php?title=Joint_stereo

I'm guessing you'd need to decode both tracks simultaneously and then either output as multichannel PCM or re-encode as DD/DTS 5.1 (there may be a few MP2 multichannel amps out there from the days when Europe thought t might use MP2 5.1?)

It's likely to be a VERY niche requirement though... Don't think MP2 multichannel is used for broadcast is it? Everywhere I've seen multichannel audio broadcast it has been AC3 or AAC?

Looking around MP2 multichannel audio was used on some HDV camcorders it appears, and there was some attempts to decode it here : http://mctoolame.sourceforge.net No idea if it is the same flavour of MP2 multichannel as in the OP's source.

I think this is a distinct case from ProLogic though - as ProLogic decoding only requires a stereo matrixed source not a secondary helper signal.

ProLogic decoding takes a "Dolby Stereo" encoded matrix surround stereo pair (which contains surround and Centre channels as well) and generates centre and surround channels from it using matrix, logic steering and Dolby noise reduction techniques. Confusingly it can be carried in a Dolby Digital 2.0 signal AND this can be flagged in the DD2.0 stream to automatically enable ProLogic etc. decoding, whereas if it is carried in a normal PCM2.0 stream, or a DD2.0 stream that hasn't been flagged, you would need to manually instruct whatever is decoding it - Amp or Kodi if it supported it - that the stream was suitable for ProLogic decoding. ProLogic is purely a decoding process for Dolby Stereo with matrix surround encoded, you don't encode in ProLogic. http://en.wikipedia.org/wiki/Dolby_Stere...reo_Matrix
Reply
#24
I can't claim to know the answers - I didn't even see the stream with 2 tracks, but the ones posted in the related ffmpeg thread(s) were one track pro logic.

I think that associating the terms joint/mid/side/intensity with surround is wrong, as these are just different ways that a normal stereo track may be compressed by mpeg.

I recall reading somewhere that you can "expand" normal stereo by decoding with pro logic. I was speculating that if Myth TV is set up to upmix 2.0 -> 5.0 then it may use its own pro logic code to do this whether the source is flagged or not. If the source really is pro logic then all the better.

As for not encoding in pro logic - that may be simpler than a decode - I think ffmpeg can do a Lt/Rt downmix, though I've never tried (and I don't have any kit to decode it). I also think ffmeg has a tool that displays phase/stereo separation - I can't remember what it's called. I wonder if it's possible using that to "see" the difference.
Reply

Logout Mark Read Team Forum Stats Members Help
Why won't XBMC play 5.1 audio if the source is mpeg2 (but will if it's ac3)?0