Opened 19 years ago

Closed 18 years ago

Last modified 18 years ago

#192 closed defect (fixed)

AC3 playback buggy when AltiVec optimisation enabled

Reported by: poing@… Owned by: diego@…
Priority: important Component: ad
Version: 1.0pre6 Severity: major
Keywords: Cc:
Blocked By: Blocking:
Reproduced by developer: no Analyzed by developer: no

Description

Hi,

when I play xvids with AC3 sound on my PowerBook (G4, 1.33ghz) using mplayer with altivec
optimisation enabled, there are little clicks in the background all the time. When I compile with
altivec disabled, the audio is fine with no clicks whatsoever. This has happened with pre5 and
CVS code of the last couple of months, and is unchanged in pre6.

Example (audio has constant quiet clicks in the background):

MPlayer 1.0pre6-3.3 (C) 2000-2004 MPlayer Team
AltiVec found
CPU: PowerPC

Playing tlf-2046.cd1.avi.
No matching VOBSUB language found!
AVI file format detected.
VIDEO: [DIVX] 640x256 12bpp 23.976 fps 1216.1 kbps (148.4 kbyte/s)
Clip info:

Software: VirtualDubMod 1.5.10.1 (build 2439/release)

SUB: Could not determine file format
Cannot load subtitles: ./tlf-2046.cd1.sub
===============================================================
===========
Opening audio decoder: [liba52] AC3 decoding with liba52
Using AltiVec optimized IMDCT transform
AC3: 5.1 (3f+2r+lfe) 48000 Hz 384.0 kbit/s
Checking for AltiVec resampler : 0x0000000a, 2
Using AltiVec optimized resampler
AUDIO: 48000 Hz, 2 ch, 16 bit (0x20), ratio: 48000->192000 (384.0 kbit)
Selected audio codec: [a52] afm:liba52 (AC3-liba52)
===============================================================
===========
===============================================================
===========
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Selected video codec: [ffodivx] vfm:ffmpeg (FFmpeg MPEG-4)
===============================================================
===========
Checking audio filter chain for 48000Hz/2ch/16bit -> 48000Hz/2ch/16bit...
AF_pre: af format: 2 bps, 2 ch, 48000 hz, big endian signed int
AF_pre: 48000Hz 2ch Signed 16-bit (Big-Endian)
AO: [macosx] 44100Hz 2ch Floating Point (4 bps)
Building audio filter chain for 48000Hz/2ch/16bit -> 44100Hz/2ch/32bit...
Starting playback...

---

Example (compiled without altivec, audio is fine):

MPlayer dev-CVS-041218-23:42-3.3 (C) 2000-2004 MPlayer Team
CPU: PowerPC

Playing tlf-2046.cd1.avi.
No matching VOBSUB language found!
AVI file format detected.
VIDEO: [DIVX] 640x256 12bpp 23.976 fps 1216.1 kbps (148.4 kbyte/s)
Clip info:

Software: VirtualDubMod 1.5.10.1 (build 2439/release)

SUB: Could not determine file format
Cannot load subtitles: ./tlf-2046.cd1.sub
===============================================================
===========
Opening audio decoder: [liba52] AC3 decoding with liba52
No accelerated IMDCT transform found
AC3: 5.1 (3f+2r+lfe) 48000 Hz 384.0 kbit/s
No accelerated resampler found
AUDIO: 48000 Hz, 2 ch, 16 bit (0x20), ratio: 48000->192000 (384.0 kbit)
Selected audio codec: [a52] afm:liba52 (AC3-liba52)
===============================================================
===========
===============================================================
===========
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Selected video codec: [ffodivx] vfm:ffmpeg (FFmpeg MPEG-4)
===============================================================
===========
Checking audio filter chain for 48000Hz/2ch/16bit -> 48000Hz/2ch/16bit...
AF_pre: af format: 2 bps, 2 ch, 48000 hz, big endian signed int
AF_pre: 48000Hz 2ch Signed 16-bit (Big-Endian)
AO: [macosx] 44100Hz 2ch Floating Point (4 bps)
Building audio filter chain for 48000Hz/2ch/16bit -> 44100Hz/2ch/32bit...

