Mercurial > mplayer.hg
view libao2/afmt.c @ 11118:344052fdfc4a
Fix colorkey for xvidix, tested on Riva128 4MB X@15/16/24bpp (aka 15/15/32 in nvidia_vid)
This is very cool, using mplayer -vo xvidix -ao oss -framedrop -dr movie.avi I can play
640x272 DivX 1MBps on PII 233, 64MB, i440LX, Riva128 4MB AGP, FreeBSD 5.0, XFree 4.2.0,
with little framedrop,
author | atmos4 |
---|---|
date | Tue, 14 Oct 2003 21:29:25 +0000 |
parents | c8677169cc2c |
children | 131b6c682863 |
line wrap: on
line source
#include <stdio.h> #include <stdlib.h> #include "../config.h" #include "afmt.h" char *audio_out_format_name(int format) { switch (format) { case AFMT_MU_LAW: return("Mu-Law"); case AFMT_A_LAW: return("A-Law"); case AFMT_IMA_ADPCM: return("Ima-ADPCM"); case AFMT_S8: return("Signed 8-bit"); case AFMT_U8: return("Unsigned 8-bit"); case AFMT_U16_LE: return("Unsigned 16-bit (Little-Endian)"); case AFMT_U16_BE: return("Unsigned 16-bit (Big-Endian)"); case AFMT_S16_LE: return("Signed 16-bit (Little-Endian)"); case AFMT_S16_BE: return("Signed 16-bit (Big-Endian)"); case AFMT_MPEG: return("MPEG (2) audio"); case AFMT_AC3: return("AC3"); /* the following two formats are not available with old linux kernel headers (e.g. in 2.2.16) */ #ifdef AFMT_S32_LE case AFMT_S32_LE: return("Signed 32-bit (Little-Endian)"); #endif #ifdef AFMT_S32_BE case AFMT_S32_BE: return("Signed 32-bit (Big-Endian)"); #endif case AFMT_FLOAT: return("Floating Point"); } return("Unknown"); } // return number of bits for 1 sample in one channel, or 8 bits for compressed int audio_out_format_bits(int format){ switch (format) { case AFMT_S16_LE: case AFMT_S16_BE: case AFMT_U16_LE: case AFMT_U16_BE: return 16;//16 bits /* the following two formats are not available with old linux kernel headers (e.g. in 2.2.16) */ #ifdef AFMT_S32_LE case AFMT_S32_LE: return 32; #endif #ifdef AFMT_S32_BE case AFMT_S32_BE: return 32; #endif case AFMT_FLOAT: return 32; case AFMT_MU_LAW: case AFMT_A_LAW: case AFMT_IMA_ADPCM: case AFMT_S8: case AFMT_U8: case AFMT_MPEG: case AFMT_AC3: default: return 8;//default 1 byte } return 8; }