Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 144189 - media-video/mplayer: ebuild diff to enable libvorbis over internal tremor
Summary: media-video/mplayer: ebuild diff to enable libvorbis over internal tremor
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Media-video project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-08-17 02:30 UTC by Sebastian
Modified: 2006-08-17 05:24 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
mplayer-1.0_pre8.diff (mplayer-1.0_pre8.diff,900 bytes, patch)
2006-08-17 02:31 UTC, Sebastian
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Sebastian 2006-08-17 02:30:54 UTC
Hi all,

current usage of "vorbis" in USE makes mplayer use its internal tremor lib to decode vorbis. The diff changes that. In case "vorbis" is set libvorbis becomes a dep, mplayer is linked against it and the internal tremor lib is disabled. In case "vorbis" is unset vorbis is disabled as always.

Tested it and it works:

ldd /usr/bin/mplayer
...
        libvorbis.so.0 => /usr/lib/libvorbis.so.0 (0xb7f85000)
        libogg.so.0 => /usr/lib/libogg.so.0 (0xb7f80000)
...

ReplayGain tags also keep working:

...
OggVorbis: Bitstream is 2 channels, 48000Hz, 128000bit/s VBR
OggVorbis: Gain = +15.32 dB, Peak = 0.2164, Scale = 4.62
OggVorbis: Encoded by: Xiph.Org libVorbis I 20050304
OggVorbis: Init OK!
...

I think this should be the default behaviour, because:
- tremor is a fixed-point arithmetic codec intended for use with hardware that comes without a fpu
- dynamic linking is preferable
- who knows when updates in libvorbis make it into mplayer's internal tremor
- libvorbis is faster

Benchmarks:

http://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/2006-August/044912.html
http://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/2006-August/044913.html

Chatter:

Some dozen posts this month, beginning here: http://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/2006-July/044840.html
(splits into "Vorbis decoding performance" and "removing internal tremor"

Regards
Sebastian
Comment 1 Sebastian 2006-08-17 02:31:21 UTC
Created attachment 94439 [details, diff]
mplayer-1.0_pre8.diff
Comment 2 Luca Barbato gentoo-dev 2006-08-17 04:03:50 UTC
tremor is faster than libvorbis and slower than ffvorbis.

The next snapshot won't provide tremor at all.
Comment 3 Sebastian 2006-08-17 04:56:01 UTC
I'm sorry, could you be a bit clearer on this? What do you mean by "The next snapshot won't provide tremor at all"? Will upstream remove tremor? It doesn't seem so on the mplayer-dev-eng mailing list, there seems to be a certain amount of uncertainty about that. Or do you mean that the Gentoo ebuild maintainer(s) will disable internal tremor like I suggested above? In the latter case, will libvorbis be selectable through the USE flag "vorbis"? I wouldn't like being forced to use ffvorbis (which is build with or without "vorbis" in USE).

Regards
Sebastian
Comment 4 Luca Barbato gentoo-dev 2006-08-17 05:06:41 UTC
The possibilities are:
- update tremor internal copy in mplayer-> good for arm and other fpu-less cpus
- provide a snapshot for tremor in gentoo once it will be removed from mplayer-> a pain for me
- leave ffvorbis as the only solution -> it has the best performance on floating point cpus.

In none of them libvorbis appears because:
- has lesser performance than the other solutions
- mplayer doesn't encode in vorbis (yet)
- is an external dependency
Comment 5 Sebastian 2006-08-17 05:24:18 UTC
Thanks for clearing that up.