Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[vdr] Re: AC3overDVB questions



On Fri, Feb 28, 2003 at 06:38:48PM +0000, Stefan Huelswitt wrote:
> On 27 Feb 2003 "Dr. Werner Fink" <werner@suse.de> wrote:
> > On Thu, Feb 27, 2003 at 04:55:27PM +0000, Stefan Huelswitt wrote:
> >> On 27 Feb 2003 "Philippe" <philippe@accuitee.com> wrote:
> >> 
> >> > Is it possible to mute automatically the DVB analog audio when
> >> > multichannel is enabled and AC3/DTS stream is found ?
> >> > Or better, is it possible to let the DVB card downsample the AC3/DTS
> >> > audio end send it to analog (like when the multichannel is disable)
> >> > while the AC3/DTS stream is sent to the SP/DIF?
> >> 
> >> AFAIK both isn't possible.
> > 
> > Does the fimrware ignore the mute bit within the 7 bytes
> > of the lPCM sub stream header?
> 
> Where is the mute bit exactly?

Accordingly to http://mpucoder.kewlhair.com/DVD/ass-hdr.html
it seems that the lpcm header looks like:

#define aLPCM  0xA0
typedef unsigned char uint_8;

[...]

    uint8_t lpcmh[7] = {aLPCM, 0x00, 0x00, 0x04, 0x40, 0x01, 0x81};

    switch (ai.frequency) {
    case 32000: lpcmh[5] |= 0x30; break;
    case 44100: lpcmh[5] |= 0x20; break;
    default:
    case 48000: lpcmh[5] |= 0x00; break;
    }

[...]

In other word: bit number 6 of lpcmh[4] is high.

Also the number of frames needed to wrap one DD/DTS frame could
be counted in lpcmh[1], whereas `(lpcmh[2]<<8)|lpcmh[3] + 3' is
the offset to the first data byte after lpcmh[6].

Btw: the bytes given in http://mpucoder.kewlhair.com/DVD/ass-hdr.html
are numbered after the sub id aLPCM starting with 0, whereas I do
start with the sub id aLPCM in byte 0.

> 
> Another solution could be to turn down the volume. AFAIK the
> spdif out is not affected by the volumen control.

Yep, good idea. This should work.


       Werner


-- 
Info:
To unsubscribe send a mail to listar@linuxtv.org with "unsubscribe vdr" as subject.



Home | Main Index | Thread Index