When I use the altivec optimised mplayer with -ao pcm and write a .wav file,
then play this wav file with the same mplayer, the sound is fine with no clicks.
Decoding to PCM seems to be ok, so maybe it's the altivec optimisation in the
resampler that's buggy?

Would be nice to fix this, since mplayer runs a lot faster when it's using altivec...
I've only encountered these clicks with AC3 files, not with MP3 audio.

poing

Change History (3)

comment:1 by ergzay@…, 19 years ago

I also get the same problem. I have 3 macs running various versions of OSX 10.3.x. One G5, one G4,
and one G3. So this appears to be a problem universal to all macs. I did not know that this could be
fixed by compiling with altivec disabled. By listening closer it appears the clicks only sound when there
is a sharp change in volume levels (but I could be wrong here). The clicks are not at constant intervals,
they change depending on the sound. I can confirm that this bug is fixed with the latest CVS code (as of
2:35 AM EDT 9/6/05). So in order to fix the problem just update to the latest CVS code and problem is
fixed. The file I tried has clicks with earlier versions but no clicks with CVS. Here is the play log:

Draco:~/main ergzay$ mplayer -cache 8000 /Volumes/Macintosh\ HD-1/Users/ergzay/Desktop/
LaCie_HD/Gundam\ Seed\ Special/\[Ani-
Kraze\]_Gundam_SEED_Special_Edition_I_\[DVD_AC3\]_\[B8AC9036\].avi
MPlayer dev-CVS-050906-02:21-3.3 (C) 2000-2005 MPlayer Team
AltiVec found
CPU: PowerPC

Playing /Volumes/Macintosh HD-1/Users/ergzay/Desktop/LaCie_HD/Gundam Seed Special/[Ani-
Kraze]_Gundam_SEED_Special_Edition_I_[DVD_AC3]_[B8AC9036].avi.
Cache fill: 9.60% (0 bytes) AVI file format detected.
VIDEO: [DIVX] 704x400 24bpp 23.976 fps 1565.0 kbps (191.0 kbyte/s)
VIDEO: [DIVX] 704x400 24bpp 23.976 fps 1565.0 kbps (191.0 kbyte/s)
Clip info:

Software: VirtualDubMod 1.5.10.1 (build 2366/release)

===============================================================
===========
Opening audio decoder: [liba52] AC3 decoding with liba52
Using AltiVec optimized IMDCT transform
AC3: 2.0 (stereo) 48000 Hz 448.0 kbit/s
Checking for AltiVec resampler : 0x00000002, 2
Using AltiVec optimized resampler
AUDIO: 48000 Hz, 2 ch, s16be, 448.0 kbit/29.17% (ratio: 56000->192000)
Selected audio codec: [a52] afm:liba52 (AC3-liba52)
===============================================================
===========
Opening video filter: [pp=ha/va/dr]
Opening video filter: [scale]
===============================================================
===========
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Selected video codec: [ffodivx] vfm:ffmpeg (FFmpeg MPEG-4)
===============================================================
===========
Building audio filter chain for 48000Hz/2ch/s16be -> 0Hz/0ch/s8...
AO: [macosx] 48000Hz 2ch s16be (2 B/s)
Building audio filter chain for 48000Hz/2ch/s16be -> 48000Hz/2ch/s16be...
Starting playback...
VDec: vo config request - 704 x 400 (preferred csp: Planar YV12)
[PP] Using external postprocessing filter, max q = 6.
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 1.76:1 - prescaling to correct movie aspect.
SwScaler: using unscaled Planar YV12 -> Packed YUY2 special converter
VO: [macosx] 704x400 => 704x400 Packed YUY2 [fs]
A: 32.7 V: 32.3 A-V: 0.427 ct: 0.007 775/775 24% 45% 1.8% 1 0 49%
Exiting... (Quit)

comment:2 by diego@…, 18 years ago

Component: aoad
op_sys: Mac OS XAll
Owner: changed from alex@… to diego@…

comment:3 by diego@…, 18 years ago

Resolution: fixed
Status: newclosed

I believe the problem was recently fixed in CVS. Reopen the bug if the issue is
still present.

Note: See TracTickets for help on using tickets.