hwac3, AC3 passthrough

Alexander Popov aopopov at yahoo.com
Fri Jun 6 18:14:27 UTC 2008


Hi,
For a few days already I've been trying to get mplayer to output on S/PDIF, but no luck... Could anybody help?

- I've got Trust SC-5250 sound card (CMI8738 chip) that works fine in stereo mode with snd_cmi driver
- I'm using FreeBSD 7.0-REL
- did set sysctl dev.pcm.0.spdif_enabled=1
- compiled mplayer from ports

Whatever I do, I get the following output:
"[format] Sample format big-endian AC3 not yet supported
[libaf] Reinitialization did not work, audio filter 'format' returned error code -2
Couldn't find matching filter/ao format!"

And then through standard analog out I hear some low noise, but nothing on spdif...

# cat /dev/sndstat
FreeBSD Audio Driver (newpcm: 32bit 2007061600/i386)
Installed devices:
pcm0: <CMedia CMI8738> at io 0xdc00 irq 12 kld snd_cmi [MPSAFE] (1p:1v/1r:1v channels duplex default)
#

# sysctl -a | grep pcm
dev.pcm.0.%desc: CMedia CMI8738
dev.pcm.0.%driver: pcm
dev.pcm.0.%location: slot=9 function=0
dev.pcm.0.%pnpinfo: vendor=0x13f6 device=0x0111 subvendor=0x13f6 subdevice=0x0111 class=0x040100
dev.pcm.0.%parent: pci0
dev.pcm.0.play.vchans: 1
dev.pcm.0.play.vchanrate: 48000
dev.pcm.0.play.vchanformat: s16le
dev.pcm.0.rec.vchans: 1
dev.pcm.0.rec.vchanrate: 48000
dev.pcm.0.rec.vchanformat: s16le
dev.pcm.0.buffersize: 16384
dev.pcm.0.spdif_enabled: 1
#

And this is the full output I get from mplayer:

# mplayer -v -vo null -afm hwac3 4EL_PAUK_3_scteam.ru.avi
MPlayer 1.0rc2-4.2.1 (C) 2000-2007 MPlayer Team
CPU: AMD Athlon(tm) processor (Family: 6, Model: 4, Stepping: 4)
CPUflags:  MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 0 SSE2: 0
Compiled with runtime CPU detection.
get_path('codecs.conf') -> '/root/.mplayer/codecs.conf'
Reading /root/.mplayer/codecs.conf: Can't open '/root/.mplayer/codecs.conf': No such file or directory
Reading /usr/local/etc/mplayer/codecs.conf: Can't open '/usr/local/etc/mplayer/codecs.conf': No such file or directory
Using built-in default codecs.conf.
Configuration: --enable-png --enable-menu --disable-faad-external --disable-vidix-external --disable-tv-v4l1 --disable-tv-v4l2 --disable-dvdnav --disable-dvdread --disable-ssse3 --disable-faac --disable-twolame --disable-mencoder --disable-inet6 --disable-mad --disable-libdv --disable-tremor-internal --disable-tremor-external --disable-musepack --enable-libdca --enable-speex --disable-xanim --disable-live --disable-xmms --disable-jack --disable-nas --disable-openal --disable-smb --disable-fribidi --disable-cdparanoia --disable-libcdio --disable-ladspa --disable-liblzo --enable-runtime-cpudetection --win32codecsdir=/usr/local/lib/win32 --enable-real --realcodecsdir=/usr/local/lib/win32 --enable-gui --with-extraincdir=/usr/local/include/freetype2 --enable-freetype --disable-rtc --disable-arts --disable-caca --disable-lirc --disable-sdl --disable-svga --disable-aa --disable-esd --disable-joystick --x-libraries=/usr/local/lib --x-includes=/usr/local/include
 --prefix=/usr/local --mandir=/usr/local/man --build=i386-portbld-freebsd7.0
CommandLine: '-v' '-vo' 'null' '-afm' 'hwac3' '4EL_PAUK_3_scteam.ru.avi'
init_freetype
get_path('font/font.desc') -> '/root/.mplayer/font/font.desc'
font: can't open file: /root/.mplayer/font/font.desc
font: can't open file: /usr/local/share/mplayer/font/font.desc
Using MMX (with tiny bit MMX2) Optimized OnScreenDisplay
get_path('fonts') -> '/root/.mplayer/fonts'
Using nanosleep() timing
get_path('input.conf') -> '/root/.mplayer/input.conf'
Can't open input config file /root/.mplayer/input.conf: No such file or directory
Can't open input config file /usr/local/etc/mplayer/input.conf: No such file or directory
Falling back on default (hardcoded) input config
get_path('4EL_PAUK_3_scteam.ru.avi.conf') -> '/root/.mplayer/4EL_PAUK_3_scteam.ru.avi.conf'

Playing 4EL_PAUK_3_scteam.ru.avi.
get_path('sub/') -> '/root/.mplayer/sub/'
[file] File size is 1481095168 bytes
STREAM: [file] 4EL_PAUK_3_scteam.ru.avi
STREAM: Description: File
STREAM: Author: Albeu
STREAM: Comment: based on the code from ??? (probably Arpi)
LAVF_check: avi format
AVI file format detected.
list_end=0x2286
======= AVI Header =======
us/frame: 40000  (fps=25.000)
max bytes/sec: 0
padding: 0
MainAVIHeader.dwFlags: (272) HAS_INDEX IS_INTERLEAVED
frames  total: 200150   initial: 0
streams: 2
Suggested BufferSize: 0
Size:  640 x 272
==========================
list_end=0x10F4
==> Found video stream: 0
[aviheader] Video stream found, -vid 0
====== STREAM Header =====
Type: vids   FCC: xvid (64697678)
Flags: 0
Priority: 0   Language: 0
InitialFrames: 0
Rate: 25/1 = 25.000
Start: 0   Len: 200150
Suggested BufferSize: 73346
Quality 10000
Sample size: 0
==========================
Found 'bih', 40 bytes of 40
======= VIDEO Format ======
  biSize 40
  biWidth 640
  biHeight 272
  biPlanes 1
  biBitCount 12
  biCompression 1145656920='XVID'
  biSizeImage 1044480
