Mercurial > mplayer.hg
diff libaf/af_mp.c @ 8167:e8832e66babd
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
author | anders |
---|---|
date | Tue, 12 Nov 2002 12:33:56 +0000 |
parents | |
children | 1205e37a3ab2 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/libaf/af_mp.c Tue Nov 12 12:33:56 2002 +0000 @@ -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; +}