* How to put 16bit none audio PCM data stream into a 32bit none audio S/P-DIF transport stream?
@ 2003-04-08 14:02 Gregoire Favre
2003-04-08 14:28 ` Paul Davis
0 siblings, 1 reply; 36+ messages in thread
From: Gregoire Favre @ 2003-04-08 14:02 UTC (permalink / raw)
To: alsa-devel
Hello,
I have an AC3 receiver which uses the bit flags of the S/P-DIF transport
stream for identifying none audio, and I use the cs46xx driver for my
Hercules Digifire 7.1 (under windows, using the included DVD player I
could have a real 5.1).
Under linux using ALSA, all I get is a cliking sound... does anyone know
how I could solve this (without changing my hardware of course)?
I have looked at the source, but it's far too complicated for me...
Thank you very much,
Grégoire
________________________________________________________________
http://ulima.unil.ch/greg ICQ:16624071 mailto:greg@ulima.unil.ch
-------------------------------------------------------
This SF.net email is sponsored by: ValueWeb:
Dedicated Hosting for just $79/mo with 500 GB of bandwidth!
No other company gives more support or power for your dedicated server
http://click.atdmt.com/AFF/go/sdnxxaff00300020aff/direct/01/
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: How to put 16bit none audio PCM data stream into a 32bit none audio S/P-DIF transport stream?
2003-04-08 14:02 How to put 16bit none audio PCM data stream into a 32bit none audio S/P-DIF transport stream? Gregoire Favre
@ 2003-04-08 14:28 ` Paul Davis
2003-04-08 15:50 ` Takashi Iwai
0 siblings, 1 reply; 36+ messages in thread
From: Paul Davis @ 2003-04-08 14:28 UTC (permalink / raw)
To: Gregoire Favre; +Cc: alsa-devel
>I have an AC3 receiver which uses the bit flags of the S/P-DIF transport
>stream for identifying none audio, and I use the cs46xx driver for my
>Hercules Digifire 7.1 (under windows, using the included DVD player I
>could have a real 5.1).
>
>Under linux using ALSA, all I get is a cliking sound... does anyone know
>how I could solve this (without changing my hardware of course)?
>
>I have looked at the source, but it's far too complicated for me...
define a new plughw PCM device in ~/.asoundrc, and use
that. unfortunately, i don't know how to do that, i just know that you
can do it.
--p
-------------------------------------------------------
This SF.net email is sponsored by: ValueWeb:
Dedicated Hosting for just $79/mo with 500 GB of bandwidth!
No other company gives more support or power for your dedicated server
http://click.atdmt.com/AFF/go/sdnxxaff00300020aff/direct/01/
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: How to put 16bit none audio PCM data stream into a 32bit none audio S/P-DIF transport stream?
2003-04-08 14:28 ` Paul Davis
@ 2003-04-08 15:50 ` Takashi Iwai
2003-04-08 16:42 ` Gregoire Favre
2003-04-08 21:39 ` Benny Sjostrand
0 siblings, 2 replies; 36+ messages in thread
From: Takashi Iwai @ 2003-04-08 15:50 UTC (permalink / raw)
To: Paul Davis; +Cc: Gregoire Favre, alsa-devel
At Tue, 08 Apr 2003 10:28:09 -0400,
Paul Davis wrote:
>
> >I have an AC3 receiver which uses the bit flags of the S/P-DIF transport
> >stream for identifying none audio, and I use the cs46xx driver for my
> >Hercules Digifire 7.1 (under windows, using the included DVD player I
> >could have a real 5.1).
> >
> >Under linux using ALSA, all I get is a cliking sound... does anyone know
> >how I could solve this (without changing my hardware of course)?
> >
> >I have looked at the source, but it's far too complicated for me...
>
> define a new plughw PCM device in ~/.asoundrc, and use
> that. unfortunately, i don't know how to do that, i just know that you
> can do it.
i'm afraid that it's not so easy as it sounds. it strongly depends
on the hardware driver implementation...
about AC3, 32bit spdif is likely irrelevant. A52 (AC3) is usally
packed into normal 16bit frames.
does the click happen even if you use alsa-tool's ac3dec?
Takashi
-------------------------------------------------------
This SF.net email is sponsored by: ValueWeb:
Dedicated Hosting for just $79/mo with 500 GB of bandwidth!
No other company gives more support or power for your dedicated server
http://click.atdmt.com/AFF/go/sdnxxaff00300020aff/direct/01/
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: How to put 16bit none audio PCM data stream into a 32bit none audio S/P-DIF transport stream?
2003-04-08 15:50 ` Takashi Iwai
@ 2003-04-08 16:42 ` Gregoire Favre
2003-04-08 20:30 ` James Courtier-Dutton
2003-04-08 21:39 ` Benny Sjostrand
1 sibling, 1 reply; 36+ messages in thread
From: Gregoire Favre @ 2003-04-08 16:42 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel
On Tue, Apr 08, 2003 at 05:50:48PM +0200, Takashi Iwai wrote:
> i'm afraid that it's not so easy as it sounds. it strongly depends
> on the hardware driver implementation...
>
> about AC3, 32bit spdif is likely irrelevant. A52 (AC3) is usally
> packed into normal 16bit frames.
>
> does the click happen even if you use alsa-tool's ac3dec?
Yes and no:
./ac3dec -C /data/linux/dvb/from_beyond_the_edge_44k_256kbps.ac3 don't
produce any sound at all now... except ONE big click at the beginning,
same with -P and
./ac3dec -R /data/linux/dvb/from_beyond_the_edge_44k_256kbps.ac3
5.1 Mode 44.1 KHz 256 kbps Complete Main Audio Service
Using PCM device 'iec958:AES0=0x0,AES1=0x82,AES2=0x0,AES3=0x2'
Produces also the same big click and then plays quiete good (only 2.0 no
dolby digital is sent to the receiver...).
Thank you very much,
Grégoire
________________________________________________________________
http://ulima.unil.ch/greg ICQ:16624071 mailto:greg@ulima.unil.ch
-------------------------------------------------------
This SF.net email is sponsored by: ValueWeb:
Dedicated Hosting for just $79/mo with 500 GB of bandwidth!
No other company gives more support or power for your dedicated server
http://click.atdmt.com/AFF/go/sdnxxaff00300020aff/direct/01/
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: How to put 16bit none audio PCM data stream into a 32bit none audio S/P-DIF transport stream?
2003-04-08 16:42 ` Gregoire Favre
@ 2003-04-08 20:30 ` James Courtier-Dutton
2003-04-08 20:44 ` Gregoire Favre
2003-04-09 10:34 ` James Courtier-Dutton
0 siblings, 2 replies; 36+ messages in thread
From: James Courtier-Dutton @ 2003-04-08 20:30 UTC (permalink / raw)
To: Gregoire Favre; +Cc: Takashi Iwai, alsa-devel
Gregoire Favre wrote:
>On Tue, Apr 08, 2003 at 05:50:48PM +0200, Takashi Iwai wrote:
>
>
>
>>i'm afraid that it's not so easy as it sounds. it strongly depends
>>on the hardware driver implementation...
>>
>>about AC3, 32bit spdif is likely irrelevant. A52 (AC3) is usally
>>packed into normal 16bit frames.
>>
>>does the click happen even if you use alsa-tool's ac3dec?
>>
>>
>
>Yes and no:
>
>./ac3dec -C /data/linux/dvb/from_beyond_the_edge_44k_256kbps.ac3 don't
>produce any sound at all now... except ONE big click at the beginning,
>same with -P and
>./ac3dec -R /data/linux/dvb/from_beyond_the_edge_44k_256kbps.ac3
>5.1 Mode 44.1 KHz 256 kbps Complete Main Audio Service
>Using PCM device 'iec958:AES0=0x0,AES1=0x82,AES2=0x0,AES3=0x2'
>
>Produces also the same big click and then plays quiete good (only 2.0 no
>dolby digital is sent to the receiver...).
>
>Thank you very much,
>
> Gr?goire
>________________________________________________________________
>http://ulima.unil.ch/greg ICQ:16624071 mailto:greg@ulima.unil.ch
>
>
>
On my SB Live, with AC3 I use: -
PCM device "iec958:AES0=0x6,AES1=0x82,AES2=0x0,AES3=0x2"
On your example AES0=0x0, whereas I have AES0=0x6.
It is AES0 which sets the non-audio bits in the SPDIF.
Cheers
James
-------------------------------------------------------
This SF.net email is sponsored by: ValueWeb:
Dedicated Hosting for just $79/mo with 500 GB of bandwidth!
No other company gives more support or power for your dedicated server
http://click.atdmt.com/AFF/go/sdnxxaff00300020aff/direct/01/
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: How to put 16bit none audio PCM data stream into a 32bit none audio S/P-DIF transport stream?
2003-04-08 20:30 ` James Courtier-Dutton
@ 2003-04-08 20:44 ` Gregoire Favre
2003-04-09 10:34 ` James Courtier-Dutton
1 sibling, 0 replies; 36+ messages in thread
From: Gregoire Favre @ 2003-04-08 20:44 UTC (permalink / raw)
To: James Courtier-Dutton; +Cc: Takashi Iwai, alsa-devel
On Tue, Apr 08, 2003 at 09:30:31PM +0100, James Courtier-Dutton wrote:
> On my SB Live, with AC3 I use: -
> PCM device "iec958:AES0=0x6,AES1=0x82,AES2=0x0,AES3=0x2"
>
> On your example AES0=0x0, whereas I have AES0=0x6.
> It is AES0 which sets the non-audio bits in the SPDIF.
Exactly, it's what I also got with other option to obtain ac3...
I have tested lots of option (and other users also have, as reported to
this list) and with ac3 receivershich uses the bit flags of the S/P-DIF
transport stream for identifying none audio loose :-(
Of course I only speak for cs46xx.
Either no sound, or only cliking sound...
Thank you very much,
Grégoire
________________________________________________________________
http://ulima.unil.ch/greg ICQ:16624071 mailto:greg@ulima.unil.ch
-------------------------------------------------------
This SF.net email is sponsored by: ValueWeb:
Dedicated Hosting for just $79/mo with 500 GB of bandwidth!
No other company gives more support or power for your dedicated server
http://click.atdmt.com/AFF/go/sdnxxaff00300020aff/direct/01/
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: How to put 16bit none audio PCM data stream into a 32bit none audio S/P-DIF transport stream?
2003-04-08 21:39 ` Benny Sjostrand
@ 2003-04-08 20:55 ` Gregoire Favre
2003-04-08 21:28 ` James Courtier-Dutton
0 siblings, 1 reply; 36+ messages in thread
From: Gregoire Favre @ 2003-04-08 20:55 UTC (permalink / raw)
To: Benny Sjostrand; +Cc: Takashi Iwai, Paul Davis, alsa-devel, werner
On Tue, Apr 08, 2003 at 11:39:31PM +0200, Benny Sjostrand wrote:
> Exaclty what do you mean with 32bit spdif ? Sorry, I feel a little bit
> newbie about
> the SPDIF protocol specific details.
Well,
I have just copied an expert, Dr. Werner Fink, as he spoke in the
vdr@linuxtv.org mailing list about a problem with AC3overDVB:
"As long as the hardware on the DVB cards are not able to put
the 16bit none audio PCM data stream into a 32bit none audio
S/P-DIF transport stream all receivers which uses the bit flags
of the S/P-DIF transport stream for identifying none audio
loose. All S/P-DIF data get from the DVB card to not have the
none audio bit set. AFAIK this is a hardware bug (or better
this is the information I've got from TT) ..."
So I guessed if we are some for which the CS46xx driver don't work with
our receivers with the same sympton (here from the readme of AC3overDVB:
"If your receiver doesn't detect the encapsulated stream (at the
beginning of replay in general) you will hear the digital data played as
PCM data. It's a spiky noise. Don't turn up the volume too much, or the
speakers may be damaged. You have been warned!").
> From the cs46xx driver point of view, 48khz 16bit audio or AC3
> (non-audio) is the
> same thing, 16bit left, 16bit right.
> I think the cs46xx HW supports 20 bits resolution, but that's not
> implemented
> in the DSP firmware, therefor not supported by the driver (only 16bit
> stereo).
Well, I can't speake from the driver point of view, but with the
hardware it is working, at least under windows...
Maybe Dr. Werner Fink could clarify the situation?
Thank you very much,
Grégoire
________________________________________________________________
http://ulima.unil.ch/greg ICQ:16624071 mailto:greg@ulima.unil.ch
-------------------------------------------------------
This SF.net email is sponsored by: ValueWeb:
Dedicated Hosting for just $79/mo with 500 GB of bandwidth!
No other company gives more support or power for your dedicated server
http://click.atdmt.com/AFF/go/sdnxxaff00300020aff/direct/01/
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: How to put 16bit none audio PCM data stream into a 32bit none audio S/P-DIF transport stream?
2003-04-08 20:55 ` Gregoire Favre
@ 2003-04-08 21:28 ` James Courtier-Dutton
2003-04-08 21:55 ` Gregoire Favre
2003-04-09 6:59 ` Benny Sjostrand
0 siblings, 2 replies; 36+ messages in thread
From: James Courtier-Dutton @ 2003-04-08 21:28 UTC (permalink / raw)
To: alsa-devel
Gregoire Favre wrote:
>On Tue, Apr 08, 2003 at 11:39:31PM +0200, Benny Sjostrand wrote:
>
>
>
>>Exaclty what do you mean with 32bit spdif ? Sorry, I feel a little bit
>>newbie about
>>the SPDIF protocol specific details.
>>
>>
>
>Well,
>
>I have just copied an expert, Dr. Werner Fink, as he spoke in the
>vdr@linuxtv.org mailing list about a problem with AC3overDVB:
>
>"As long as the hardware on the DVB cards are not able to put
>the 16bit none audio PCM data stream into a 32bit none audio
>S/P-DIF transport stream all receivers which uses the bit flags
>of the S/P-DIF transport stream for identifying none audio
>loose. All S/P-DIF data get from the DVB card to not have the
>none audio bit set. AFAIK this is a hardware bug (or better
>this is the information I've got from TT) ..."
>
>So I guessed if we are some for which the CS46xx driver don't work with
>our receivers with the same sympton (here from the readme of AC3overDVB:
>"If your receiver doesn't detect the encapsulated stream (at the
>beginning of replay in general) you will hear the digital data played as
>PCM data. It's a spiky noise. Don't turn up the volume too much, or the
>speakers may be damaged. You have been warned!").
>
>
>
Maybe I can try to clarify things a bit.
SPDIF uses 32bits to carry info bits and the audio data. This 32bits is
called a frame.
The audio data can be anything up to 24 bits, and then the rest are the
info bits (Like Copy-Protect, Non-audio etc.) .
Most computer audio cards hold the info bits in a single register and
automatically fill in each frame's info bits using the contents of the
register.
This leaves the other audio data to be filled by the PCM stream.
Most audio cards only support 16 bits, and very few support 24 bits, and
virtually none support access to all 32 bits.
So, "iec958:AES0=0x6,AES1=0x82,AES2=0x0,AES3=0x2" sets the info bits
register, with the audio data coming from the PCM.
For AC3 non-audio spdif, it uses only 16 bits, so we have no problem.
The real problem with AC3 via SPDIF on computer sound cards is the
sample rate.
A lot of audio cards can only do SPDIF non-audio data at 48khz.
Your sample is requesting 44.1khz which could be the problem.
I do not know if your audio card support 44.1khz non-audio spdif. My SB
Live definitely does not. My SB Live can output standard PCM data at
different SPDIF rates, but it does re-sampling in hardware. If I wish to
bypass the re-sampling hardware (bypass needed otherwise the non-audio
data gets mangled) in my SB Live I have to use 48khz.
A good source of 48 khz non-audio AC3 sound is playing DVDs.
I know xine handles SPDIF passthru of AC3 soundtracks on DVDs quite easily.
At least this will test if the problem is 48/44.1 khz or something else.
Cheers
James
-------------------------------------------------------
This SF.net email is sponsored by: ValueWeb:
Dedicated Hosting for just $79/mo with 500 GB of bandwidth!
No other company gives more support or power for your dedicated server
http://click.atdmt.com/AFF/go/sdnxxaff00300020aff/direct/01/
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: How to put 16bit none audio PCM data stream into a 32bit none audio S/P-DIF transport stream?
2003-04-08 15:50 ` Takashi Iwai
2003-04-08 16:42 ` Gregoire Favre
@ 2003-04-08 21:39 ` Benny Sjostrand
2003-04-08 20:55 ` Gregoire Favre
1 sibling, 1 reply; 36+ messages in thread
From: Benny Sjostrand @ 2003-04-08 21:39 UTC (permalink / raw)
To: Takashi Iwai; +Cc: Paul Davis, Gregoire Favre, alsa-devel
>
>
>i'm afraid that it's not so easy as it sounds. it strongly depends
>on the hardware driver implementation...
>
>about AC3, 32bit spdif is likely irrelevant. A52 (AC3) is usally
>packed into normal 16bit frames.
>
>does the click happen even if you use alsa-tool's ac3dec?
>
>
Exaclty what do you mean with 32bit spdif ? Sorry, I feel a little bit
newbie about
the SPDIF protocol specific details.
From the cs46xx driver point of view, 48khz 16bit audio or AC3
(non-audio) is the
same thing, 16bit left, 16bit right.
I think the cs46xx HW supports 20 bits resolution, but that's not
implemented
in the DSP firmware, therefor not supported by the driver (only 16bit
stereo).
/Benny
-------------------------------------------------------
This SF.net email is sponsored by: ValueWeb:
Dedicated Hosting for just $79/mo with 500 GB of bandwidth!
No other company gives more support or power for your dedicated server
http://click.atdmt.com/AFF/go/sdnxxaff00300020aff/direct/01/
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: How to put 16bit none audio PCM data stream into a 32bit none audio S/P-DIF transport stream?
2003-04-08 21:28 ` James Courtier-Dutton
@ 2003-04-08 21:55 ` Gregoire Favre
2003-04-09 6:59 ` Benny Sjostrand
1 sibling, 0 replies; 36+ messages in thread
From: Gregoire Favre @ 2003-04-08 21:55 UTC (permalink / raw)
To: alsa-devel
On Tue, Apr 08, 2003 at 10:28:22PM +0100, James Courtier-Dutton wrote:
> I know xine handles SPDIF passthru of AC3 soundtracks on DVDs quite easily.
> At least this will test if the problem is 48/44.1 khz or something else.
With xine, all I can manage is 2.0 just like with ac3dec, ac3play. Or
clicking sound...
Grégoire
________________________________________________________________
http://ulima.unil.ch/greg ICQ:16624071 mailto:greg@ulima.unil.ch
-------------------------------------------------------
This SF.net email is sponsored by: ValueWeb:
Dedicated Hosting for just $79/mo with 500 GB of bandwidth!
No other company gives more support or power for your dedicated server
http://click.atdmt.com/AFF/go/sdnxxaff00300020aff/direct/01/
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: How to put 16bit none audio PCM data stream into a 32bit none audio S/P-DIF transport stream?
@ 2003-04-08 23:33 Peter Heatwole
0 siblings, 0 replies; 36+ messages in thread
From: Peter Heatwole @ 2003-04-08 23:33 UTC (permalink / raw)
To: alsa-devel, Gregoire Favre
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=US-ASCII, Size: 765 bytes --]
Grégoire Favre wrote:
> With xine, all I can manage is 2.0 just like with ac3dec, ac3play. Or
> clicking sound...
I have the same problem. Just FYI, I'm using a Turtle Beach Santa Cruz with
Cambridge Soundworks DTT2500 Digital speakers through the Coaxial IEC958
interface.
Unfortunately I do not have access to other speakers, so I can't test whether
the receiver is at fault.
-- Peter Heatwole
"Murphy was just a well known pessimist."
-------------------------------------------------------
This SF.net email is sponsored by: ValueWeb:
Dedicated Hosting for just $79/mo with 500 GB of bandwidth!
No other company gives more support or power for your dedicated server
http://click.atdmt.com/AFF/go/sdnxxaff00300020aff/direct/01/
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: How to put 16bit none audio PCM data stream into a 32bit none audio S/P-DIF transport stream?
2003-04-08 21:28 ` James Courtier-Dutton
2003-04-08 21:55 ` Gregoire Favre
@ 2003-04-09 6:59 ` Benny Sjostrand
2003-04-09 8:28 ` Gregoire Favre
1 sibling, 1 reply; 36+ messages in thread
From: Benny Sjostrand @ 2003-04-09 6:59 UTC (permalink / raw)
To: James Courtier-Dutton; +Cc: alsa-devel
> A lot of audio cards can only do SPDIF non-audio data at 48khz.
> Your sample is requesting 44.1khz which could be the problem.
> I do not know if your audio card support 44.1khz non-audio spdif. My
> SB Live definitely does not. My SB Live can output standard PCM data
> at different SPDIF rates, but it does re-sampling in hardware. If I
> wish to bypass the re-sampling hardware (bypass needed otherwise the
> non-audio data gets mangled) in my SB Live I have to use 48khz.
non-audio SPDIF on 44.1 khz with the cs46xx driver will definitely not
work.
Theoretically SPDIF HW supports 32khz 48khz and 96khz (not 44.1khz) but
32 khz and 96khz rates are not supported by the driver.
So, the SPDIF output is always 48khz, any other rate the DSP will do a
sample rate conversion to 48 khz, which is fine while it's audio (PCM)
So, outputing sound with 48khz 16bit the DSP wont do any kind of
procesing to the samples, which is the only case where pass-through can
work.
>
> A good source of 48 khz non-audio AC3 sound is playing DVDs.
> I know xine handles SPDIF passthru of AC3 soundtracks on DVDs quite
> easily.
> At least this will test if the problem is 48/44.1 khz or something else.
All tests I've done with xine it always output the AC3 data on 48khz,
which should work fine.
/Benny
-------------------------------------------------------
This SF.net email is sponsored by: ValueWeb:
Dedicated Hosting for just $79/mo with 500 GB of bandwidth!
No other company gives more support or power for your dedicated server
http://click.atdmt.com/AFF/go/sdnxxaff00300020aff/direct/01/
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: How to put 16bit none audio PCM data stream into a 32bit none audio S/P-DIF transport stream?
2003-04-09 6:59 ` Benny Sjostrand
@ 2003-04-09 8:28 ` Gregoire Favre
2003-04-09 11:09 ` Takashi Iwai
2003-04-09 21:17 ` Benny Sjostrand
0 siblings, 2 replies; 36+ messages in thread
From: Gregoire Favre @ 2003-04-09 8:28 UTC (permalink / raw)
To: Benny Sjostrand; +Cc: James Courtier-Dutton, alsa-devel
On Wed, Apr 09, 2003 at 08:59:22AM +0200, Benny Sjostrand wrote:
> All tests I've done with xine it always output the AC3 data on 48khz,
> which should work fine.
Well, maybe with your receiver you are lucky... we have seen those days
in this ml quiete a few people for which it doesn't work with there
receivers.
And as for me it works under windows, I think there is a problem in the
software.
Grégoire
________________________________________________________________
http://ulima.unil.ch/greg ICQ:16624071 mailto:greg@ulima.unil.ch
-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: How to put 16bit none audio PCM data stream into a 32bit none audio S/P-DIF transport stream?
2003-04-08 20:30 ` James Courtier-Dutton
2003-04-08 20:44 ` Gregoire Favre
@ 2003-04-09 10:34 ` James Courtier-Dutton
2003-04-09 11:06 ` Gregoire Favre
1 sibling, 1 reply; 36+ messages in thread
From: James Courtier-Dutton @ 2003-04-09 10:34 UTC (permalink / raw)
To: James Courtier-Dutton; +Cc: Gregoire Favre, alsa-devel
James Courtier-Dutton wrote:
> Gregoire Favre wrote:
>
>> On Tue, Apr 08, 2003 at 05:50:48PM +0200, Takashi Iwai wrote:
>>
>>
>>
>>> i'm afraid that it's not so easy as it sounds. it strongly depends
>>> on the hardware driver implementation...
>>>
>>> about AC3, 32bit spdif is likely irrelevant. A52 (AC3) is usally
>>> packed into normal 16bit frames.
>>>
>>> does the click happen even if you use alsa-tool's ac3dec?
>>>
>>
>>
>> Yes and no:
>>
>> ./ac3dec -C /data/linux/dvb/from_beyond_the_edge_44k_256kbps.ac3 don't
>> produce any sound at all now... except ONE big click at the beginning,
>> same with -P and
>> ./ac3dec -R /data/linux/dvb/from_beyond_the_edge_44k_256kbps.ac3
>> 5.1 Mode 44.1 KHz 256 kbps Complete Main Audio Service
>> Using PCM device 'iec958:AES0=0x0,AES1=0x82,AES2=0x0,AES3=0x2'
>>
>> Produces also the same big click and then plays quiete good (only 2.0 no
>> dolby digital is sent to the receiver...).
>>
>> Thank you very much,
>>
>> Gr?goire
>> ________________________________________________________________
>> http://ulima.unil.ch/greg ICQ:16624071 mailto:greg@ulima.unil.ch
>
Can you send me a URL so that I can download
"from_beyond_the_edge_44k_256kbps.ac3" and test it on my system.
My external AC3 decoder requires the info bits to be set to "non-audio"
just like yours.
I might be able to get it working if I have a sample stream.
I have been wanting to get 44.1khz AC3 working for a long time, but have
never had a stream to play with.
I understand that you can get some enharnaced CDs now which have
non-audio AC3 data on them instead of PCM, and I would like to be able
to play these in linux.
Cheers
James
-------------------------------------------------------
This SF.net email is sponsored by: Etnus, makers of TotalView, The debugger
for complex code. Debugging C/C++ programs can leave you feeling lost and
disoriented. TotalView can help you find your way. Available on major UNIX
and Linux platforms. Try it free. www.etnus.com
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: How to put 16bit none audio PCM data stream into a 32bit none audio S/P-DIF transport stream?
2003-04-09 10:34 ` James Courtier-Dutton
@ 2003-04-09 11:06 ` Gregoire Favre
2003-04-09 16:50 ` James Courtier-Dutton
0 siblings, 1 reply; 36+ messages in thread
From: Gregoire Favre @ 2003-04-09 11:06 UTC (permalink / raw)
To: James Courtier-Dutton; +Cc: alsa-devel
On Wed, Apr 09, 2003 at 11:34:52AM +0100, James Courtier-Dutton wrote:
> Can you send me a URL so that I can download
> "from_beyond_the_edge_44k_256kbps.ac3" and test it on my system.
Sure: it's from http://www.diatonis.com/downloads.html
I don't know whether it's still there or not, if not, I could send it to
you without problem ;-)
> My external AC3 decoder requires the info bits to be set to "non-audio"
> just like yours.
> I might be able to get it working if I have a sample stream.
To be honnest, I have no interest in beeing able to hear such "songs":
all I want is to hear 5.1 DVD and 5.1 TV channels...
Grégoire
________________________________________________________________
http://ulima.unil.ch/greg ICQ:16624071 mailto:greg@ulima.unil.ch
-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: How to put 16bit none audio PCM data stream into a 32bit none audio S/P-DIF transport stream?
2003-04-09 8:28 ` Gregoire Favre
@ 2003-04-09 11:09 ` Takashi Iwai
2003-04-09 11:43 ` Gregoire Favre
2003-04-09 21:17 ` Benny Sjostrand
1 sibling, 1 reply; 36+ messages in thread
From: Takashi Iwai @ 2003-04-09 11:09 UTC (permalink / raw)
To: Gregoire Favre; +Cc: Benny Sjostrand, James Courtier-Dutton, alsa-devel
At Wed, 9 Apr 2003 10:28:15 +0200,
Gregoire Favre wrote:
>
> On Wed, Apr 09, 2003 at 08:59:22AM +0200, Benny Sjostrand wrote:
>
> > All tests I've done with xine it always output the AC3 data on 48khz,
> > which should work fine.
>
> Well, maybe with your receiver you are lucky... we have seen those days
> in this ml quiete a few people for which it doesn't work with there
> receivers.
i can hear ac3 5.1 output over spdif with a terratec xfire 1024
without problems. i guess it's not the choice of receiver but the
card itself. there are differences between the cards even with the
same cs46xx chip depending on the hardware implementation.
> And as for me it works under windows, I think there is a problem in the
> software.
yes it should be a driver bug.
but note that without the real (problematic) hardware, it's difficult
to check (especially if the system of developers do really work :) ...
Takashi
-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: How to put 16bit none audio PCM data stream into a 32bit none audio S/P-DIF transport stream?
2003-04-09 11:09 ` Takashi Iwai
@ 2003-04-09 11:43 ` Gregoire Favre
2003-04-09 13:11 ` Takashi Iwai
0 siblings, 1 reply; 36+ messages in thread
From: Gregoire Favre @ 2003-04-09 11:43 UTC (permalink / raw)
To: Takashi Iwai; +Cc: Benny Sjostrand, James Courtier-Dutton, alsa-devel
On Wed, Apr 09, 2003 at 01:09:12PM +0200, Takashi Iwai wrote:
> i can hear ac3 5.1 output over spdif with a terratec xfire 1024
> without problems. i guess it's not the choice of receiver but the
> card itself. there are differences between the cards even with the
> same cs46xx chip depending on the hardware implementation.
Well, I can't speak about ALSA, but for DVB card, it only works with
receivers that detect the encapsulated stream (a lots of DVB users have
tested different receivers).
So I ask if it's really not a problem with some receivers here too...
When I plug my 5.1 to my standalone DVD player, I have two choice:
* SPDIF/RAW
* SPDIF/PCM
And if I choose SPDIF/PCM it don't work, but SPDIF/RAW works perfectly.
> yes it should be a driver bug.
> but note that without the real (problematic) hardware, it's difficult
> to check (especially if the system of developers do really work :) ...
So I only have the choice to change either the card, or my receier...
Grégoire
________________________________________________________________
http://ulima.unil.ch/greg ICQ:16624071 mailto:greg@ulima.unil.ch
-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: How to put 16bit none audio PCM data stream into a 32bit none audio S/P-DIF transport stream?
2003-04-09 11:43 ` Gregoire Favre
@ 2003-04-09 13:11 ` Takashi Iwai
2003-04-09 17:58 ` Gregoire Favre
2003-04-10 11:21 ` James Courtier-Dutton
0 siblings, 2 replies; 36+ messages in thread
From: Takashi Iwai @ 2003-04-09 13:11 UTC (permalink / raw)
To: Gregoire Favre; +Cc: Benny Sjostrand, James Courtier-Dutton, alsa-devel
[-- Attachment #1: Type: text/plain, Size: 1379 bytes --]
At Wed, 9 Apr 2003 13:43:12 +0200,
Gregoire Favre wrote:
>
> On Wed, Apr 09, 2003 at 01:09:12PM +0200, Takashi Iwai wrote:
>
> > i can hear ac3 5.1 output over spdif with a terratec xfire 1024
> > without problems. i guess it's not the choice of receiver but the
> > card itself. there are differences between the cards even with the
> > same cs46xx chip depending on the hardware implementation.
>
> Well, I can't speak about ALSA, but for DVB card, it only works with
> receivers that detect the encapsulated stream (a lots of DVB users have
> tested different receivers).
> So I ask if it's really not a problem with some receivers here too...
> When I plug my 5.1 to my standalone DVD player, I have two choice:
>
> * SPDIF/RAW
> * SPDIF/PCM
>
> And if I choose SPDIF/PCM it don't work, but SPDIF/RAW works perfectly.
hmm, then your receiver needs explicitly the non-audio bit.
i guess that my receiver reads the signature bytes for each spdif
frame. i tested 44.1kHZ ac3 from diatons, and it works on mine.
> > yes it should be a driver bug.
> > but note that without the real (problematic) hardware, it's difficult
> > to check (especially if the system of developers do really work :) ...
>
> So I only have the choice to change either the card, or my receier...
before giving up: could you try the attached patch (to cvs version)?
Takashi
[-- Attachment #2: cs46xx-spdif-bits.dif --]
[-- Type: application/octet-stream, Size: 986 bytes --]
Index: alsa-kernel/pci/cs46xx/cs46xx_lib.c
===================================================================
RCS file: /suse/tiwai/cvs/alsa/alsa-kernel/pci/cs46xx/cs46xx_lib.c,v
retrieving revision 1.53
diff -u -r1.53 cs46xx_lib.c
--- alsa-kernel/pci/cs46xx/cs46xx_lib.c 2 Apr 2003 14:33:48 -0000 1.53
+++ alsa-kernel/pci/cs46xx/cs46xx_lib.c 9 Apr 2003 13:08:02 -0000
@@ -2162,12 +2162,11 @@
int change;
down (&chip->spos_mutex);
- val = _wrap_all_bits(((u32)ucontrol->value.iec958.status[0] << 24)) |
- _wrap_all_bits(((u32)ucontrol->value.iec958.status[1] << 16)) |
- _wrap_all_bits( (u32)ucontrol->value.iec958.status[3]) |
+ val = ((u32)_wrap_all_bits(ucontrol->value.iec958.status[0]) << 24) |
+ ((u32)_wrap_all_bits(ucontrol->value.iec958.status[1]) << 16) |
+ (u32)_wrap_all_bits(ucontrol->value.iec958.status[3]) |
/* left and right validity bit */
(1 << 13) | (1 << 12);
-
change = ins->spdif_csuv_stream != val;
ins->spdif_csuv_stream = val;
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: How to put 16bit none audio PCM data stream into a 32bit none audio S/P-DIF transport stream?
2003-04-09 11:06 ` Gregoire Favre
@ 2003-04-09 16:50 ` James Courtier-Dutton
2003-04-09 17:58 ` Gregoire Favre
2003-04-10 17:43 ` James Courtier-Dutton
0 siblings, 2 replies; 36+ messages in thread
From: James Courtier-Dutton @ 2003-04-09 16:50 UTC (permalink / raw)
To: Gregoire Favre; +Cc: alsa-devel
Gregoire Favre wrote:
>On Wed, Apr 09, 2003 at 11:34:52AM +0100, James Courtier-Dutton wrote:
>
>
>
>>Can you send me a URL so that I can download
>>"from_beyond_the_edge_44k_256kbps.ac3" and test it on my system.
>>
>>
>
>Sure: it's from http://www.diatonis.com/downloads.html
>I don't know whether it's still there or not, if not, I could send it to
>you without problem ;-)
>
>
>
>>My external AC3 decoder requires the info bits to be set to "non-audio"
>>just like yours.
>>I might be able to get it working if I have a sample stream.
>>
>>
>
>To be honnest, I have no interest in beeing able to hear such "songs":
>all I want is to hear 5.1 DVD and 5.1 TV channels...
>
> Gr?goire
>________________________________________________________________
>http://ulima.unil.ch/greg ICQ:16624071 mailto:greg@ulima.unil.ch
>
>
>
>
Well, I have downloaded
http://www.skwmedia.com/media/diatonis/ac3/diatonis_last_summer_rain_ac3_256kbps.zip
It says that the files available before have been removed because they
appeared to be corrupt.
My it is a corrupt file you are working with.
Cheers
James
-------------------------------------------------------
This SF.net email is sponsored by: Etnus, makers of TotalView, The debugger
for complex code. Debugging C/C++ programs can leave you feeling lost and
disoriented. TotalView can help you find your way. Available on major UNIX
and Linux platforms. Try it free. www.etnus.com
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: How to put 16bit none audio PCM data stream into a 32bit none audio S/P-DIF transport stream?
2003-04-09 13:11 ` Takashi Iwai
@ 2003-04-09 17:58 ` Gregoire Favre
2003-04-10 11:21 ` James Courtier-Dutton
1 sibling, 0 replies; 36+ messages in thread
From: Gregoire Favre @ 2003-04-09 17:58 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel
On Wed, Apr 09, 2003 at 03:11:49PM +0200, Takashi Iwai wrote:
> before giving up: could you try the attached patch (to cvs version)?
I'll test any patch with a great pleasure :-)
Unfortunately with this one, I still get clicking sounds...
Grégoire
________________________________________________________________
http://ulima.unil.ch/greg ICQ:16624071 mailto:greg@ulima.unil.ch
-------------------------------------------------------
This SF.net email is sponsored by: Etnus, makers of TotalView, The debugger
for complex code. Debugging C/C++ programs can leave you feeling lost and
disoriented. TotalView can help you find your way. Available on major UNIX
and Linux platforms. Try it free. www.etnus.com
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: How to put 16bit none audio PCM data stream into a 32bit none audio S/P-DIF transport stream?
2003-04-09 16:50 ` James Courtier-Dutton
@ 2003-04-09 17:58 ` Gregoire Favre
2003-04-10 17:43 ` James Courtier-Dutton
1 sibling, 0 replies; 36+ messages in thread
From: Gregoire Favre @ 2003-04-09 17:58 UTC (permalink / raw)
To: James Courtier-Dutton; +Cc: alsa-devel
On Wed, Apr 09, 2003 at 05:50:26PM +0100, James Courtier-Dutton wrote:
> Well, I have downloaded
> http://www.skwmedia.com/media/diatonis/ac3/diatonis_last_summer_rain_ac3_256kbps.zip
>
> It says that the files available before have been removed because they
> appeared to be corrupt.
> My it is a corrupt file you are working with.
I don't think so as I got same result with ac3 files I made from
recording from TV, and also when playing DVD...
Grégoire
________________________________________________________________
http://ulima.unil.ch/greg ICQ:16624071 mailto:greg@ulima.unil.ch
-------------------------------------------------------
This SF.net email is sponsored by: Etnus, makers of TotalView, The debugger
for complex code. Debugging C/C++ programs can leave you feeling lost and
disoriented. TotalView can help you find your way. Available on major UNIX
and Linux platforms. Try it free. www.etnus.com
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: How to put 16bit none audio PCM data stream into a 32bit none audio S/P-DIF transport stream?
2003-04-09 21:17 ` Benny Sjostrand
@ 2003-04-09 20:38 ` Gregoire Favre
0 siblings, 0 replies; 36+ messages in thread
From: Gregoire Favre @ 2003-04-09 20:38 UTC (permalink / raw)
To: Benny Sjostrand; +Cc: James Courtier-Dutton, alsa-devel
On Wed, Apr 09, 2003 at 11:17:32PM +0200, Benny Sjostrand wrote:
> What I meant, if you want to output AC3 on other sample rate's than
> 48khz it wont with the current cs46xx driver (44.1 khz AC3 wont work).
Please, ignore this 44.1 khz!!!
I really don't care being able to play those, as I have said many times,
all I would like is to play DVD in 5.1 and watch TV in 5.1 also, nothing
else ;-)
> The cs46xx driver can improved in many ways, I'm trying to the best and
> work on that. (whenever I got time)
Thank you very much for that :-)
> It does not surprise me that it works under Windows, there may be many
> feutures that works under windows, but not under Linux.
>
> Maybe the Windows driver supports AC3 with other sample rates then 48khz
> (if that's the case) or maybe there's another problem.
What is working under windows, is the DVD ac3 (I have just installed
windows to test the compatibility in hardware betweem my soundcard and
my receiver).
Grégoire
________________________________________________________________
http://ulima.unil.ch/greg ICQ:16624071 mailto:greg@ulima.unil.ch
-------------------------------------------------------
This SF.net email is sponsored by: Etnus, makers of TotalView, The debugger
for complex code. Debugging C/C++ programs can leave you feeling lost and
disoriented. TotalView can help you find your way. Available on major UNIX
and Linux platforms. Try it free. www.etnus.com
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: How to put 16bit none audio PCM data stream into a 32bit none audio S/P-DIF transport stream?
2003-04-09 8:28 ` Gregoire Favre
2003-04-09 11:09 ` Takashi Iwai
@ 2003-04-09 21:17 ` Benny Sjostrand
2003-04-09 20:38 ` Gregoire Favre
1 sibling, 1 reply; 36+ messages in thread
From: Benny Sjostrand @ 2003-04-09 21:17 UTC (permalink / raw)
To: Gregoire Favre; +Cc: James Courtier-Dutton, alsa-devel
>
>
>>All tests I've done with xine it always output the AC3 data on 48khz,
>>which should work fine.
>>
>>
>
>Well, maybe with your receiver you are lucky... we have seen those days
>in this ml quiete a few people for which it doesn't work with there
>receivers.
>And as for me it works under windows, I think there is a problem in the
>software.
>
>
What I meant, if you want to output AC3 on other sample rate's than
48khz it wont with the current cs46xx driver (44.1 khz AC3 wont work).
The cs46xx driver can improved in many ways, I'm trying to the best and
work on that. (whenever I got time)
It does not surprise me that it works under Windows, there may be many
feutures that works under windows, but not under Linux.
Maybe the Windows driver supports AC3 with other sample rates then 48khz
(if that's the case) or maybe there's another problem.
/Benny
-------------------------------------------------------
This SF.net email is sponsored by: Etnus, makers of TotalView, The debugger
for complex code. Debugging C/C++ programs can leave you feeling lost and
disoriented. TotalView can help you find your way. Available on major UNIX
and Linux platforms. Try it free. www.etnus.com
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: How to put 16bit none audio PCM data stream into a 32bit none audio S/P-DIF transport stream?
2003-04-09 13:11 ` Takashi Iwai
2003-04-09 17:58 ` Gregoire Favre
@ 2003-04-10 11:21 ` James Courtier-Dutton
2003-04-10 11:26 ` Gregoire Favre
1 sibling, 1 reply; 36+ messages in thread
From: James Courtier-Dutton @ 2003-04-10 11:21 UTC (permalink / raw)
To: Gregoire Favre; +Cc: alsa-devel
Gregoire,
You say that in windows SPDIF works fine and you get the AC3 decoded by
your external decoder.
Does the decoder have any indicators telling you whether it is an AC3 of
PCM stream ?
So, in linux, when playing a DVD in PASSTHRU mode in xine, does your
decoder think it is AC3 or PCM ?
If the decoder still thinks it is PCM, then the problem is a bug in the
alsa-driver, and not the application or sample rate.
If the decoder thinks it is AC3, then we can look at different problems,
like hardware-resamplers in the way.
Cheers
James
-------------------------------------------------------
This SF.net email is sponsored by: Etnus, makers of TotalView, The debugger
for complex code. Debugging C/C++ programs can leave you feeling lost and
disoriented. TotalView can help you find your way. Available on major UNIX
and Linux platforms. Try it free. www.etnus.com
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: How to put 16bit none audio PCM data stream into a 32bit none audio S/P-DIF transport stream?
2003-04-10 11:21 ` James Courtier-Dutton
@ 2003-04-10 11:26 ` Gregoire Favre
2003-04-13 11:41 ` Benny Sjostrand
0 siblings, 1 reply; 36+ messages in thread
From: Gregoire Favre @ 2003-04-10 11:26 UTC (permalink / raw)
To: James Courtier-Dutton; +Cc: alsa-devel
On Thu, Apr 10, 2003 at 12:21:38PM +0100, James Courtier-Dutton wrote:
Hello James and others ;-)
> You say that in windows SPDIF works fine and you get the AC3 decoded by
> your external decoder.
> Does the decoder have any indicators telling you whether it is an AC3 of
> PCM stream ?
Yes (well, I have an indicator of Dolby Digital).
> So, in linux, when playing a DVD in PASSTHRU mode in xine, does your
> decoder think it is AC3 or PCM ?
PCM...
> If the decoder still thinks it is PCM, then the problem is a bug in the
> alsa-driver, and not the application or sample rate.
I think it's something I have tried to explain here ;-)
Grégoire
________________________________________________________________
http://ulima.unil.ch/greg ICQ:16624071 mailto:greg@ulima.unil.ch
-------------------------------------------------------
This SF.net email is sponsored by: Etnus, makers of TotalView, The debugger
for complex code. Debugging C/C++ programs can leave you feeling lost and
disoriented. TotalView can help you find your way. Available on major UNIX
and Linux platforms. Try it free. www.etnus.com
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: How to put 16bit none audio PCM data stream into a 32bit none audio S/P-DIF transport stream?
2003-04-09 16:50 ` James Courtier-Dutton
2003-04-09 17:58 ` Gregoire Favre
@ 2003-04-10 17:43 ` James Courtier-Dutton
1 sibling, 0 replies; 36+ messages in thread
From: James Courtier-Dutton @ 2003-04-10 17:43 UTC (permalink / raw)
To: Gregoire Favre; +Cc: alsa-devel
James Courtier-Dutton wrote:
> Well, I have downloaded
> http://www.skwmedia.com/media/diatonis/ac3/diatonis_last_summer_rain_ac3_256kbps.zip
>
> It says that the files available before have been removed because they
> appeared to be corrupt.
> My it is a corrupt file you are working with.
>
> Cheers
> James
>
>
>
To help you. In order to play this ac3 file, unzip it and you will get a
.wav file.
Then use this command to send it to the SPDIF socket in non-audio
passthru mode for your external AC3 decoder to recognise.
aplay -D "iec958:AES0=0x6,AES1=0x82,AES2=0x0,AES3=0x2" a.wav
Where "a.wav" is the name of the .WAV file.
Cheers
James
-------------------------------------------------------
This SF.net email is sponsored by: Etnus, makers of TotalView, The debugger
for complex code. Debugging C/C++ programs can leave you feeling lost and
disoriented. TotalView can help you find your way. Available on major UNIX
and Linux platforms. Try it free. www.etnus.com
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: How to put 16bit none audio PCM data stream into a 32bit none audio S/P-DIF transport stream?
2003-04-10 11:26 ` Gregoire Favre
@ 2003-04-13 11:41 ` Benny Sjostrand
2003-04-13 17:05 ` Gregoire Favre
0 siblings, 1 reply; 36+ messages in thread
From: Benny Sjostrand @ 2003-04-13 11:41 UTC (permalink / raw)
To: Gregoire Favre; +Cc: James Courtier-Dutton, alsa-devel
[-- Attachment #1: Type: text/plain, Size: 1024 bytes --]
>
>
>Yes (well, I have an indicator of Dolby Digital).
>
>
>
>>So, in linux, when playing a DVD in PASSTHRU mode in xine, does your
>>decoder think it is AC3 or PCM ?
>>
>>
>
>PCM...
>
>
>
>>If the decoder still thinks it is PCM, then the problem is a bug in the
>>alsa-driver, and not the application or sample rate.
>>
>>
>
>I think it's something I have tried to explain here ;-)
>
>
>
Well, something must be wrong with the cs46xx driver. It's hard to know
what when it's works fine with my receiver. A explication to that could
be that my receiver ignores the IEC958 status bits and detects the AC3
from signatures on the stream.
Gregoire:
Please dont give up yet, could you test the atached patch to current CVS.
Then test out different values on the
"AES0=0x0,AES1=0x82,AES2=0x0,AES3=0x2" parameters like:
"AES0=0x2,AES1=0x0,AES2=0x82,AES3=0x0",
"AES0=0xFF,AES1=0xFF,AES2=0xFF,AES3=0xFF",
"AES0=0x00,AES1=0x00,AES2=0x00,AES3=0x00" (and any other
values that cames into your mind ... )
/Benny
[-- Attachment #2: cs46xx_spdif.patch --]
[-- Type: text/plain, Size: 5460 bytes --]
diff --exclude=CVS --exclude=Makefile -Nau alsa-kernel/pci/cs46xx/cs46xx_lib.c ../cvs/alsa-kernel/pci/cs46xx/cs46xx_lib.c
--- alsa-kernel/pci/cs46xx/cs46xx_lib.c Sat Apr 5 21:09:20 2003
+++ ../cvs/alsa-kernel/pci/cs46xx/cs46xx_lib.c Sun Apr 13 12:41:54 2003
@@ -2091,10 +2091,10 @@
dsp_spos_instance_t * ins = chip->dsp_spos_instance;
down (&chip->spos_mutex);
- ucontrol->value.iec958.status[0] = _wrap_all_bits((ins->spdif_csuv_default >> 24) & 0xff);
- ucontrol->value.iec958.status[1] = _wrap_all_bits((ins->spdif_csuv_default >> 16) & 0xff);
- ucontrol->value.iec958.status[2] = 0;
- ucontrol->value.iec958.status[3] = _wrap_all_bits((ins->spdif_csuv_default) & 0xff);
+ ucontrol->value.iec958.status[0] = ins->spdif_csuv_default & 0xff;
+ ucontrol->value.iec958.status[1] = 0;
+ ucontrol->value.iec958.status[2] = (ins->spdif_csuv_default >> 16) & 0xff;
+ ucontrol->value.iec958.status[3] = (ins->spdif_csuv_default >> 24) & 0xff;
up (&chip->spos_mutex);
return 0;
@@ -2109,9 +2109,9 @@
int change;
down (&chip->spos_mutex);
- val = _wrap_all_bits(((u32)ucontrol->value.iec958.status[0] << 24)) |
- _wrap_all_bits(((u32)ucontrol->value.iec958.status[2] << 16)) |
- _wrap_all_bits( (u32)ucontrol->value.iec958.status[3]) |
+ val = (u32)ucontrol->value.iec958.status[0] |
+ ((u32)ucontrol->value.iec958.status[2] << 16) |
+ ((u32)ucontrol->value.iec958.status[3] << 24) |
/* left and right validity bit */
(1 << 13) | (1 << 12);
@@ -2131,8 +2131,8 @@
snd_ctl_elem_value_t * ucontrol)
{
ucontrol->value.iec958.status[0] = 0xff;
- ucontrol->value.iec958.status[1] = 0xff;
- ucontrol->value.iec958.status[2] = 0x00;
+ ucontrol->value.iec958.status[1] = 0x00;
+ ucontrol->value.iec958.status[2] = 0xff;
ucontrol->value.iec958.status[3] = 0xff;
return 0;
}
@@ -2144,10 +2144,10 @@
dsp_spos_instance_t * ins = chip->dsp_spos_instance;
down (&chip->spos_mutex);
- ucontrol->value.iec958.status[0] = _wrap_all_bits((ins->spdif_csuv_stream >> 24) & 0xff);
- ucontrol->value.iec958.status[1] = _wrap_all_bits((ins->spdif_csuv_stream >> 16) & 0xff);
- ucontrol->value.iec958.status[2] = 0;
- ucontrol->value.iec958.status[3] = _wrap_all_bits((ins->spdif_csuv_stream) & 0xff);
+ ucontrol->value.iec958.status[0] = ins->spdif_csuv_stream & 0xff;
+ ucontrol->value.iec958.status[1] = 0;
+ ucontrol->value.iec958.status[2] = (ins->spdif_csuv_stream >> 16) & 0xff;
+ ucontrol->value.iec958.status[3] = (ins->spdif_csuv_stream >> 24) & 0xff;
up (&chip->spos_mutex);
return 0;
@@ -2162,9 +2162,9 @@
int change;
down (&chip->spos_mutex);
- val = _wrap_all_bits(((u32)ucontrol->value.iec958.status[0] << 24)) |
- _wrap_all_bits(((u32)ucontrol->value.iec958.status[1] << 16)) |
- _wrap_all_bits( (u32)ucontrol->value.iec958.status[3]) |
+ val = (u32)ucontrol->value.iec958.status[0] |
+ ((u32)ucontrol->value.iec958.status[2] << 16) |
+ ((u32)ucontrol->value.iec958.status[3] << 24) |
/* left and right validity bit */
(1 << 13) | (1 << 12);
@@ -2543,13 +2543,21 @@
chip->eapd_switch = snd_ctl_find_id(chip->card, &id);
#ifdef CONFIG_SND_CS46XX_NEW_DSP
+ if (chip->nr_ac97_codecs == 1 &&
+ snd_cs46xx_codec_read(chip,AC97_VENDOR_ID2,
+ CS46XX_PRIMARY_CODEC_INDEX) == 0x5d2d) {
+ /* set primary cs4294 codec into Extended Audio Mode */
+ snd_printdd("setting EAM bit on cs4294 CODEC\n");
+ snd_cs46xx_codec_write(chip,AC97_CSR_ACMODE,0x200,
+ CS46XX_PRIMARY_CODEC_INDEX);
+ }
/* do soundcard specific mixer setup */
if (chip->mixer_init) {
snd_printdd ("calling chip->mixer_init(chip);\n");
chip->mixer_init(chip);
}
#endif
-
+
/* turn on amplifier */
chip->amplifier_ctrl(chip, 1);
diff --exclude=CVS --exclude=Makefile -Nau alsa-kernel/pci/cs46xx/dsp_spos.c ../cvs/alsa-kernel/pci/cs46xx/dsp_spos.c
--- alsa-kernel/pci/cs46xx/dsp_spos.c Sat Apr 5 21:09:20 2003
+++ ../cvs/alsa-kernel/pci/cs46xx/dsp_spos.c Sun Apr 13 12:33:05 2003
@@ -265,12 +265,8 @@
/* set left and right validity bits and
default channel status */
- ins->spdif_csuv_default =
- ins->spdif_csuv_stream =
- /* byte 0 */ (_wrap_all_bits( (SNDRV_PCM_DEFAULT_CON_SPDIF & 0xff)) << 24) |
- /* byte 1 */ (_wrap_all_bits( ((SNDRV_PCM_DEFAULT_CON_SPDIF >> 16) & 0xff)) << 16) |
- /* byte 3 */ _wrap_all_bits( (SNDRV_PCM_DEFAULT_CON_SPDIF >> 24) & 0xff) |
- /* left and right validity bits */ (1 << 13) | (1 << 12);
+ ins->spdif_csuv_default = (SNDRV_PCM_DEFAULT_CON_SPDIF & 0xff00ffff) |
+ /* left and right validity bits */ (1 << 13) | (1 << 12);
return ins;
}
diff --exclude=CVS --exclude=Makefile -Nau alsa-kernel/pci/cs46xx/dsp_spos.h ../cvs/alsa-kernel/pci/cs46xx/dsp_spos.h
--- alsa-kernel/pci/cs46xx/dsp_spos.h Sat Apr 5 21:09:20 2003
+++ ../cvs/alsa-kernel/pci/cs46xx/dsp_spos.h Sun Apr 13 12:43:20 2003
@@ -186,25 +186,6 @@
#define SP_SPDOUT_CONTROL 0x804D
#define SP_SPDOUT_CSUV 0x808E
-static inline u8 _wrap_all_bits (u8 val) {
- u8 wrapped;
-
- /* wrap all 8 bits */
- wrapped =
- ((val & 0x1 ) << 7) |
- ((val & 0x2 ) << 5) |
- ((val & 0x4 ) << 3) |
- ((val & 0x8 ) << 1) |
- ((val & 0x10) >> 1) |
- ((val & 0x20) >> 3) |
- ((val & 0x40) >> 5) |
- ((val & 0x80) >> 7);
-
- return wrapped;
-
-}
-
-
static inline void cs46xx_dsp_spos_update_scb (cs46xx_t * chip,dsp_scb_descriptor_t * scb)
{
/* update nextSCB and subListPtr in SCB */
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: How to put 16bit none audio PCM data stream into a 32bit none audio S/P-DIF transport stream?
2003-04-13 11:41 ` Benny Sjostrand
@ 2003-04-13 17:05 ` Gregoire Favre
2003-04-13 18:21 ` Benny Sjostrand
0 siblings, 1 reply; 36+ messages in thread
From: Gregoire Favre @ 2003-04-13 17:05 UTC (permalink / raw)
To: Benny Sjostrand; +Cc: James Courtier-Dutton, alsa-devel
On Sun, Apr 13, 2003 at 01:41:02PM +0200, Benny Sjostrand wrote:
> Gregoire:
> Please dont give up yet, could you test the atached patch to current CVS.
> Then test out different values on the
> "AES0=0x0,AES1=0x82,AES2=0x0,AES3=0x2" parameters like:
> "AES0=0x2,AES1=0x0,AES2=0x82,AES3=0x0",
> "AES0=0xFF,AES1=0xFF,AES2=0xFF,AES3=0xFF",
> "AES0=0x00,AES1=0x00,AES2=0x00,AES3=0x00" (and any other
> values that cames into your mind ... )
Hello,
I'll test as many patches as you'll write ;-)
I have patched my CVS with your patch, then made a
./cvscompile --with-sequencer=yes --with-cards=cs46xx --with-isapnp=no
and sudo make install
And afterthat as root a /etc/init.d/alsasound restart
Then a lots of
ac3dec file.ac3 --device=iec958:AES0=0x2,AES1=0x82,AES2=0x0,AES3=0x2
5.1 Mode 44.1 KHz 256 kbps Complete Main Audio Service
Using PCM device 'iec958:AES0=0x2,AES1=0x82,AES2=0x0,AES3=0x2'
All are playing the file in 2.0 mode, and all test I have done with xine
don't work neither...
Same problem with mplayer (xine and mplayer: either no sound or just the
clicking sound).
Thank you very much,
Grégoire
________________________________________________________________
http://ulima.unil.ch/greg ICQ:16624071 mailto:greg@ulima.unil.ch
-------------------------------------------------------
This SF.net email is sponsored by: Etnus, makers of TotalView, The debugger
for complex code. Debugging C/C++ programs can leave you feeling lost and
disoriented. TotalView can help you find your way. Available on major UNIX
and Linux platforms. Try it free. www.etnus.com
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: How to put 16bit none audio PCM data stream into a 32bit none audio S/P-DIF transport stream?
2003-04-13 17:05 ` Gregoire Favre
@ 2003-04-13 18:21 ` Benny Sjostrand
2003-04-13 18:30 ` Gregoire Favre
0 siblings, 1 reply; 36+ messages in thread
From: Benny Sjostrand @ 2003-04-13 18:21 UTC (permalink / raw)
To: Gregoire Favre; +Cc: James Courtier-Dutton, alsa-devel
>
>
>I have patched my CVS with your patch, then made a
>./cvscompile --with-sequencer=yes --with-cards=cs46xx --with-isapnp=no
>and sudo make install
>
>
Could you recompile with "--with-debug=detect" and try send my some logs
while you doing your tests ?
/Benny
-------------------------------------------------------
This SF.net email is sponsored by: Etnus, makers of TotalView, The debugger
for complex code. Debugging C/C++ programs can leave you feeling lost and
disoriented. TotalView can help you find your way. Available on major UNIX
and Linux platforms. Try it free. www.etnus.com
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: How to put 16bit none audio PCM data stream into a 32bit none audio S/P-DIF transport stream?
2003-04-13 18:21 ` Benny Sjostrand
@ 2003-04-13 18:30 ` Gregoire Favre
2003-04-13 23:23 ` Benny Sjostrand
0 siblings, 1 reply; 36+ messages in thread
From: Gregoire Favre @ 2003-04-13 18:30 UTC (permalink / raw)
To: Benny Sjostrand; +Cc: James Courtier-Dutton, alsa-devel
On Sun, Apr 13, 2003 at 08:21:31PM +0200, Benny Sjostrand wrote:
> Could you recompile with "--with-debug=detect" and try send my some logs
> while you doing your tests ?
I have done it privately, if someone also want the log, just tell me ;-)
Grégoire
________________________________________________________________
http://ulima.unil.ch/greg ICQ:16624071 mailto:greg@ulima.unil.ch
-------------------------------------------------------
This SF.net email is sponsored by: Etnus, makers of TotalView, The debugger
for complex code. Debugging C/C++ programs can leave you feeling lost and
disoriented. TotalView can help you find your way. Available on major UNIX
and Linux platforms. Try it free. www.etnus.com
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: How to put 16bit none audio PCM data stream into a 32bit none audio S/P-DIF transport stream?
2003-04-13 18:30 ` Gregoire Favre
@ 2003-04-13 23:23 ` Benny Sjostrand
2003-04-14 19:06 ` Gregoire Favre
0 siblings, 1 reply; 36+ messages in thread
From: Benny Sjostrand @ 2003-04-13 23:23 UTC (permalink / raw)
To: Gregoire Favre; +Cc: James Courtier-Dutton, alsa-devel
[-- Attachment #1: Type: text/plain, Size: 376 bytes --]
>
>
>I have done it privately, if someone also want the log, just tell me ;-)
>
>
Could you repeat the tests with the attached patch applied to current
CVS. The only changes are some more debug messages.
Just to check, which version of xine ? (I'm using 0.9.18)
"Lord Of the Rings" DTS and Surround 5.1, and "Star Wars II" Surrund 5.1
works fine forme.
Thanks!
/Benny
[-- Attachment #2: cs46xx.patch --]
[-- Type: text/plain, Size: 7440 bytes --]
diff --exclude=CVS --exclude=Makefile -Nau alsa-kernel/pci/cs46xx/cs46xx_lib.c ../cvs/alsa-kernel/pci/cs46xx/cs46xx_lib.c
--- alsa-kernel/pci/cs46xx/cs46xx_lib.c Sat Apr 5 21:09:20 2003
+++ ../cvs/alsa-kernel/pci/cs46xx/cs46xx_lib.c Mon Apr 14 01:00:11 2003
@@ -2091,10 +2091,10 @@
dsp_spos_instance_t * ins = chip->dsp_spos_instance;
down (&chip->spos_mutex);
- ucontrol->value.iec958.status[0] = _wrap_all_bits((ins->spdif_csuv_default >> 24) & 0xff);
- ucontrol->value.iec958.status[1] = _wrap_all_bits((ins->spdif_csuv_default >> 16) & 0xff);
- ucontrol->value.iec958.status[2] = 0;
- ucontrol->value.iec958.status[3] = _wrap_all_bits((ins->spdif_csuv_default) & 0xff);
+ ucontrol->value.iec958.status[0] = ins->spdif_csuv_default & 0xff;
+ ucontrol->value.iec958.status[1] = 0;
+ ucontrol->value.iec958.status[2] = (ins->spdif_csuv_default >> 16) & 0xff;
+ ucontrol->value.iec958.status[3] = (ins->spdif_csuv_default >> 24) & 0xff;
up (&chip->spos_mutex);
return 0;
@@ -2109,9 +2109,9 @@
int change;
down (&chip->spos_mutex);
- val = _wrap_all_bits(((u32)ucontrol->value.iec958.status[0] << 24)) |
- _wrap_all_bits(((u32)ucontrol->value.iec958.status[2] << 16)) |
- _wrap_all_bits( (u32)ucontrol->value.iec958.status[3]) |
+ val = (u32)ucontrol->value.iec958.status[0] |
+ ((u32)ucontrol->value.iec958.status[2] << 16) |
+ ((u32)ucontrol->value.iec958.status[3] << 24) |
/* left and right validity bit */
(1 << 13) | (1 << 12);
@@ -2119,8 +2119,11 @@
change = (unsigned int)ins->spdif_csuv_default != val;
ins->spdif_csuv_default = val;
- if ( !(ins->spdif_status_out & DSP_SPDIF_STATUS_PLAYBACK_OPEN) )
+
+ if ( !(ins->spdif_status_out & DSP_SPDIF_STATUS_PLAYBACK_OPEN) ) {
+ snd_printdd ("setting SP_SPDOUT_CSUV register (%08x)\n",val);
cs46xx_poke_via_dsp (chip,SP_SPDOUT_CSUV,val);
+ }
up (&chip->spos_mutex);
@@ -2131,8 +2134,8 @@
snd_ctl_elem_value_t * ucontrol)
{
ucontrol->value.iec958.status[0] = 0xff;
- ucontrol->value.iec958.status[1] = 0xff;
- ucontrol->value.iec958.status[2] = 0x00;
+ ucontrol->value.iec958.status[1] = 0x00;
+ ucontrol->value.iec958.status[2] = 0xff;
ucontrol->value.iec958.status[3] = 0xff;
return 0;
}
@@ -2144,10 +2147,10 @@
dsp_spos_instance_t * ins = chip->dsp_spos_instance;
down (&chip->spos_mutex);
- ucontrol->value.iec958.status[0] = _wrap_all_bits((ins->spdif_csuv_stream >> 24) & 0xff);
- ucontrol->value.iec958.status[1] = _wrap_all_bits((ins->spdif_csuv_stream >> 16) & 0xff);
- ucontrol->value.iec958.status[2] = 0;
- ucontrol->value.iec958.status[3] = _wrap_all_bits((ins->spdif_csuv_stream) & 0xff);
+ ucontrol->value.iec958.status[0] = ins->spdif_csuv_stream & 0xff;
+ ucontrol->value.iec958.status[1] = 0;
+ ucontrol->value.iec958.status[2] = (ins->spdif_csuv_stream >> 16) & 0xff;
+ ucontrol->value.iec958.status[3] = (ins->spdif_csuv_stream >> 24) & 0xff;
up (&chip->spos_mutex);
return 0;
@@ -2162,9 +2165,9 @@
int change;
down (&chip->spos_mutex);
- val = _wrap_all_bits(((u32)ucontrol->value.iec958.status[0] << 24)) |
- _wrap_all_bits(((u32)ucontrol->value.iec958.status[1] << 16)) |
- _wrap_all_bits( (u32)ucontrol->value.iec958.status[3]) |
+ val = (u32)ucontrol->value.iec958.status[0] |
+ ((u32)ucontrol->value.iec958.status[2] << 16) |
+ ((u32)ucontrol->value.iec958.status[3] << 24) |
/* left and right validity bit */
(1 << 13) | (1 << 12);
@@ -2172,8 +2175,10 @@
change = ins->spdif_csuv_stream != val;
ins->spdif_csuv_stream = val;
- if ( ins->spdif_status_out & DSP_SPDIF_STATUS_PLAYBACK_OPEN )
+ if ( ins->spdif_status_out & DSP_SPDIF_STATUS_PLAYBACK_OPEN ) {
+ snd_printdd ("setting SP_SPDOUT_CSUV register (%08x)\n",val);
cs46xx_poke_via_dsp (chip,SP_SPDOUT_CSUV,val);
+ }
up (&chip->spos_mutex);
@@ -2543,13 +2548,21 @@
chip->eapd_switch = snd_ctl_find_id(chip->card, &id);
#ifdef CONFIG_SND_CS46XX_NEW_DSP
+ if (chip->nr_ac97_codecs == 1 &&
+ snd_cs46xx_codec_read(chip,AC97_VENDOR_ID2,
+ CS46XX_PRIMARY_CODEC_INDEX) == 0x5d2d) {
+ /* set primary cs4294 codec into Extended Audio Mode */
+ snd_printdd("setting EAM bit on cs4294 CODEC\n");
+ snd_cs46xx_codec_write(chip,AC97_CSR_ACMODE,0x200,
+ CS46XX_PRIMARY_CODEC_INDEX);
+ }
/* do soundcard specific mixer setup */
if (chip->mixer_init) {
snd_printdd ("calling chip->mixer_init(chip);\n");
chip->mixer_init(chip);
}
#endif
-
+
/* turn on amplifier */
chip->amplifier_ctrl(chip, 1);
diff --exclude=CVS --exclude=Makefile -Nau alsa-kernel/pci/cs46xx/dsp_spos.c ../cvs/alsa-kernel/pci/cs46xx/dsp_spos.c
--- alsa-kernel/pci/cs46xx/dsp_spos.c Sat Apr 5 21:09:20 2003
+++ ../cvs/alsa-kernel/pci/cs46xx/dsp_spos.c Mon Apr 14 01:00:47 2003
@@ -265,12 +265,8 @@
/* set left and right validity bits and
default channel status */
- ins->spdif_csuv_default =
- ins->spdif_csuv_stream =
- /* byte 0 */ (_wrap_all_bits( (SNDRV_PCM_DEFAULT_CON_SPDIF & 0xff)) << 24) |
- /* byte 1 */ (_wrap_all_bits( ((SNDRV_PCM_DEFAULT_CON_SPDIF >> 16) & 0xff)) << 16) |
- /* byte 3 */ _wrap_all_bits( (SNDRV_PCM_DEFAULT_CON_SPDIF >> 24) & 0xff) |
- /* left and right validity bits */ (1 << 13) | (1 << 12);
+ ins->spdif_csuv_default = (SNDRV_PCM_DEFAULT_CON_SPDIF & 0xffff00ff) |
+ /* left and right validity bits */ (1 << 13) | (1 << 12);
return ins;
}
@@ -1655,6 +1651,7 @@
cs46xx_poke_via_dsp (chip,SP_SPDOUT_CONTROL, 0x80000000);
/* right and left validate bit */
+ snd_printdd ("setting SP_SPDOUT_CSUV register to default (%08x)\n",ins->spdif_csuv_default);
cs46xx_poke_via_dsp (chip,SP_SPDOUT_CSUV, ins->spdif_csuv_default);
/* monitor state */
diff --exclude=CVS --exclude=Makefile -Nau alsa-kernel/pci/cs46xx/dsp_spos.h ../cvs/alsa-kernel/pci/cs46xx/dsp_spos.h
--- alsa-kernel/pci/cs46xx/dsp_spos.h Sat Apr 5 21:09:20 2003
+++ ../cvs/alsa-kernel/pci/cs46xx/dsp_spos.h Sun Apr 13 12:43:20 2003
@@ -186,25 +186,6 @@
#define SP_SPDOUT_CONTROL 0x804D
#define SP_SPDOUT_CSUV 0x808E
-static inline u8 _wrap_all_bits (u8 val) {
- u8 wrapped;
-
- /* wrap all 8 bits */
- wrapped =
- ((val & 0x1 ) << 7) |
- ((val & 0x2 ) << 5) |
- ((val & 0x4 ) << 3) |
- ((val & 0x8 ) << 1) |
- ((val & 0x10) >> 1) |
- ((val & 0x20) >> 3) |
- ((val & 0x40) >> 5) |
- ((val & 0x80) >> 7);
-
- return wrapped;
-
-}
-
-
static inline void cs46xx_dsp_spos_update_scb (cs46xx_t * chip,dsp_scb_descriptor_t * scb)
{
/* update nextSCB and subListPtr in SCB */
diff --exclude=CVS --exclude=Makefile -Nau alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c ../cvs/alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c
--- alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c Sat Apr 5 21:09:20 2003
+++ ../cvs/alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c Mon Apr 14 01:01:30 2003
@@ -1701,6 +1701,7 @@
/* set spdif channel status value for streaming */
+ snd_printdd ("setting SP_SPDOUT_CSUV register to stream (%08x)\n",ins->spdif_csuv_stream);
cs46xx_poke_via_dsp (chip,SP_SPDOUT_CSUV, ins->spdif_csuv_stream);
ins->spdif_status_out |= DSP_SPDIF_STATUS_PLAYBACK_OPEN;
@@ -1717,6 +1718,7 @@
ins->spdif_status_out &= ~DSP_SPDIF_STATUS_PLAYBACK_OPEN;
/* restore settings */
+ snd_printdd ("setting SP_SPDOUT_CSUV register to default (%08x)\n",ins->spdif_csuv_default);
cs46xx_poke_via_dsp (chip,SP_SPDOUT_CSUV, ins->spdif_csuv_default);
/* deallocate stuff */
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: How to put 16bit none audio PCM data stream into a 32bit none audio S/P-DIF transport stream?
2003-04-13 23:23 ` Benny Sjostrand
@ 2003-04-14 19:06 ` Gregoire Favre
2003-04-14 22:20 ` Benny Sjostrand
0 siblings, 1 reply; 36+ messages in thread
From: Gregoire Favre @ 2003-04-14 19:06 UTC (permalink / raw)
To: Benny Sjostrand; +Cc: James Courtier-Dutton, alsa-devel
On Mon, Apr 14, 2003 at 01:23:34AM +0200, Benny Sjostrand wrote:
> Could you repeat the tests with the attached patch applied to current
> CVS. The only changes are some more debug messages.
Yes, sure!!!
> Just to check, which version of xine ? (I'm using 0.9.18)
0.9.20 with lots of different DVD tested...
> "Lord Of the Rings" DTS and Surround 5.1, and "Star Wars II" Surrund 5.1
> works fine forme.
So, I'll take Star Wars II for my new test ;-)
I just gives here the commands and the output from dmesg...
Reloading the modules:
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:226: cs46xx_dsp_proc_free_scb_desc: freeing nullSCB
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:226: cs46xx_dsp_proc_free_scb_desc: freeing TimingMasterSCBInst
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:226: cs46xx_dsp_proc_free_scb_desc: freeing CodecOutSCB_I
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:226: cs46xx_dsp_proc_free_scb_desc: freeing MasterMixSCB
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:226: cs46xx_dsp_proc_free_scb_desc: freeing CodecInSCB
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:226: cs46xx_dsp_proc_free_scb_desc: freeing WriteBackSCB
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:226: cs46xx_dsp_proc_free_scb_desc: freeing VariDecimateSCB
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:226: cs46xx_dsp_proc_free_scb_desc: freeing RecordMixerSCB
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:226: cs46xx_dsp_proc_free_scb_desc: freeing CodecOutSCB_Rear
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:226: cs46xx_dsp_proc_free_scb_desc: freeing RearMixerSCB
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:226: cs46xx_dsp_proc_free_scb_desc: freeing CodecOutSCB_CLFE
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:226: cs46xx_dsp_proc_free_scb_desc: freeing CLFEMixerSCB
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:226: cs46xx_dsp_proc_free_scb_desc: freeing MagicSnoopSCB_I
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:226: cs46xx_dsp_proc_free_scb_desc: freeing SPIOWriteSCB
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:226: cs46xx_dsp_proc_free_scb_desc: freeing SrcTaskSCB_SPDIFI
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:226: cs46xx_dsp_proc_free_scb_desc: freeing SPDIFOSCB
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:226: cs46xx_dsp_proc_free_scb_desc: freeing SPDIFISCB
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:226: cs46xx_dsp_proc_free_scb_desc: freeing AsynCodecInputSCB
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:226: cs46xx_dsp_proc_free_scb_desc: freeing AsynchFGTxSCB
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:226: cs46xx_dsp_proc_free_scb_desc: freeing PCMSerialInput_II
ALSA ../../alsa-kernel/pci/cs46xx/cs46xx_lib.c:2458: snd_cs46xx: detecting primary codec
ALSA ../../alsa-kernel/pci/cs46xx/cs46xx_lib.c:2408: cs46xx: CODOEC1 mode 0000
ALSA ../../alsa-kernel/pci/cs46xx/cs46xx_lib.c:2482: snd_cs46xx: primary codec phase one
ALSA ../../alsa-kernel/pci/cs46xx/cs46xx_lib.c:2486: snd_cs46xx: detecting seconadry codec
ALSA ../../alsa-kernel/pci/cs46xx/cs46xx_lib.c:2411: cs46xx: CODOEC2 mode 0003
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:314: dsp_spos: loading module cwc4630 into DSP
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:317: dsp_spos: clearing parameter area
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:332: dsp_spos: downloading parameter data to chip (00000000-00000200)
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:341: dsp_spos: clearing sample area
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:346: dsp_spos: module got no sample segment
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:366: dsp_spos: clearing code area
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:392: dsp_spos: downloading code to chip (00020000-00020ca0)
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:111: dsp_spos: 0 instructions reallocated
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:314: dsp_spos: loading module cwcasync into DSP
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:322: dsp_spos: module got no parameter segment
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:346: dsp_spos: module got no sample segment
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:392: dsp_spos: downloading code to chip (00020ca0-00021378)
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:83: handle_wideop[1]: 01400:02731 addr 8000
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:88: handle_wideop[1]: ROM symbol not reallocated
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:100: handle_wideop:[2] 01400:02731 addr 8000
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:83: handle_wideop[1]: 01000:60630 addr 000c
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:100: handle_wideop:[2] 0100d:00630 addr 01a0
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:83: handle_wideop[1]: 01000:20630 addr 0004
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:100: handle_wideop:[2] 0100c:c0630 addr 0198
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:83: handle_wideop[1]: 01400:42730 addr 8008
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:88: handle_wideop[1]: ROM symbol not reallocated
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:100: handle_wideop:[2] 01400:42730 addr 8008
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:83: handle_wideop[1]: 01000:f0630 addr 001e
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:100: handle_wideop:[2] 0100d:90630 addr 01b2
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:83: handle_wideop[1]: 01000:e00f2 addr 001c
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:100: handle_wideop:[2] 0100d:800f2 addr 01b0
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:83: handle_wideop[1]: 01001:e8030 addr 003d
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:100: handle_wideop:[2] 0100e:88030 addr 01d1
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:83: handle_wideop[1]: 01001:82630 addr 0030
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:100: handle_wideop:[2] 0100e:22630 addr 01c4
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:83: handle_wideop[1]: 01001:504a0 addr 002a
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:100: handle_wideop:[2] 0100d:f04a0 addr 01be
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:83: handle_wideop[1]: 01001:e8630 addr 003d
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:100: handle_wideop:[2] 0100e:88630 addr 01d1
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:83: handle_wideop[1]: 01001:d84a0 addr 003b
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:100: handle_wideop:[2] 0100e:784a0 addr 01cf
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:83: handle_wideop[1]: 01002:b8630 addr 0057
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:100: handle_wideop:[2] 0100f:58630 addr 01eb
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:83: handle_wideop[1]: 01002:ac0f2 addr 0055
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:100: handle_wideop:[2] 0100f:4c0f2 addr 01e9
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:83: handle_wideop[1]: 01003:ac030 addr 0075
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:100: handle_wideop:[2] 01010:4c030 addr 0209
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:83: handle_wideop[1]: 01003:884a0 addr 0071
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:100: handle_wideop:[2] 01010:284a0 addr 0205
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:83: handle_wideop[1]: 01003:706b0 addr 006e
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:100: handle_wideop:[2] 01010:106b0 addr 0202
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:83: handle_wideop[1]: 01003:78730 addr 006f
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:100: handle_wideop:[2] 01010:18730 addr 0203
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:83: handle_wideop[1]: 01004:8c030 addr 0091
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:100: handle_wideop:[2] 01011:2c030 addr 0225
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:83: handle_wideop[1]: 01004:704a0 addr 008e
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:100: handle_wideop:[2] 01011:104a0 addr 0222
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:83: handle_wideop[1]: 01400:02731 addr 8000
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:88: handle_wideop[1]: ROM symbol not reallocated
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:100: handle_wideop:[2] 01400:02731 addr 8000
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:83: handle_wideop[1]: 01005:64630 addr 00ac
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:100: handle_wideop:[2] 01012:04630 addr 0240
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:83: handle_wideop[1]: 01005:746b0 addr 00ae
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:100: handle_wideop:[2] 01012:146b0 addr 0242
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:83: handle_wideop[1]: 01400:40630 addr 8008
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:88: handle_wideop[1]: ROM symbol not reallocated
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:100: handle_wideop:[2] 01400:40630 addr 8008
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:83: handle_wideop[1]: 01005:d86a0 addr 00bb
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:100: handle_wideop:[2] 01012:786a0 addr 024f
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:83: handle_wideop[1]: 01400:42730 addr 8008
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:88: handle_wideop[1]: ROM symbol not reallocated
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:100: handle_wideop:[2] 01400:42730 addr 8008
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:83: handle_wideop[1]: 01006:60630 addr 00cc
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:100: handle_wideop:[2] 01013:00630 addr 0260
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:83: handle_wideop[1]: 01400:586b0 addr 800b
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:88: handle_wideop[1]: ROM symbol not reallocated
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:100: handle_wideop:[2] 01400:586b0 addr 800b
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:83: handle_wideop[1]: 01400:500b0 addr 800a
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:88: handle_wideop[1]: ROM symbol not reallocated
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:100: handle_wideop:[2] 01400:500b0 addr 800a
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:83: handle_wideop[1]: 01400:40730 addr 8008
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:88: handle_wideop[1]: ROM symbol not reallocated
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:100: handle_wideop:[2] 01400:40730 addr 8008
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:111: dsp_spos: 29 instructions reallocated
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:314: dsp_spos: loading module cwcsnoop into DSP
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:322: dsp_spos: module got no parameter segment
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:346: dsp_spos: module got no sample segment
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:392: dsp_spos: downloading code to chip (00021378-00021470)
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:83: handle_wideop[1]: 01028:80630 addr 0510
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:100: handle_wideop:[2] 01013:f8630 addr 027f
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:83: handle_wideop[1]: 01028:a83a0 addr 0515
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:100: handle_wideop:[2] 01014:203a0 addr 0284
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:83: handle_wideop[1]: 01028:d8730 addr 051b
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:100: handle_wideop:[2] 01014:50730 addr 028a
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:111: dsp_spos: 3 instructions reallocated
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:314: dsp_spos: loading module cwcbinhack into DSP
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:322: dsp_spos: module got no parameter segment
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:346: dsp_spos: module got no sample segment
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:392: dsp_spos: downloading code to chip (00021470-00021570)
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:83: handle_wideop[1]: 01016:b8630 addr 02d7
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:100: handle_wideop:[2] 01014:e8630 addr 029d
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:83: handle_wideop[1]: 01016:e03a0 addr 02dc
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:100: handle_wideop:[2] 01015:103a0 addr 02a2
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:83: handle_wideop[1]: 01017:10730 addr 02e2
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:100: handle_wideop:[2] 01015:40730 addr 02a8
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:111: dsp_spos: 3 instructions reallocated
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:314: dsp_spos: loading module cwcdma into DSP
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:322: dsp_spos: module got no parameter segment
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:346: dsp_spos: module got no sample segment
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:392: dsp_spos: downloading code to chip (00021570-00021630)
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:83: handle_wideop[1]: 01400:02731 addr 8000
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:88: handle_wideop[1]: ROM symbol not reallocated
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:100: handle_wideop:[2] 01400:02731 addr 8000
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:83: handle_wideop[1]: 01400:58630 addr 800b
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:88: handle_wideop[1]: ROM symbol not reallocated
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:100: handle_wideop:[2] 01400:58630 addr 800b
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:83: handle_wideop[1]: 01000:902a0 addr 0012
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:100: handle_wideop:[2] 01016:002a0 addr 02c0
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:83: handle_wideop[1]: 01400:58730 addr 800b
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:88: handle_wideop[1]: ROM symbol not reallocated
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:100: handle_wideop:[2] 01400:58730 addr 800b
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:111: dsp_spos: 4 instructions reallocated
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:290: dsp_spos: creating SCB <TimingMasterSCBInst>
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:290: dsp_spos: creating SCB <CodecOutSCB_I>
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:290: dsp_spos: creating SCB <MasterMixSCB>
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:290: dsp_spos: creating SCB <CodecInSCB>
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:290: dsp_spos: creating SCB <WriteBackSCB>
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:290: dsp_spos: creating SCB <VariDecimateSCB>
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:290: dsp_spos: creating SCB <RecordMixerSCB>
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:290: dsp_spos: creating SCB <CodecOutSCB_Rear>
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:290: dsp_spos: creating SCB <RearMixerSCB>
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:290: dsp_spos: creating SCB <CodecOutSCB_CLFE>
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:290: dsp_spos: creating SCB <CLFEMixerSCB>
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:290: dsp_spos: creating SCB <MagicSnoopSCB_I>
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:290: dsp_spos: creating SCB <SPIOWriteSCB>
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:597: dsp_spos: setting SrcTaskSCB_SPDIFI rate to 48000
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:290: dsp_spos: creating SCB <SrcTaskSCB_SPDIFI>
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos.c:1654: setting SP_SPDOUT_CSUV register to default (02003000)
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:290: dsp_spos: creating SCB <AsynchFGTxSCB>
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:290: dsp_spos: creating SCB <PCMSerialInput_II>
ALSA ../../alsa-kernel/pci/cs46xx/cs46xx_lib.c:2124: setting SP_SPDOUT_CSUV register (02003000)
ac3dec from_beyond_the_edge_44k_256kbps.ac3 --device=iec958:AES0=0x2,AES1=0x82,AES2=0x0,AES3=0x2
5.1 Mode 44.1 KHz 256 kbps Complete Main Audio Service
Using PCM device 'iec958:AES0=0x2,AES1=0x82,AES2=0x0,AES3=0x2'
ALSA ../../alsa-kernel/pci/cs46xx/cs46xx_lib.c:1441: open raw iec958 channel
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:226: cs46xx_dsp_proc_free_scb_desc: freeing PCMSerialInput_II
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:226: cs46xx_dsp_proc_free_scb_desc: freeing AsynchFGTxSCB
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:290: dsp_spos: creating SCB <AsynchFGTxSCB>
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:1704: setting SP_SPDOUT_CSUV register to stream (00003087)
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:1241: IEC958 pass through
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:1306: dsp_spos: creating SRC "SrcTask_SCB0"
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:597: dsp_spos: setting SrcTask_SCB0 rate to 48000
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:290: dsp_spos: creating SCB <SrcTask_SCB0>
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:1331: dsp_spos: creating PCM "PCMReader_SCB0" (5)
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:290: dsp_spos: creating SCB <PCMReader_SCB0>
ALSA ../../alsa-kernel/pci/cs46xx/cs46xx_lib.c:1001: period_size (2048), periods (32) buffer_size(65536)
ALSA ../../alsa-kernel/pci/cs46xx/cs46xx_lib.c:2179: setting SP_SPDOUT_CSUV register (02003002)
ALSA ../../alsa-kernel/pci/cs46xx/cs46xx_lib.c:2179: setting SP_SPDOUT_CSUV register (00003087)
ALSA ../../alsa-kernel/pci/cs46xx/cs46xx_lib.c:1457: close raw iec958 channel
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:226: cs46xx_dsp_proc_free_scb_desc: freeing PCMReader_SCB0
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:226: cs46xx_dsp_proc_free_scb_desc: freeing SrcTask_SCB0
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:1721: setting SP_SPDOUT_CSUV register to default (02003000)
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:226: cs46xx_dsp_proc_free_scb_desc: freeing AsynchFGTxSCB
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:290: dsp_spos: creating SCB <AsynchFGTxSCB>
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:290: dsp_spos: creating SCB <PCMSerialInput_II>
Switching to a channel broadcasting ac3 (not always 5.1):
ALSA ../../alsa-kernel/pci/cs46xx/cs46xx_lib.c:1441: open raw iec958 channel
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:226: cs46xx_dsp_proc_free_scb_desc: freeing PCMSerialInput_II
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:226: cs46xx_dsp_proc_free_scb_desc: freeing AsynchFGTxSCB
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:290: dsp_spos: creating SCB <AsynchFGTxSCB>
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:1704: setting SP_SPDOUT_CSUV register to stream (00003087)
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:1241: IEC958 pass through
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:1306: dsp_spos: creating SRC "SrcTask_SCB0"
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:597: dsp_spos: setting SrcTask_SCB0 rate to 48000
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:290: dsp_spos: creating SCB <SrcTask_SCB0>
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:1331: dsp_spos: creating PCM "PCMReader_SCB0" (5)
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:290: dsp_spos: creating SCB <PCMReader_SCB0>
ALSA ../../alsa-kernel/pci/cs46xx/cs46xx_lib.c:1001: period_size (1024), periods (60) buffer_size(61440)
ALSA ../../alsa-kernel/pci/cs46xx/cs46xx_lib.c:2179: setting SP_SPDOUT_CSUV register (02003002)
ALSA ../alsa-kernel/core/pcm_lib.c:156: Unexpected hw_pointer value (stream = 0, delta: -256, max jitter = 7680): wrong interrupt acknowledge?
Running xine (StarWars II) I can't access this DVD really well:
xine hangs on audio menu (I was still on the ac3 channels)
ALSA ../alsa-kernel/core/pcm_lib.c:156: Unexpected hw_pointer value (stream = 0, delta: -256, max jitter = 7680): wrong interrupt acknowledge?
ALSA ../../alsa-kernel/pci/cs46xx/cs46xx_lib.c:1418: open front channel
ALSA ../alsa-kernel/core/pcm_lib.c:156: Unexpected hw_pointer value (stream = 0, delta: -256, max jitter = 7680): wrong interrupt acknowledge?
ALSA ../../alsa-kernel/pci/cs46xx/cs46xx_lib.c:2179: setting SP_SPDOUT_CSUV register (00003087)
ALSA ../../alsa-kernel/pci/cs46xx/cs46xx_lib.c:1457: close raw iec958 channel
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:226: cs46xx_dsp_proc_free_scb_desc: freeing PCMReader_SCB0
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:226: cs46xx_dsp_proc_free_scb_desc: freeing SrcTask_SCB0
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:1721: setting SP_SPDOUT_CSUV register to default (02003000)
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:226: cs46xx_dsp_proc_free_scb_desc: freeing AsynchFGTxSCB
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:290: dsp_spos: creating SCB <AsynchFGTxSCB>
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:290: dsp_spos: creating SCB <PCMSerialInput_II>
ALSA ../../alsa-kernel/pci/cs46xx/cs46xx_lib.c:1441: open raw iec958 channel
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:226: cs46xx_dsp_proc_free_scb_desc: freeing PCMSerialInput_II
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:226: cs46xx_dsp_proc_free_scb_desc: freeing AsynchFGTxSCB
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:290: dsp_spos: creating SCB <AsynchFGTxSCB>
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:1704: setting SP_SPDOUT_CSUV register to stream (00003087)
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:1241: IEC958 pass through
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:1306: dsp_spos: creating SRC "SrcTask_SCB0"
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:597: dsp_spos: setting SrcTask_SCB0 rate to 48000
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:290: dsp_spos: creating SCB <SrcTask_SCB0>
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:1331: dsp_spos: creating PCM "PCMReader_SCB0" (5)
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:290: dsp_spos: creating SCB <PCMReader_SCB0>
ALSA ../../alsa-kernel/pci/cs46xx/cs46xx_lib.c:1001: period_size (2048), periods (32) buffer_size(65536)
ALSA ../../alsa-kernel/pci/cs46xx/cs46xx_lib.c:2179: setting SP_SPDOUT_CSUV register (02003006)
ALSA ../../alsa-kernel/pci/cs46xx/cs46xx_lib.c:1457: close raw iec958 channel
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:226: cs46xx_dsp_proc_free_scb_desc: freeing PCMReader_SCB0
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:226: cs46xx_dsp_proc_free_scb_desc: freeing SrcTask_SCB0
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:1721: setting SP_SPDOUT_CSUV register to default (02003000)
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:226: cs46xx_dsp_proc_free_scb_desc: freeing AsynchFGTxSCB
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:290: dsp_spos: creating SCB <AsynchFGTxSCB>
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:290: dsp_spos: creating SCB <PCMSerialInput_II>
Retry of xine without the ac3 channel on VDR (with bitstreamout plugin) this time
I can choose french language and begin to play the movie (I don't hear anything):
ALSA ../../alsa-kernel/pci/cs46xx/cs46xx_lib.c:1418: open front channel
ALSA ../../alsa-kernel/pci/cs46xx/cs46xx_lib.c:1441: open raw iec958 channel
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:226: cs46xx_dsp_proc_free_scb_desc: freeing PCMSerialInput_II
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:226: cs46xx_dsp_proc_free_scb_desc: freeing AsynchFGTxSCB
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:290: dsp_spos: creating SCB <AsynchFGTxSCB>
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:1704: setting SP_SPDOUT_CSUV register to stream (02003006)
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:1241: IEC958 pass through
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:1306: dsp_spos: creating SRC "SrcTask_SCB0"
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:597: dsp_spos: setting SrcTask_SCB0 rate to 48000
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:290: dsp_spos: creating SCB <SrcTask_SCB0>
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:1331: dsp_spos: creating PCM "PCMReader_SCB0" (5)
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:290: dsp_spos: creating SCB <PCMReader_SCB0>
ALSA ../../alsa-kernel/pci/cs46xx/cs46xx_lib.c:1001: period_size (2048), periods (32) buffer_size(65536)
ALSA ../../alsa-kernel/pci/cs46xx/cs46xx_lib.c:2179: setting SP_SPDOUT_CSUV register (02003006)
ALSA ../../alsa-kernel/pci/cs46xx/cs46xx_lib.c:2179: setting SP_SPDOUT_CSUV register (02003006)
ALSA ../../alsa-kernel/pci/cs46xx/cs46xx_lib.c:1457: close raw iec958 channel
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:226: cs46xx_dsp_proc_free_scb_desc: freeing PCMReader_SCB0
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:226: cs46xx_dsp_proc_free_scb_desc: freeing SrcTask_SCB0
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:1721: setting SP_SPDOUT_CSUV register to default (02003000)
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:226: cs46xx_dsp_proc_free_scb_desc: freeing AsynchFGTxSCB
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:290: dsp_spos: creating SCB <AsynchFGTxSCB>
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:290: dsp_spos: creating SCB <PCMSerialInput_II>
Should I test some other things?
Thank you very much,
Grégoire
________________________________________________________________
http://ulima.unil.ch/greg ICQ:16624071 mailto:greg@ulima.unil.ch
-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: How to put 16bit none audio PCM data stream into a 32bit none audio S/P-DIF transport stream?
2003-04-14 22:20 ` Benny Sjostrand
@ 2003-04-14 21:27 ` Gregoire Favre
2003-04-14 23:00 ` Benny Sjostrand
0 siblings, 1 reply; 36+ messages in thread
From: Gregoire Favre @ 2003-04-14 21:27 UTC (permalink / raw)
To: Benny Sjostrand; +Cc: alsa-devel, James
On Tue, Apr 15, 2003 at 12:20:14AM +0200, Benny Sjostrand wrote:
> Well, I supose I should upgrade -;)
Or me downgrade as it works for you :-)
> So lets try changing thoose values to:
> AES0=0x2,AES1=0x0,AES2=0x82,AE3=0x2
ALSA ../../alsa-kernel/pci/cs46xx/cs46xx_lib.c:1441: open raw iec958 channel
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:226: cs46xx_dsp_proc_free_scb_desc: freeing PCMSerialInput_II
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:226: cs46xx_dsp_proc_free_scb_desc: freeing AsynchFGTxSCB
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:290: dsp_spos: creating SCB <AsynchFGTxSCB>
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:1704: setting SP_SPDOUT_CSUV register to stream (02003006)
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:1241: IEC958 pass through
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:1306: dsp_spos: creating SRC "SrcTask_SCB0"
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:597: dsp_spos: setting SrcTask_SCB0 rate to 48000
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:290: dsp_spos: creating SCB <SrcTask_SCB0>
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:1331: dsp_spos: creating PCM "PCMReader_SCB0" (5)
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:290: dsp_spos: creating SCB <PCMReader_SCB0>
ALSA ../../alsa-kernel/pci/cs46xx/cs46xx_lib.c:1001: period_size (2048), periods (32) buffer_size(65536)
ALSA ../../alsa-kernel/pci/cs46xx/cs46xx_lib.c:2179: setting SP_SPDOUT_CSUV register (02823002)
ALSA ../../alsa-kernel/pci/cs46xx/cs46xx_lib.c:2179: setting SP_SPDOUT_CSUV register (02003006)
ALSA ../../alsa-kernel/pci/cs46xx/cs46xx_lib.c:1457: close raw iec958 channel
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:226: cs46xx_dsp_proc_free_scb_desc: freeing PCMReader_SCB0
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:226: cs46xx_dsp_proc_free_scb_desc: freeing SrcTask_SCB0
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:1721: setting SP_SPDOUT_CSUV register to default (02003000)
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:226: cs46xx_dsp_proc_free_scb_desc: freeing AsynchFGTxSCB
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:290: dsp_spos: creating SCB <AsynchFGTxSCB>
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:290: dsp_spos: creating SCB <PCMSerialInput_II>
> Could you just test the new AES0-3.... values, and sendme the logs
> again. (check the SP_SPDOUT_CSUV in logs outputs, i would like it to
> have 0x02820302 value)
It's a value I could find, is that good?
I have tried xine with the same iec958:AES0=0x2,AES1=0x0,AES2=0x82,AES3=0x2
value:
ALSA ../../alsa-kernel/pci/cs46xx/cs46xx_lib.c:1418: open front channel
ALSA ../../alsa-kernel/pci/cs46xx/cs46xx_lib.c:1441: open raw iec958 channel
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:226: cs46xx_dsp_proc_free_scb_desc: freeing PCMSerialInput_II
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:226: cs46xx_dsp_proc_free_scb_desc: freeing AsynchFGTxSCB
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:290: dsp_spos: creating SCB <AsynchFGTxSCB>
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:1704: setting SP_SPDOUT_CSUV register to stream (02003006)
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:1241: IEC958 pass through
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:1306: dsp_spos: creating SRC "SrcTask_SCB0"
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:597: dsp_spos: setting SrcTask_SCB0 rate to 48000
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:290: dsp_spos: creating SCB <SrcTask_SCB0>
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:1331: dsp_spos: creating PCM "PCMReader_SCB0" (5)
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:290: dsp_spos: creating SCB <PCMReader_SCB0>
ALSA ../../alsa-kernel/pci/cs46xx/cs46xx_lib.c:1001: period_size (2048), periods (32) buffer_size(65536)
ALSA ../../alsa-kernel/pci/cs46xx/cs46xx_lib.c:2179: setting SP_SPDOUT_CSUV register (02823002)
ALSA ../../alsa-kernel/pci/cs46xx/cs46xx_lib.c:2179: setting SP_SPDOUT_CSUV register (02003006)
ALSA ../../alsa-kernel/pci/cs46xx/cs46xx_lib.c:1457: close raw iec958 channel
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:226: cs46xx_dsp_proc_free_scb_desc: freeing PCMReader_SCB0
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:226: cs46xx_dsp_proc_free_scb_desc: freeing SrcTask_SCB0
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:1721: setting SP_SPDOUT_CSUV register to default (02003000)
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:226: cs46xx_dsp_proc_free_scb_desc: freeing AsynchFGTxSCB
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:290: dsp_spos: creating SCB <AsynchFGTxSCB>
ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:290: dsp_spos: creating SCB <PCMSerialInput_II>
Have a great day,
Grégoire
________________________________________________________________
http://ulima.unil.ch/greg ICQ:16624071 mailto:greg@ulima.unil.ch
-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: How to put 16bit none audio PCM data stream into a 32bit none audio S/P-DIF transport stream?
2003-04-14 23:00 ` Benny Sjostrand
@ 2003-04-14 22:14 ` Gregoire Favre
0 siblings, 0 replies; 36+ messages in thread
From: Gregoire Favre @ 2003-04-14 22:14 UTC (permalink / raw)
To: Benny Sjostrand; +Cc: alsa-devel, James, werner
On Tue, Apr 15, 2003 at 01:00:43AM +0200, Benny Sjostrand wrote:
> Let me guess, I did not work ? Well, guess what, I got new "this time
> hopefully working" patch,
> so if you like to apply it to CVS and test again -;)
Yes, for sure!!!
> Could you also test with:
> AES0=0x40,AES1=0x0,AES2=0x41,AES3=0x40 (all bits wrapped)
Unfortunately, it's still not working...
If needed I could still send you all the logs :-)
> Then I got a question about the IEC958 protocoll that hopefulle someone
> on this list
> knows something about. The Left and Right validity bits, and Left, Right
> user
> bits, what are suposed to do ?? are they suposed to be 1 or 0 when outputing
> AC3/DTS ???
>
> That could be a posible source of the problem, in this patch they are
> all turned off.
I am sure Dr. Werner Fink know the answer of this question ;-)
Grégoire
________________________________________________________________
http://ulima.unil.ch/greg ICQ:16624071 mailto:greg@ulima.unil.ch
-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: How to put 16bit none audio PCM data stream into a 32bit none audio S/P-DIF transport stream?
2003-04-14 19:06 ` Gregoire Favre
@ 2003-04-14 22:20 ` Benny Sjostrand
2003-04-14 21:27 ` Gregoire Favre
0 siblings, 1 reply; 36+ messages in thread
From: Benny Sjostrand @ 2003-04-14 22:20 UTC (permalink / raw)
To: Gregoire Favre; +Cc: James Courtier-Dutton, alsa-devel
>
>
>0.9.20 with lots of different DVD tested...
>
>
Well, I supose I should upgrade -;)
>
>So, I'll take Star Wars II for my new test ;-)
>
Just in case that something differs between DVD's, you never know ...
(but probably dont care at all)
>ac3dec from_beyond_the_edge_44k_256kbps.ac3 --device=iec958:AES0=0x2,AES1=0x82,AES2=0x0,AES3=0x2
>5.1 Mode 44.1 KHz 256 kbps Complete Main Audio Service
>Using PCM device 'iec958:AES0=0x2,AES1=0x82,AES2=0x0,AES3=0x2'
>
>
So lets try changing thoose values to:
AES0=0x2,AES1=0x0,AES2=0x82,AE3=0x2
>ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:1241: IEC958 pass through
>ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:1306: dsp_spos: creating SRC "SrcTask_SCB0"
>ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:597: dsp_spos: setting SrcTask_SCB0 rate to 48000
>ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:290: dsp_spos: creating SCB <SrcTask_SCB0>
>ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:1331: dsp_spos: creating PCM "PCMReader_SCB0" (5)
>ALSA ../../alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c:290: dsp_spos: creating SCB <PCMReader_SCB0>
>ALSA ../../alsa-kernel/pci/cs46xx/cs46xx_lib.c:1001: period_size (2048), periods (32) buffer_size(65536)
>ALSA ../../alsa-kernel/pci/cs46xx/cs46xx_lib.c:2179: setting SP_SPDOUT_CSUV register (02003002)
>ALSA ../../alsa-kernel/pci/cs46xx/cs46xx_lib.c:2179: setting SP_SPDOUT_CSUV register (00003087)
>
Last value look's complety wrong (00003087), and (02003002) is suspect,
... (probably my fault ...)
>Thank you very much,
>
>
>
You're welcome!
Could you just test the new AES0-3.... values, and sendme the logs
again. (check the SP_SPDOUT_CSUV in logs outputs, i would like it to
have 0x02820302 value)
/Benny
-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: How to put 16bit none audio PCM data stream into a 32bit none audio S/P-DIF transport stream?
2003-04-14 21:27 ` Gregoire Favre
@ 2003-04-14 23:00 ` Benny Sjostrand
2003-04-14 22:14 ` Gregoire Favre
0 siblings, 1 reply; 36+ messages in thread
From: Benny Sjostrand @ 2003-04-14 23:00 UTC (permalink / raw)
To: Gregoire Favre; +Cc: alsa-devel, James
[-- Attachment #1: Type: text/plain, Size: 754 bytes --]
>
>
>It's a value I could find, is that good?
>
>
It's what I expected ...
>I have tried xine with the same iec958:AES0=0x2,AES1=0x0,AES2=0x82,AES3=0x2
>value:
>
>
Let me guess, I did not work ? Well, guess what, I got new "this time
hopefully working" patch,
so if you like to apply it to CVS and test again -;)
Could you also test with:
AES0=0x40,AES1=0x0,AES2=0x41,AES3=0x40 (all bits wrapped)
Then I got a question about the IEC958 protocoll that hopefulle someone
on this list
knows something about. The Left and Right validity bits, and Left, Right
user
bits, what are suposed to do ?? are they suposed to be 1 or 0 when outputing
AC3/DTS ???
That could be a posible source of the problem, in this patch they are
all turned off.
/Benny
[-- Attachment #2: cs46xx.patch --]
[-- Type: text/plain, Size: 7598 bytes --]
diff --exclude=CVS --exclude=Makefile -Nau alsa-kernel/pci/cs46xx/cs46xx_lib.c ../cvs/alsa-kernel/pci/cs46xx/cs46xx_lib.c
--- alsa-kernel/pci/cs46xx/cs46xx_lib.c Sat Apr 5 21:09:20 2003
+++ ../cvs/alsa-kernel/pci/cs46xx/cs46xx_lib.c Tue Apr 15 00:51:31 2003
@@ -2091,10 +2091,10 @@
dsp_spos_instance_t * ins = chip->dsp_spos_instance;
down (&chip->spos_mutex);
- ucontrol->value.iec958.status[0] = _wrap_all_bits((ins->spdif_csuv_default >> 24) & 0xff);
- ucontrol->value.iec958.status[1] = _wrap_all_bits((ins->spdif_csuv_default >> 16) & 0xff);
- ucontrol->value.iec958.status[2] = 0;
- ucontrol->value.iec958.status[3] = _wrap_all_bits((ins->spdif_csuv_default) & 0xff);
+ ucontrol->value.iec958.status[0] = ins->spdif_csuv_default & 0xff;
+ ucontrol->value.iec958.status[1] = 0;
+ ucontrol->value.iec958.status[2] = (ins->spdif_csuv_default >> 16) & 0xff;
+ ucontrol->value.iec958.status[3] = (ins->spdif_csuv_default >> 24) & 0xff;
up (&chip->spos_mutex);
return 0;
@@ -2109,9 +2109,9 @@
int change;
down (&chip->spos_mutex);
- val = _wrap_all_bits(((u32)ucontrol->value.iec958.status[0] << 24)) |
- _wrap_all_bits(((u32)ucontrol->value.iec958.status[2] << 16)) |
- _wrap_all_bits( (u32)ucontrol->value.iec958.status[3]) |
+ val = (u32)ucontrol->value.iec958.status[0] |
+ ((u32)ucontrol->value.iec958.status[1] << 16) |
+ ((u32)ucontrol->value.iec958.status[2] << 24) |
/* left and right validity bit */
(1 << 13) | (1 << 12);
@@ -2119,8 +2119,11 @@
change = (unsigned int)ins->spdif_csuv_default != val;
ins->spdif_csuv_default = val;
- if ( !(ins->spdif_status_out & DSP_SPDIF_STATUS_PLAYBACK_OPEN) )
+
+ if ( !(ins->spdif_status_out & DSP_SPDIF_STATUS_PLAYBACK_OPEN) ) {
+ snd_printdd ("setting SP_SPDOUT_CSUV register (%08x)\n",val);
cs46xx_poke_via_dsp (chip,SP_SPDOUT_CSUV,val);
+ }
up (&chip->spos_mutex);
@@ -2131,8 +2134,8 @@
snd_ctl_elem_value_t * ucontrol)
{
ucontrol->value.iec958.status[0] = 0xff;
- ucontrol->value.iec958.status[1] = 0xff;
- ucontrol->value.iec958.status[2] = 0x00;
+ ucontrol->value.iec958.status[1] = 0x00;
+ ucontrol->value.iec958.status[2] = 0xff;
ucontrol->value.iec958.status[3] = 0xff;
return 0;
}
@@ -2144,10 +2147,10 @@
dsp_spos_instance_t * ins = chip->dsp_spos_instance;
down (&chip->spos_mutex);
- ucontrol->value.iec958.status[0] = _wrap_all_bits((ins->spdif_csuv_stream >> 24) & 0xff);
- ucontrol->value.iec958.status[1] = _wrap_all_bits((ins->spdif_csuv_stream >> 16) & 0xff);
- ucontrol->value.iec958.status[2] = 0;
- ucontrol->value.iec958.status[3] = _wrap_all_bits((ins->spdif_csuv_stream) & 0xff);
+ ucontrol->value.iec958.status[0] = ins->spdif_csuv_stream & 0xff;
+ ucontrol->value.iec958.status[1] = 0;
+ ucontrol->value.iec958.status[2] = (ins->spdif_csuv_stream >> 16) & 0xff;
+ ucontrol->value.iec958.status[3] = (ins->spdif_csuv_stream >> 24) & 0xff;
up (&chip->spos_mutex);
return 0;
@@ -2162,18 +2165,20 @@
int change;
down (&chip->spos_mutex);
- val = _wrap_all_bits(((u32)ucontrol->value.iec958.status[0] << 24)) |
- _wrap_all_bits(((u32)ucontrol->value.iec958.status[1] << 16)) |
- _wrap_all_bits( (u32)ucontrol->value.iec958.status[3]) |
+ val = (u32)ucontrol->value.iec958.status[0] |
+ ((u32)ucontrol->value.iec958.status[2] << 16) |
+ ((u32)ucontrol->value.iec958.status[3] << 24);
/* left and right validity bit */
- (1 << 13) | (1 << 12);
+ /* (1 << 13) | (1 << 12); */
change = ins->spdif_csuv_stream != val;
ins->spdif_csuv_stream = val;
- if ( ins->spdif_status_out & DSP_SPDIF_STATUS_PLAYBACK_OPEN )
+ if ( ins->spdif_status_out & DSP_SPDIF_STATUS_PLAYBACK_OPEN ) {
+ snd_printdd ("setting SP_SPDOUT_CSUV register (%08x)\n",val);
cs46xx_poke_via_dsp (chip,SP_SPDOUT_CSUV,val);
+ }
up (&chip->spos_mutex);
@@ -2543,13 +2548,21 @@
chip->eapd_switch = snd_ctl_find_id(chip->card, &id);
#ifdef CONFIG_SND_CS46XX_NEW_DSP
+ if (chip->nr_ac97_codecs == 1 &&
+ snd_cs46xx_codec_read(chip,AC97_VENDOR_ID2,
+ CS46XX_PRIMARY_CODEC_INDEX) == 0x5d2d) {
+ /* set primary cs4294 codec into Extended Audio Mode */
+ snd_printdd("setting EAM bit on cs4294 CODEC\n");
+ snd_cs46xx_codec_write(chip,AC97_CSR_ACMODE,0x200,
+ CS46XX_PRIMARY_CODEC_INDEX);
+ }
/* do soundcard specific mixer setup */
if (chip->mixer_init) {
snd_printdd ("calling chip->mixer_init(chip);\n");
chip->mixer_init(chip);
}
#endif
-
+
/* turn on amplifier */
chip->amplifier_ctrl(chip, 1);
diff --exclude=CVS --exclude=Makefile -Nau alsa-kernel/pci/cs46xx/dsp_spos.c ../cvs/alsa-kernel/pci/cs46xx/dsp_spos.c
--- alsa-kernel/pci/cs46xx/dsp_spos.c Sat Apr 5 21:09:20 2003
+++ ../cvs/alsa-kernel/pci/cs46xx/dsp_spos.c Tue Apr 15 00:14:36 2003
@@ -265,13 +265,10 @@
/* set left and right validity bits and
default channel status */
- ins->spdif_csuv_default =
- ins->spdif_csuv_stream =
- /* byte 0 */ (_wrap_all_bits( (SNDRV_PCM_DEFAULT_CON_SPDIF & 0xff)) << 24) |
- /* byte 1 */ (_wrap_all_bits( ((SNDRV_PCM_DEFAULT_CON_SPDIF >> 16) & 0xff)) << 16) |
- /* byte 3 */ _wrap_all_bits( (SNDRV_PCM_DEFAULT_CON_SPDIF >> 24) & 0xff) |
- /* left and right validity bits */ (1 << 13) | (1 << 12);
-
+ ins->spdif_csuv_default = (SNDRV_PCM_DEFAULT_CON_SPDIF & 0xffff00ff) |
+ /* left and right validity bits */ (1 << 13) | (1 << 12);
+ ins->spdif_csuv_stream = (SNDRV_PCM_DEFAULT_CON_SPDIF & 0xffff00ff) |
+ /* left and right validity bits */ (1 << 13) | (1 << 12);
return ins;
}
@@ -1655,6 +1652,7 @@
cs46xx_poke_via_dsp (chip,SP_SPDOUT_CONTROL, 0x80000000);
/* right and left validate bit */
+ snd_printdd ("setting SP_SPDOUT_CSUV register to default (%08x)\n",ins->spdif_csuv_default);
cs46xx_poke_via_dsp (chip,SP_SPDOUT_CSUV, ins->spdif_csuv_default);
/* monitor state */
diff --exclude=CVS --exclude=Makefile -Nau alsa-kernel/pci/cs46xx/dsp_spos.h ../cvs/alsa-kernel/pci/cs46xx/dsp_spos.h
--- alsa-kernel/pci/cs46xx/dsp_spos.h Sat Apr 5 21:09:20 2003
+++ ../cvs/alsa-kernel/pci/cs46xx/dsp_spos.h Sun Apr 13 12:43:20 2003
@@ -186,25 +186,6 @@
#define SP_SPDOUT_CONTROL 0x804D
#define SP_SPDOUT_CSUV 0x808E
-static inline u8 _wrap_all_bits (u8 val) {
- u8 wrapped;
-
- /* wrap all 8 bits */
- wrapped =
- ((val & 0x1 ) << 7) |
- ((val & 0x2 ) << 5) |
- ((val & 0x4 ) << 3) |
- ((val & 0x8 ) << 1) |
- ((val & 0x10) >> 1) |
- ((val & 0x20) >> 3) |
- ((val & 0x40) >> 5) |
- ((val & 0x80) >> 7);
-
- return wrapped;
-
-}
-
-
static inline void cs46xx_dsp_spos_update_scb (cs46xx_t * chip,dsp_scb_descriptor_t * scb)
{
/* update nextSCB and subListPtr in SCB */
diff --exclude=CVS --exclude=Makefile -Nau alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c ../cvs/alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c
--- alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c Sat Apr 5 21:09:20 2003
+++ ../cvs/alsa-kernel/pci/cs46xx/dsp_spos_scb_lib.c Mon Apr 14 01:01:30 2003
@@ -1701,6 +1701,7 @@
/* set spdif channel status value for streaming */
+ snd_printdd ("setting SP_SPDOUT_CSUV register to stream (%08x)\n",ins->spdif_csuv_stream);
cs46xx_poke_via_dsp (chip,SP_SPDOUT_CSUV, ins->spdif_csuv_stream);
ins->spdif_status_out |= DSP_SPDIF_STATUS_PLAYBACK_OPEN;
@@ -1717,6 +1718,7 @@
ins->spdif_status_out &= ~DSP_SPDIF_STATUS_PLAYBACK_OPEN;
/* restore settings */
+ snd_printdd ("setting SP_SPDOUT_CSUV register to default (%08x)\n",ins->spdif_csuv_default);
cs46xx_poke_via_dsp (chip,SP_SPDOUT_CSUV, ins->spdif_csuv_default);
/* deallocate stuff */
^ permalink raw reply [flat|nested] 36+ messages in thread
end of thread, other threads:[~2003-04-14 23:00 UTC | newest]
Thread overview: 36+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-04-08 14:02 How to put 16bit none audio PCM data stream into a 32bit none audio S/P-DIF transport stream? Gregoire Favre
2003-04-08 14:28 ` Paul Davis
2003-04-08 15:50 ` Takashi Iwai
2003-04-08 16:42 ` Gregoire Favre
2003-04-08 20:30 ` James Courtier-Dutton
2003-04-08 20:44 ` Gregoire Favre
2003-04-09 10:34 ` James Courtier-Dutton
2003-04-09 11:06 ` Gregoire Favre
2003-04-09 16:50 ` James Courtier-Dutton
2003-04-09 17:58 ` Gregoire Favre
2003-04-10 17:43 ` James Courtier-Dutton
2003-04-08 21:39 ` Benny Sjostrand
2003-04-08 20:55 ` Gregoire Favre
2003-04-08 21:28 ` James Courtier-Dutton
2003-04-08 21:55 ` Gregoire Favre
2003-04-09 6:59 ` Benny Sjostrand
2003-04-09 8:28 ` Gregoire Favre
2003-04-09 11:09 ` Takashi Iwai
2003-04-09 11:43 ` Gregoire Favre
2003-04-09 13:11 ` Takashi Iwai
2003-04-09 17:58 ` Gregoire Favre
2003-04-10 11:21 ` James Courtier-Dutton
2003-04-10 11:26 ` Gregoire Favre
2003-04-13 11:41 ` Benny Sjostrand
2003-04-13 17:05 ` Gregoire Favre
2003-04-13 18:21 ` Benny Sjostrand
2003-04-13 18:30 ` Gregoire Favre
2003-04-13 23:23 ` Benny Sjostrand
2003-04-14 19:06 ` Gregoire Favre
2003-04-14 22:20 ` Benny Sjostrand
2003-04-14 21:27 ` Gregoire Favre
2003-04-14 23:00 ` Benny Sjostrand
2003-04-14 22:14 ` Gregoire Favre
2003-04-09 21:17 ` Benny Sjostrand
2003-04-09 20:38 ` Gregoire Favre
-- strict thread matches above, loose matches on Subject: below --
2003-04-08 23:33 Peter Heatwole
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.