From 4de4a64bcb9e230ca90a546a804ee2f7da1ff4eb Mon Sep 17 00:00:00 2001 From: Lorry Tar Creator Date: Tue, 17 Feb 2004 02:55:44 +0000 Subject: libmad-0.15.1b --- TODO | 69 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 TODO (limited to 'TODO') diff --git a/TODO b/TODO new file mode 100644 index 0000000..1ea107c --- /dev/null +++ b/TODO @@ -0,0 +1,69 @@ + + libmad - MPEG audio decoder library + Copyright (C) 2000-2004 Underbit Technologies, Inc. + + $Id: TODO,v 1.3 2004/02/05 09:02:39 rob Exp $ + +=============================================================================== + +libmad: + - more API layers (buffering, PCM samples, dithering, etc.) + - x86 performance optimization compiler flags + - function documentation, general docs + - finish async API + - parse system streams? + - MPEG-2 MC, AAC? + - logarithmic multiplication? + - multiple frame decoding for better locality of reference? + - frame serial numbers, Layer III frame continuity checks + +fixed.h: + - experiment with FPM_INTEL: + +# if 1 +# define mad_f_scale64(hi, lo) \ + ({ mad_fixed_t __result; \ + asm ("shrl %3,%1\n\t" \ + "shll %4,%2\n\t" \ + "orl %2,%1" \ + : "=rm" (__result) \ + : "0" (lo), "r" (hi), \ + "I" (MAD_F_SCALEBITS), "I" (32 - MAD_F_SCALEBITS) \ + : "cc"); \ + __result; \ + }) +# else +# define mad_f_scale64(hi, lo) \ + ({ mad_fixed64hi_t __hi_; \ + mad_fixed64lo_t __lo_; \ + mad_fixed_t __result; \ + asm ("sall %2,%1" \ + : "=r" (__hi_) \ + : "0" (hi), "I" (32 - MAD_F_SCALEBITS) \ + : "cc"); \ + asm ("shrl %2,%1" \ + : "=r" (__lo_) \ + : "0" (lo), "I" (MAD_F_SCALEBITS) \ + : "cc"); \ + asm ("orl %1,%2" \ + : "=rm" (__result) \ + : "r" (__hi_), "0" (__lo_) \ + : "cc"); \ + __result; \ + }) +# endif + +libmad Layer I: + - check frame length sanity + +libmad Layer II: + - check frame length sanity + +libmad Layer III: + - circular buffer + - optimize zero_part from Huffman decoding throughout + - MPEG 2.5 8000 Hz sf bands? mixed blocks? + - stereo->mono conversion optimization? + - enable frame-at-a-time decoding + - improve portability of huffman.c + -- cgit v1.2.1