From 66f4e56389d97b61a4a17325201643ef6bd87e37 Mon Sep 17 00:00:00 2001 From: anders Date: Tue, 12 Nov 2002 12:33:56 +0000 Subject: New features: -- Support for runtime cpu detection -- Stand alone compile of libaf -- Unlimited number of channels (compiletime switch) -- Sample format defined by bit-fields -- New formats: float, A-Law and mu-law -- Format conversion set in human readable format i.e. format=4:us_be to set 32 bit unsigned big endian output -- Format reporting in human readable format -- Volume control has only one parameter for setting the volume i.e. volume=-10.0:1:0:1 to set atenuation = -10dB git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@8168 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libaf/af_mp.c | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 libaf/af_mp.c (limited to 'libaf/af_mp.c') diff --git a/libaf/af_mp.c b/libaf/af_mp.c new file mode 100644 index 0000000000..bbc3539e31 --- /dev/null +++ b/libaf/af_mp.c @@ -0,0 +1,41 @@ +#include "af.h" + +/* Decodes the format from mplayer format to libaf format */ +int af_format_decode(int ifmt) +{ + int ofmt = ~0; + // Check input ifmt + switch(ifmt){ + case(AFMT_U8): + ofmt = AF_FORMAT_LE|AF_FORMAT_US; break; + case(AFMT_S8): + ofmt = AF_FORMAT_LE|AF_FORMAT_SI; break; + case(AFMT_S16_LE): + ofmt = AF_FORMAT_LE|AF_FORMAT_SI; break; + case(AFMT_S16_BE): + ofmt = AF_FORMAT_BE|AF_FORMAT_SI; break; + case(AFMT_U16_LE): + ofmt = AF_FORMAT_LE|AF_FORMAT_US; break; + case(AFMT_U16_BE): + ofmt = AF_FORMAT_BE|AF_FORMAT_US; break; + case(AFMT_S32_LE): + ofmt = AF_FORMAT_LE|AF_FORMAT_SI; break; + case(AFMT_S32_BE): + ofmt = AF_FORMAT_BE|AF_FORMAT_SI; break; + case(AFMT_IMA_ADPCM): + ofmt = AF_FORMAT_IMA_ADPCM; break; + case(AFMT_MU_LAW): + ofmt = AF_FORMAT_MU_LAW; break; + case(AFMT_A_LAW): + ofmt = AF_FORMAT_A_LAW; break; + case(AFMT_MPEG): + ofmt = AF_FORMAT_MPEG2; break; + case(AFMT_AC3): + ofmt = AF_FORMAT_AC3; break; + default: + //This can not happen .... + af_msg(AF_MSG_FATAL,"Unrecognized input audio format %i\n",ifmt); + break; + } + return ofmt; +} -- cgit v1.2.3