Jacob Meuser wrote:
On Sun, Dec 20, 2009 at 01:03:28PM -0600, Chris Bennett wrote:
I've just gotten a new setup with azalia

Can I output ac3 with something like mplayer to spdif and then
decode it externally?
Or even better, decode it internally and output the channels?

you can decode and play it locally.  pretty sure your azalia codec
supports multichannel output.  you'll have to use the -channels
switch in mplayer, or it will downmix to stereo by default.

I don't have any s/pdif gear, so I can't really comment on that.

OpenBSD 4.6-current (GENERIC.MP) #351: Mon Dec 14 00:42:17 MST 2009
   dera...@i386.openbsd.org:/usr/src/sys/arch/i386/compile/GENERIC.MP
cpu0: Intel(R) Pentium(R) 4 CPU 3.20GHz ("GenuineIntel" 686-class) 3.20 GHz
cpu0: 
FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,SBF,SSE3,MWAIT,DS-CPL,CNXT-ID,xTPR
real mem  = 517361664 (493MB)
avail mem = 492638208 (469MB)
mainbus0 at root
bios0 at mainbus0: AT/286+ BIOS, date 07/16/06, SMBIOS rev. 2.4 @
0xe4410 (32 entries)
bios0: vendor Intel Corp. version "MQ96510J.86A.0816.2006.0716.2308"
date 07/16/2006
bios0: Intel Corporation DQ963FX
acpi0 at bios0: rev 0
acpi0: tables DSDT FACP APIC WDDT MCFG ASF!
acpi0: wakeup devices SLPB(S4) P32_(S4) UAR1(S4) UAR2(S4) ILAN(S4)
PEX0(S4) PEX1(S4) PEX2(S4) PEX3(S4) PEX4(S4) PEX5(S4) UHC1(S3)
UHC2(S3) UHC3(S3) UHC4(S3) EHCI(S3) EHC2(S3) UH42(S3) UHC5(S3)
AZAL(S3)
acpitimer0 at acpi0: 3579545 Hz, 24 bits
acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: apic clock running at 199MHz
cpu1 at mainbus0: apid 1 (application processor)
cpu1: Intel(R) Pentium(R) 4 CPU 3.20GHz ("GenuineIntel" 686-class) 3.20 GHz
cpu1: 
FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,SBF,SSE3,MWAIT,DS-CPL,CNXT-ID,xTPR
ioapic0 at mainbus0: apid 2 pa 0xfec00000, version 20, 24 pins
ioapic0: misconfigured as apic 0, remapped to apid 2
acpiprt0 at acpi0: bus 0 (PCI0)
acpiprt1 at acpi0: bus 6 (P32_)
acpiprt2 at acpi0: bus 1 (PEX0)
acpiprt3 at acpi0: bus 2 (PEX1)
acpiprt4 at acpi0: bus 3 (PEX2)
acpiprt5 at acpi0: bus 4 (PEX3)
acpiprt6 at acpi0: bus 5 (PEX4)
acpiprt7 at acpi0: bus -1 (PEX5)
acpicpu0 at acpi0
acpicpu1 at acpi0
acpibtn0 at acpi0: SLPB
bios0: ROM list: 0xc0000/0xb000! 0xcb000/0x1000 0xcc000/0x1000
pci0 at mainbus0 bus 0: configuration mode 1 (bios)
pchb0 at pci0 dev 0 function 0 "Intel 82Q965 Host" rev 0x02
vga1 at pci0 dev 2 function 0 "Intel 82Q965 Video" rev 0x02
wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
intagp0 at vga1
agp0 at intagp0: aperture at 0x20000000, size 0x10000000
inteldrm0 at vga1: apic 2 int 16 (irq 11)
drm0 at inteldrm0
"Intel 82Q965 HECI" rev 0x02 at pci0 dev 3 function 0 not configured
em0 at pci0 dev 25 function 0 "Intel ICH8 IGP C" rev 0x02: apic 2
int 20 (irq 9), address 00:16:76:d5:c8:08
uhci0 at pci0 dev 26 function 0 "Intel 82801H USB" rev 0x02: apic 2
int 16 (irq 11)
uhci1 at pci0 dev 26 function 1 "Intel 82801H USB" rev 0x02: apic 2
int 21 (irq 10)
ehci0 at pci0 dev 26 function 7 "Intel 82801H USB" rev 0x02: apic 2
int 18 (irq 11)
usb0 at ehci0: USB revision 2.0
uhub0 at usb0 "Intel EHCI root hub" rev 2.00/1.00 addr 1
azalia0 at pci0 dev 27 function 0 "Intel 82801H HD Audio" rev 0x02:
apic 2 int 22 (irq 9)
azalia0: codecs: Sigmatel STAC9227X
audio0 at azalia0
ppb0 at pci0 dev 28 function 0 "Intel 82801H PCIE" rev 0x02: apic 2
int 17 (irq 255)
pci1 at ppb0 bus 1
ppb1 at pci0 dev 28 function 1 "Intel 82801H PCIE" rev 0x02: apic 2
int 16 (irq 255)
pci2 at ppb1 bus 2
pciide0 at pci2 dev 0 function 0 "Marvell 88SE6101 IDE" rev 0xb1:
DMA (unsupported), channel 0 configured to native-PCI, channel 1
configured to native-PCI
pciide0: using apic 2 int 17 (irq 10) for native-PCI interrupt
pciide0: channel 0 ignored (not responding; disabled or no drives?)
pciide0: channel 1 ignored (not responding; disabled or no drives?)
ppb2 at pci0 dev 28 function 2 "Intel 82801H PCIE" rev 0x02: apic 2
int 18 (irq 255)
pci3 at ppb2 bus 3
ppb3 at pci0 dev 28 function 3 "Intel 82801H PCIE" rev 0x02: apic 2
int 19 (irq 255)
pci4 at ppb3 bus 4
ppb4 at pci0 dev 28 function 4 "Intel 82801H PCIE" rev 0x02: apic 2
int 17 (irq 255)
pci5 at ppb4 bus 5
uhci2 at pci0 dev 29 function 0 "Intel 82801H USB" rev 0x02: apic 2
int 23 (irq 11)
uhci3 at pci0 dev 29 function 1 "Intel 82801H USB" rev 0x02: apic 2
int 19 (irq 11)
uhci4 at pci0 dev 29 function 2 "Intel 82801H USB" rev 0x02: apic 2
int 18 (irq 11)
ehci1 at pci0 dev 29 function 7 "Intel 82801H USB" rev 0x02: apic 2
int 23 (irq 11)
usb1 at ehci1: USB revision 2.0
uhub1 at usb1 "Intel EHCI root hub" rev 2.00/1.00 addr 1
ppb5 at pci0 dev 30 function 0 "Intel 82801BA Hub-to-PCI" rev 0xf2
pci6 at ppb5 bus 6
bktr0 at pci6 dev 0 function 0 "Brooktree BT878" rev 0x11: apic 2
int 21 (irq 10)
bktr0: ATI TV-Wonder/VE, Philips NTSC tuner.
"Brooktree BT878 Audio" rev 0x11 at pci6 dev 0 function 1 not configured
ichpcib0 at pci0 dev 31 function 0 "Intel 82801H LPC" rev 0x02: PM disabled
pciide1 at pci0 dev 31 function 2 "Intel 82801H SATA" rev 0x02: DMA,
channel 0 configured to native-PCI, channel 1 configured to
native-PCI
pciide1: using apic 2 int 19 (irq 11) for native-PCI interrupt
atapiscsi0 at pciide1 channel 0 drive 0
scsibus0 at atapiscsi0: 2 targets
cd0 at scsibus0 targ 0 lun 0: <ATAPI, iHAS324 Y, BL1X> ATAPI 5/cdrom
removable
cd0(pciide1:0:0): using PIO mode 4, Ultra-DMA mode 5
ichiic0 at pci0 dev 31 function 3 "Intel 82801H SMBus" rev 0x02:
apic 2 int 21 (irq 10)
iic0 at ichiic0
spdmem0 at iic0 addr 0x50: 512MB DDR2 SDRAM non-parity PC2-4200CL3
pciide2 at pci0 dev 31 function 5 "Intel 82801H SATA" rev 0x02: DMA,
channel 0 wired to native-PCI, channel 1 wired to native-PCI
pciide2: using apic 2 int 19 (irq 11) for native-PCI interrupt
wd0 at pciide2 channel 1 drive 0: <Hitachi HDS721050CLA362>
wd0: 16-sector PIO, LBA48, 476940MB, 976773168 sectors
wd0(pciide2:1:0): using PIO mode 4, Ultra-DMA mode 6
usb2 at uhci0: USB revision 1.0
uhub2 at usb2 "Intel UHCI root hub" rev 1.00/1.00 addr 1
usb3 at uhci1: USB revision 1.0
uhub3 at usb3 "Intel UHCI root hub" rev 1.00/1.00 addr 1
usb4 at uhci2: USB revision 1.0
uhub4 at usb4 "Intel UHCI root hub" rev 1.00/1.00 addr 1
usb5 at uhci3: USB revision 1.0
uhub5 at usb5 "Intel UHCI root hub" rev 1.00/1.00 addr 1
usb6 at uhci4: USB revision 1.0
uhub6 at usb6 "Intel UHCI root hub" rev 1.00/1.00 addr 1
isa0 at ichpcib0
isadma0 at isa0
com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
pckbc0 at isa0 port 0x60/5
pcppi0 at isa0 port 0x61
midi0 at pcppi0: <PC speaker>
spkr0 at pcppi0
lpt0 at isa0 port 0x378/4 irq 7
npx0 at isa0 port 0xf0/16: reported by CPUID; using exception 16
fdc0 at isa0 port 0x3f0/6 irq 6 drq 2
fd0 at fdc0 drive 0: 1.44MB 80 cyl, 2 head, 18 sec
mtrr: Pentium Pro MTRR support
uhub7 at uhub5 port 2 "ALCOR Generic USB Hub" rev 1.10/3.12 addr 2
uhidev0 at uhub7 port 1 configuration 1 interface 0 "Microsoft
Natural\M-. Ergonomic Keyboard 4000" rev 2.00/1.73 addr 3
uhidev0: iclass 3/1
ukbd0 at uhidev0: 8 modifier keys, 6 key codes
wskbd0 at ukbd0: console keyboard, using wsdisplay0
uhidev1 at uhub7 port 1 configuration 1 interface 1 "Microsoft
Natural\M-. Ergonomic Keyboard 4000" rev 2.00/1.73 addr 3
uhidev1: iclass 3/0, 1 report id
uhid0 at uhidev1 reportid 1: input=7, output=0, feature=0
uhidev2 at uhub7 port 2 configuration 1 interface 0 "Logitech USB
Receiver" rev 1.10/25.00 addr 4
uhidev2: iclass 3/1
ums0 at uhidev2: 16 buttons, Z dir
wsmouse0 at ums0 mux 0
uhidev3 at uhub7 port 3 configuration 1 interface 0 "No brand HA2
1.0" rev 1.10/1.00 addr 5
uhidev3: iclass 3/0
ukbd1 at uhidev3: 8 modifier keys, 6 key codes
wskbd1 at ukbd1 mux 1
wskbd1: connecting to wsdisplay0
uhidev4 at uhub7 port 3 configuration 1 interface 1 "No brand HA2
1.0" rev 1.10/1.00 addr 5
uhidev4: no input interrupt endpoint
vscsi0 at root
scsibus1 at vscsi0: 256 targets
softraid0 at root
root on wd0a swap on wd0b dump on wd0b