===========================
Regenerating keyframe table for MPEG-4 video.
list_end=0x217A
==> Found audio stream: 1
[aviheader] Audio stream found, -aid 1
====== STREAM Header =====
Type: auds   FCC:  (0)
Flags: 0
Priority: 0   Language: 0
InitialFrames: 1
Rate: 48000/1 = 48000.000
Start: 0   Len: 384287232
Suggested BufferSize: 4608
Quality -1
Sample size: 1
==========================
Found 'wf', 18 bytes of 18
======= WAVE Format =======
Format Tag: 8192 (0x2000)
Channels: 6
Samplerate: 48000
avg byte/sec: 48000
Block align: 1
bits/sample: 0
cbSize: 0
==========================================================================
list_end=0x2286
AVI: dmlh found (size=248) (total_frames=200150)
list_end=0x22C6
hdr=Software  size=43
Software  : VirtualDubMod 1.5.4.1 (build 2178/release)
list_end=0x58027D5E
Found movie at 0x280C - 0x58027D5E
Reading INDEX block, 283546 chunks for 200150 frames (fpos=1476558182).
AVI index offset: 0x2808 (movi=0x280C idx0=0x4 idx1=0x120C)
Auto-selected AVI audio ID = 1
Auto-selected AVI video ID = 0
AVI: Searching for audio stream (id:1)
AVI video size=1089891503 (200150) audio size=384287232 (384287232)
VIDEO:  [XVID]  640x272  12bpp  25.000 fps  1089.1 kbps (132.9 kbyte/s)
[V] filefmt:3  fourcc:0x44495658  size:640x272  fps:25.00  ftime:=0.0400
Clip info:
 Software: VirtualDubMod 1.5.4.1 (build 2178/release)
get_path('sub/') -> '/root/.mplayer/sub/'
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
INFO: libavcodec init OK!
Selected video codec: [ffodivx] vfm: ffmpeg (FFmpeg MPEG-4)
==========================================================================
==========================================================================
Trying to force audio codec driver family hwac3...
Opening audio decoder: [hwac3] AC3/DTS pass-through S/PDIF
dec_audio: Allocating 8192 bytes for input buffer.
dec_audio: Allocating 16384 + 65536 = 81920 bytes for output buffer.
No accelerated IMDCT transform found
hwac3: switched to AC3, 384000 bps, 48000 Hz
AUDIO: 48000 Hz, 2 ch, ac3, 384.0 kbit/25.00% (ratio: 48000->192000)
Selected audio codec: [hwac3] afm: hwac3 (AC3 through S/PDIF)
==========================================================================
Building audio filter chain for 48000Hz/2ch/ac3 -> 0Hz/0ch/??...
[libaf] Adding filter dummy
[dummy] Was reinitialized: 48000Hz/2ch/ac3
[dummy] Was reinitialized: 48000Hz/2ch/ac3
ao2: 48000 Hz  2 chans  ac3
audio_setup: using '/dev/dsp' dsp device
audio_setup: using '/dev/mixer' mixer device
audio_setup: using 'pcm' mixer device
[AO OSS] Can't set audio device /dev/dsp to ac3 output, trying s16le...
audio_setup: sample format: s16le (requested: s16le)
audio_setup: using 2 channels (requested: 2)
audio_setup: using 48000 Hz samplerate (requested: 48000)
audio_setup: frags:  32/32  (2048 bytes/frag)  free:  65536
AO: [oss] 48000Hz 2ch s16le (2 bytes per sample)
AO: Description: OSS/ioctl audio output
AO: Author: A'rpi
Building audio filter chain for 48000Hz/2ch/ac3 -> 48000Hz/2ch/s16le...
[dummy] Was reinitialized: 48000Hz/2ch/ac3
[libaf] Adding filter format
[format] Sample format big-endian AC3 not yet supported
[libaf] Reinitialization did not work, audio filter 'format' returned error code -2
Couldn't find matching filter/ao format!
Starting playback...
XXX initial  v_pts=0.000  a_pos=4608 (0.096)
[ffmpeg] aspect_ratio: 2.352941
VDec: vo config request - 640 x 272 (preferred colorspace: Planar YV12)
Trying filter chain: vo
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 2.35:1 - prescaling to correct movie aspect.
VO Config (640x272->640x272,flags=0,'MPlayer',0x32315659)
VO: [null] 640x272 => 640x272 Planar YV12
VO: Description: Null video output
VO: Author: Aaron Holtzman <aholtzma at ess.engr.uvic.ca>
*** [vo] Allocating (slices) mp_image_t, 640x272x12bpp YUV planar, 261120 bytes
*** [vo] Allocating (slices) mp_image_t, 640x272x12bpp YUV planar, 261120 bytes
*** [vo] Allocating (slices) mp_image_t, 640x272x12bpp YUV planar, 261120 bytes
A:   1.2 V:   1.2 A-V:  0.005 ct:  0.000  31/ 31  3%  0%  0.4% 0 0

MPlayer interrupted by signal 2 in module: sleep_timer
Uninit audio: hwac3
Uninit video: ffmpeg
vo: x11 uninit called but X11 not inited..
#


      


More information about the freebsd-multimedia mailing list