+++ /dev/null
-/*
- synth_8bit.c: The functions for synthesizing 8bit samples, at the end of decoding.
-
- copyright 1995-2008 by the mpg123 project - free software under the terms of the LGPL 2.1
- see COPYING and AUTHORS files in distribution or http://mpg123.org
- initially written by Michael Hipp, heavily dissected and rearranged by Thomas Orgis
-*/
-
-#include "mpg123lib_intern.h"
-#include "sample.h"
-#include "debug.h"
-
-/*
- Part 2: All synth functions that produce 8bit output.
- What we need is just a special WRITE_SAMPLE. For the generic and i386 functions, that is.
- For the rather optimized synth_1to1, we will need the postprocessing 8bit converters from synth_8bit.h .
-*/
-
-#define SAMPLE_T unsigned char
-#define WRITE_SAMPLE(samples,sum,clip) WRITE_8BIT_SAMPLE(samples,sum,clip)
-
-/* Part 2a: All straight 1to1 decoding functions */
-#define BLOCK 0x40 /* One decoding block is 64 samples. */
-
-#define SYNTH_NAME synth_1to1_8bit
-#include "synth.h"
-#undef SYNTH_NAME
-
-/* Mono-related synths; they wrap over _some_ synth_1to1_8bit (could be generic, could be i386). */
-#define SYNTH_NAME fr->synths.plain[r_1to1][f_8]
-#define MONO_NAME synth_1to1_8bit_mono
-#define MONO2STEREO_NAME synth_1to1_8bit_m2s
-#include "synth_mono.h"
-#undef SYNTH_NAME
-#undef MONO_NAME
-#undef MONO2STEREO_NAME
-
-#ifdef OPT_X86
-#define NO_AUTOINCREMENT
-#define SYNTH_NAME synth_1to1_8bit_i386
-#include "synth.h"
-#undef SYNTH_NAME
-/* i386 uses the normal mono functions. */
-#undef NO_AUTOINCREMENT
-#endif
-
-/* But now, we need functions that take the 16bit output of optimized synth_1to1 and convert it.
- I suppose that is still faster than dropping the optimization altogether! */
-
-#define BASE_SYNTH_NAME fr->synths.plain[r_1to1][f_16]
-#define SYNTH_NAME synth_1to1_8bit_wrap
-#define MONO_NAME synth_1to1_8bit_wrap_mono
-#define MONO2STEREO_NAME synth_1to1_8bit_wrap_m2s
-#include "synth_8bit.h"
-#undef BASE_SYNTH_NAME
-#undef SYNTH_NAME
-#undef MONO_NAME
-#undef MONO2STEREO_NAME
-
-#undef BLOCK
-
-#ifndef NO_DOWNSAMPLE
-
-/*
- Part 2b: 2to1 synth. Only generic and i386.
-*/
-#define BLOCK 0x20 /* One decoding block is 32 samples. */
-
-#define SYNTH_NAME synth_2to1_8bit
-#include "synth.h"
-#undef SYNTH_NAME
-
-/* Mono-related synths; they wrap over _some_ synth_2to1_8bit (could be generic, could be i386). */
-#define SYNTH_NAME fr->synths.plain[r_2to1][f_8]
-#define MONO_NAME synth_2to1_8bit_mono
-#define MONO2STEREO_NAME synth_2to1_8bit_m2s
-#include "synth_mono.h"
-#undef SYNTH_NAME
-#undef MONO_NAME
-#undef MONO2STEREO_NAME
-
-#ifdef OPT_X86
-#define NO_AUTOINCREMENT
-#define SYNTH_NAME synth_2to1_8bit_i386
-#include "synth.h"
-#undef SYNTH_NAME
-/* i386 uses the normal mono functions. */
-#undef NO_AUTOINCREMENT
-#endif
-
-#undef BLOCK
-
-/*
- Part 2c: 4to1 synth. Only generic and i386.
-*/
-#define BLOCK 0x10 /* One decoding block is 16 samples. */
-
-#define SYNTH_NAME synth_4to1_8bit
-#include "synth.h"
-#undef SYNTH_NAME
-
-/* Mono-related synths; they wrap over _some_ synth_4to1_8bit (could be generic, could be i386). */
-#define SYNTH_NAME fr->synths.plain[r_4to1][f_8]
-#define MONO_NAME synth_4to1_8bit_mono
-#define MONO2STEREO_NAME synth_4to1_8bit_m2s
-#include "synth_mono.h"
-#undef SYNTH_NAME
-#undef MONO_NAME
-#undef MONO2STEREO_NAME
-
-#ifdef OPT_X86
-#define NO_AUTOINCREMENT
-#define SYNTH_NAME synth_4to1_8bit_i386
-#include "synth.h"
-#undef SYNTH_NAME
-/* i386 uses the normal mono functions. */
-#undef NO_AUTOINCREMENT
-#endif
-
-#undef BLOCK
-
-#endif /* NO_DOWNSAMPLE */
-
-#ifndef NO_NTOM
-/*
- Part 2d: ntom synth.
- Same procedure as above... Just no extra play anymore, straight synth that may use an optimized dct64.
-*/
-
-/* These are all in one header, there's no flexibility to gain. */
-#define SYNTH_NAME synth_ntom_8bit
-#define MONO_NAME synth_ntom_8bit_mono
-#define MONO2STEREO_NAME synth_ntom_8bit_m2s
-#include "synth_ntom.h"
-#undef SYNTH_NAME
-#undef MONO_NAME
-#undef MONO2STEREO_NAME
-
-#endif
-
-#undef SAMPLE_T
-#undef WRITE_SAMPLE