--
A human being should be able to change a diaper, plan an invasion,
butcher a hog, conn a ship, design a building, write a sonnet, balance
accounts, build a wall, set a bone, comfort the dying, take orders,
give orders, cooperate, act alone, solve equations, analyze a new
problem, pitch manure, program a computer, cook a tasty meal, fight
efficiently, die gallantly. Specialization is for insects.
  -- Robert Heinlein

Now how do I get these channels out?
I find the mixerctl output for this one, rather confusing

There are three plugs on back and an HD audio connection and also a front panel connection on the board.

With mplayer running:

# mplayer -channels 6 title01.vob MPlayer SVN-r29414-snapshot-3.3.5 (C) 2000-2009 MPlayer Team

Playing title01.vob.
MPEG-PS file format detected.
VIDEO:  MPEG2  720x480  (aspect 3)  29.970 fps  9800.0 kbps (1225.0 kbyte/s)
==========================================================================
Opening video decoder: [mpegpes] MPEG 1/2 Video passthrough
VDec: vo config request - 720 x 480 (preferred colorspace: Mpeg PES)
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
The selected video_out device is incompatible with this codec.
Try appending the scale filter to your filter list,
e.g. -vf spp,scale instead of -vf spp.
VDecoder init failed :(
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Unsupported PixelFormat -1
Selected video codec: [ffmpeg2] vfm: ffmpeg (FFmpeg MPEG-2)
==========================================================================
==========================================================================
Opening audio decoder: [liba52] AC3 decoding with liba52
Using SSE optimized IMDCT transform
Using MMX optimized resampler
AUDIO: 48000 Hz, 6 ch, s16le, 448.0 kbit/9.72% (ratio: 56000->576000)
Selected audio codec: [a52] afm: liba52 (AC3-liba52)
==========================================================================
AO: [sndio] 48000Hz 2ch s16le (2 bytes per sample)
Starting playback...
a52: CRC check failed! Compiler did not align stack variables. Libavcodec has been miscompiled
and may be very slow or crash. This is not a bug in libavcodec,
but in the compiler. You may try recompiling using gcc >= 4.2.
Do not report crashes to FFmpeg developers.
VDec: vo config request - 720 x 480 (preferred colorspace: Planar YV12)
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 1.78:1 - prescaling to correct movie aspect.
VO: [xv] 720x480 => 854x480 Planar YV12
A: 153.8 V: 151.7 A-V:  2.150 ct:  0.551 169/166  7%  1%  2.0% 3 0
demux_mpg: 24000/1001fps progressive NTSC content detected, switching framerate.





name=HD-Audio
version=1.0
config=azalia0
encodings=slinear_le:16,slinear_le:20,slinear_le:24
properties=full_duplex,independent
full_duplex=1
fullduplex=1
blocksize=11648
hiwat=2
lowat=1
output_muted=0
monitor_gain=0
mode=play,record
play.rate=44100
play.sample_rate=44100
play.channels=2
play.precision=16
play.encoding=slinear_le
play.gain=255
play.balance=32
play.port=0x0
play.avail_ports=0x0
play.seek=23296
play.samples=104307840
play.eof=0
play.pause=0
play.error=0
play.waiting=0
play.open=1
play.active=1
play.buffer_size=65536
play.block_size=11648
play.errors=0
record.rate=44100
record.sample_rate=44100
record.channels=2
record.precision=16
record.encoding=slinear_le
record.gain=0
record.balance=32
record.port=0x0
record.avail_ports=0x0
record.seek=0
record.samples=104307840
record.eof=0
record.pause=0
record.error=0
record.waiting=0
record.open=1
record.active=1
record.buffer_size=65536
record.block_size=11648
record.errors=0


inputs.dac-0:1_mute=off  [ off on ]
inputs.dac-0:1=254,254
inputs.dac-2:3_mute=off  [ off on ]
inputs.dac-2:3=126,126
inputs.vendor_mute=off  [ off on ]
inputs.vendor=126,126
outputs.hp_source=dac-0:1  [ dac-0:1 dac-2:3 ]
outputs.hp_dir=output  [ none output input input-vr0 input-vr50 input-vr80 ]
outputs.hp_boost=off  [ off on ]
outputs.mic_source=dac-0:1  [ dac-0:1 dac-2:3 ]
outputs.mic_dir=input-vr80 [ none output input input-vr0 input-vr50 input-vr80 ]
outputs.mic_boost=off  [ off on ]
outputs.line-in_source=dac-2:3  [ dac-2:3 ]
outputs.line-in_dir=input [ none output input input-vr0 input-vr50 input-vr80 ]
outputs.spkr_source=dac-0:1  [ dac-0:1 ]
outputs.spkr_dir=output [ none output input input-vr0 input-vr50 input-vr80 ]
outputs.spkr_boost=off  [ off on ]
inputs.sel_source=  [ mic line-in spkr hp ]
outputs.sel=126,126
inputs.sel2_source=  [ mic line-in spkr hp ]
outputs.sel2=126,126
inputs.sel3_source=  [ mic line-in spkr hp ]
outputs.sel3=126,126
inputs.sel4_source=sel  [ sel ]
inputs.sel4_sel=126,126
inputs.sel5_source=sel2  [ sel2 ]
inputs.sel5_sel2=126,126
inputs.sel6_source=sel3  [ sel3 ]
inputs.sel6_sel3=126,126
record.adc-0:1_source=sel4  [ sel4 ]
record.adc-0:1_mute=off  [ off on ]
record.adc-2:3_source=sel5  [ sel5 ]
record.adc-2:3_mute=off  [ off on ]
record.adc-4:5_source=sel6  [ sel6 ]
record.adc-4:5_mute=off  [ off on ]
record.dig-adc-0:1_sou=SPDIF-in  [ SPDIF-in ]
outputs.SPDIF_source=dig-dac-0:1 [ dig-dac-0:1 vendor4 adc-0:1 adc-2:3 adc-4:5 ]
outputs.SPDIF-in_eapd=on  [ off on ]
inputs.beep=85
outputs.hp_sense=unplugged  [ unplugged plugged ]
outputs.mic_sense=unplugged  [ unplugged plugged ]
outputs.line-in_sense=unplugged  [ unplugged plugged ]
outputs.spkr_sense=plugged  [ unplugged plugged ]
outputs.master=255,255
outputs.master.mute=off  [ off on ]
outputs.master.slaves=dac-0:1  { dac-0:1 dac-2:3 vendor sel sel2 sel3 beep }
record.volume=0,0
record.volume.mute=off  [ off on ]
record.volume.slaves=adc-0:1,adc-2:3,adc-4:5  { adc-0:1 adc-2:3 adc-4:5 }
outputs.mode=analog  [ analog digital ]
record.mode=analog  [ analog digital ]



--
A human being should be able to change a diaper, plan an invasion,
butcher a hog, conn a ship, design a building, write a sonnet, balance
accounts, build a wall, set a bone, comfort the dying, take orders,
give orders, cooperate, act alone, solve equations, analyze a new
problem, pitch manure, program a computer, cook a tasty meal, fight
efficiently, die gallantly. Specialization is for insects.
  -- Robert Heinlein

Reply via email to