* 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 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 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 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 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-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: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 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 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-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 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 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-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 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 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 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
* 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-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 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-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 threadend 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.