view doc/NEW_FORMATS @ 4699:7bf9affe88b6

Use also GCC inline assembler for detecting SSE2 support, because apparently intrinsics get compiled to nothing in some cases where SSE2 is not supported, thus making the test give a false positive upon execution.
author Matti Hamalainen <ccr@tnsp.org>
date Sun, 06 Jul 2008 15:33:19 +0300
parents 8ce4e7f5b827
children
line wrap: on
line source

Since 38449056c293 input plugins can open audio output in their's native format,
without worrying of output plugin's capabilities. Audio stream will be converted to format specified
in prefs win (currently FMT_S16_NE and FMT_S24_NE). Dithering will be applied automatically if
precision loss expected (except FMT_*32_*, on which dithering can cause clipping).

For full list of available formats see plugin.h

Known issues:

1. postproc_flow can deal only with S16_NE streams, so it will be bypassed in 24bit mode, i.e.: no vis, no equalizer, no softvolume.
2. Currently none of output plugins supports 24bit output :)

Possible solution:

1. It's easy to produce S16_NE stream directly from decoder's output special for vis_flow, as far as the latter has no output.
2. Switch equalizer and softvolume (and, in perspective, DSP PAPI) to floating-point. Another solution can cause precision
   loss and avoid dithering. Why floating-point, not fixed? Because:
     1. libsamplerate requires it.
     2. Floating-point is standard for inter-component and inter-process audio exchange (LADSPA, JACK etc.).

Have a look at proposed_pipeline.dia

-- asphyx