From 16c6a65b54417f82a9998b91e212f9f152e42a15 Mon Sep 17 00:00:00 2001 From: blue Date: Thu, 27 Dec 2018 18:29:06 +0300 Subject: [PATCH] first working decoding frame --- CMakeLists.txt | 14 + README.md | 0 index.html | 39 ++ libmad.bc | Bin 0 -> 247868 bytes mad.h | 964 +++++++++++++++++++++++++++++++++++++++++++++++++ wrapper.cpp | 49 +++ wrapper.h | 193 ++++++++++ 7 files changed, 1259 insertions(+) create mode 100644 CMakeLists.txt create mode 100644 README.md create mode 100644 index.html create mode 100644 libmad.bc create mode 100644 mad.h create mode 100644 wrapper.cpp create mode 100644 wrapper.h diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..e4a5944 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,14 @@ +cmake_minimum_required(VERSION 3.0) +function(em_file name) + execute_process(COMMAND + emcc --bind + ${CMAKE_SOURCE_DIR}/libmad.bc + ${CMAKE_SOURCE_DIR}/${name}.cpp + -o ${CMAKE_BINARY_DIR}/${name}.js + -s WASM=0 + ) +endfunction(em_file) + +configure_file(index.html index.html) + +em_file(wrapper) diff --git a/README.md b/README.md new file mode 100644 index 0000000..e69de29 diff --git a/index.html b/index.html new file mode 100644 index 0000000..ae986ad --- /dev/null +++ b/index.html @@ -0,0 +1,39 @@ + + + + + + + + + + + diff --git a/libmad.bc b/libmad.bc new file mode 100644 index 0000000000000000000000000000000000000000..6e9d1e68608295a6892573c822e06ba23213e826 GIT binary patch literal 247868 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
    52x1i%5A99} z{|oZ&-btx(@DEN92rhm=8_PGZe0-slFg2VSNtzH%WSVAiQe=t-Pt358xRjWL$OKJT zd{T6fCS5qei3_os + */ + +# ifdef __cplusplus +extern "C" { +# endif + +# define FPM_64BIT + + + +# define SIZEOF_INT 4 +# define SIZEOF_LONG 4 +# define SIZEOF_LONG_LONG 8 + + +/* Id: version.h,v 1.26 2004/01/23 09:41:33 rob Exp */ + +# ifndef LIBMAD_VERSION_H +# define LIBMAD_VERSION_H + +# define MAD_VERSION_MAJOR 0 +# define MAD_VERSION_MINOR 15 +# define MAD_VERSION_PATCH 1 +# define MAD_VERSION_EXTRA " (beta)" + +# define MAD_VERSION_STRINGIZE(str) #str +# define MAD_VERSION_STRING(num) MAD_VERSION_STRINGIZE(num) + +# define MAD_VERSION MAD_VERSION_STRING(MAD_VERSION_MAJOR) "." \ + MAD_VERSION_STRING(MAD_VERSION_MINOR) "." \ + MAD_VERSION_STRING(MAD_VERSION_PATCH) \ + MAD_VERSION_EXTRA + +# define MAD_PUBLISHYEAR "2000-2004" +# define MAD_AUTHOR "Underbit Technologies, Inc." +# define MAD_EMAIL "info@underbit.com" + +extern char const mad_version[]; +extern char const mad_copyright[]; +extern char const mad_author[]; +extern char const mad_build[]; + +# endif + +/* Id: fixed.h,v 1.38 2004/02/17 02:02:03 rob Exp */ + +# ifndef LIBMAD_FIXED_H +# define LIBMAD_FIXED_H + +# if SIZEOF_INT >= 4 +typedef signed int mad_fixed_t; + +typedef signed int mad_fixed64hi_t; +typedef unsigned int mad_fixed64lo_t; +# else +typedef signed long mad_fixed_t; + +typedef signed long mad_fixed64hi_t; +typedef unsigned long mad_fixed64lo_t; +# endif + +# if defined(_MSC_VER) +# define mad_fixed64_t signed __int64 +# elif 1 || defined(__GNUC__) +# define mad_fixed64_t signed long long +# endif + +# if defined(FPM_FLOAT) +typedef double mad_sample_t; +# else +typedef mad_fixed_t mad_sample_t; +# endif + +/* + * Fixed-point format: 0xABBBBBBB + * A == whole part (sign + 3 bits) + * B == fractional part (28 bits) + * + * Values are signed two's complement, so the effective range is: + * 0x80000000 to 0x7fffffff + * -8.0 to +7.9999999962747097015380859375 + * + * The smallest representable value is: + * 0x00000001 == 0.0000000037252902984619140625 (i.e. about 3.725e-9) + * + * 28 bits of fractional accuracy represent about + * 8.6 digits of decimal accuracy. + * + * Fixed-point numbers can be added or subtracted as normal + * integers, but multiplication requires shifting the 64-bit result + * from 56 fractional bits back to 28 (and rounding.) + * + * Changing the definition of MAD_F_FRACBITS is only partially + * supported, and must be done with care. + */ + +# define MAD_F_FRACBITS 28 + +# if MAD_F_FRACBITS == 28 +# define MAD_F(x) ((mad_fixed_t) (x##L)) +# else +# if MAD_F_FRACBITS < 28 +# warning "MAD_F_FRACBITS < 28" +# define MAD_F(x) ((mad_fixed_t) \ + (((x##L) + \ + (1L << (28 - MAD_F_FRACBITS - 1))) >> \ + (28 - MAD_F_FRACBITS))) +# elif MAD_F_FRACBITS > 28 +# error "MAD_F_FRACBITS > 28 not currently supported" +# define MAD_F(x) ((mad_fixed_t) \ + ((x##L) << (MAD_F_FRACBITS - 28))) +# endif +# endif + +# define MAD_F_MIN ((mad_fixed_t) -0x80000000L) +# define MAD_F_MAX ((mad_fixed_t) +0x7fffffffL) + +# define MAD_F_ONE MAD_F(0x10000000) + +# define mad_f_tofixed(x) ((mad_fixed_t) \ + ((x) * (double) (1L << MAD_F_FRACBITS) + 0.5)) +# define mad_f_todouble(x) ((double) \ + ((x) / (double) (1L << MAD_F_FRACBITS))) + +# define mad_f_intpart(x) ((x) >> MAD_F_FRACBITS) +# define mad_f_fracpart(x) ((x) & ((1L << MAD_F_FRACBITS) - 1)) + /* (x should be positive) */ + +# define mad_f_fromint(x) ((x) << MAD_F_FRACBITS) + +# define mad_f_add(x, y) ((x) + (y)) +# define mad_f_sub(x, y) ((x) - (y)) + +# if defined(FPM_FLOAT) +# error "FPM_FLOAT not yet supported" + +# undef MAD_F +# define MAD_F(x) mad_f_todouble(x) + +# define mad_f_mul(x, y) ((x) * (y)) +# define mad_f_scale64 + +# undef ASO_ZEROCHECK + +# elif defined(FPM_64BIT) + +/* + * This version should be the most accurate if 64-bit types are supported by + * the compiler, although it may not be the most efficient. + */ +# if defined(OPT_ACCURACY) +# define mad_f_mul(x, y) \ + ((mad_fixed_t) \ + ((((mad_fixed64_t) (x) * (y)) + \ + (1L << (MAD_F_SCALEBITS - 1))) >> MAD_F_SCALEBITS)) +# else +# define mad_f_mul(x, y) \ + ((mad_fixed_t) (((mad_fixed64_t) (x) * (y)) >> MAD_F_SCALEBITS)) +# endif + +# define MAD_F_SCALEBITS MAD_F_FRACBITS + +/* --- Intel --------------------------------------------------------------- */ + +# elif defined(FPM_INTEL) + +# if defined(_MSC_VER) +# pragma warning(push) +# pragma warning(disable: 4035) /* no return value */ +static __forceinline +mad_fixed_t mad_f_mul_inline(mad_fixed_t x, mad_fixed_t y) +{ + enum { + fracbits = MAD_F_FRACBITS + }; + + __asm { + mov eax, x + imul y + shrd eax, edx, fracbits + } + + /* implicit return of eax */ +} +# pragma warning(pop) + +# define mad_f_mul mad_f_mul_inline +# define mad_f_scale64 +# else +/* + * This Intel version is fast and accurate; the disposition of the least + * significant bit depends on OPT_ACCURACY via mad_f_scale64(). + */ +# define MAD_F_MLX(hi, lo, x, y) \ + asm ("imull %3" \ + : "=a" (lo), "=d" (hi) \ + : "%a" (x), "rm" (y) \ + : "cc") + +# if defined(OPT_ACCURACY) +/* + * This gives best accuracy but is not very fast. + */ +# define MAD_F_MLA(hi, lo, x, y) \ + ({ mad_fixed64hi_t __hi; \ + mad_fixed64lo_t __lo; \ + MAD_F_MLX(__hi, __lo, (x), (y)); \ + asm ("addl %2,%0\n\t" \ + "adcl %3,%1" \ + : "=rm" (lo), "=rm" (hi) \ + : "r" (__lo), "r" (__hi), "0" (lo), "1" (hi) \ + : "cc"); \ + }) +# endif /* OPT_ACCURACY */ + +# if defined(OPT_ACCURACY) +/* + * Surprisingly, this is faster than SHRD followed by ADC. + */ +# define mad_f_scale64(hi, lo) \ + ({ mad_fixed64hi_t __hi_; \ + mad_fixed64lo_t __lo_; \ + mad_fixed_t __result; \ + asm ("addl %4,%2\n\t" \ + "adcl %5,%3" \ + : "=rm" (__lo_), "=rm" (__hi_) \ + : "0" (lo), "1" (hi), \ + "ir" (1L << (MAD_F_SCALEBITS - 1)), "ir" (0) \ + : "cc"); \ + asm ("shrdl %3,%2,%1" \ + : "=rm" (__result) \ + : "0" (__lo_), "r" (__hi_), "I" (MAD_F_SCALEBITS) \ + : "cc"); \ + __result; \ + }) +# elif defined(OPT_INTEL) +/* + * Alternate Intel scaling that may or may not perform better. + */ +# 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_fixed_t __result; \ + asm ("shrdl %3,%2,%1" \ + : "=rm" (__result) \ + : "0" (lo), "r" (hi), "I" (MAD_F_SCALEBITS) \ + : "cc"); \ + __result; \ + }) +# endif /* OPT_ACCURACY */ + +# define MAD_F_SCALEBITS MAD_F_FRACBITS +# endif + +/* --- ARM ----------------------------------------------------------------- */ + +# elif defined(FPM_ARM) + +/* + * This ARM V4 version is as accurate as FPM_64BIT but much faster. The + * least significant bit is properly rounded at no CPU cycle cost! + */ +# if 1 +/* + * This is faster than the default implementation via MAD_F_MLX() and + * mad_f_scale64(). + */ +# define mad_f_mul(x, y) \ + ({ mad_fixed64hi_t __hi; \ + mad_fixed64lo_t __lo; \ + mad_fixed_t __result; \ + asm ("smull %0, %1, %3, %4\n\t" \ + "movs %0, %0, lsr %5\n\t" \ + "adc %2, %0, %1, lsl %6" \ + : "=&r" (__lo), "=&r" (__hi), "=r" (__result) \ + : "%r" (x), "r" (y), \ + "M" (MAD_F_SCALEBITS), "M" (32 - MAD_F_SCALEBITS) \ + : "cc"); \ + __result; \ + }) +# endif + +# define MAD_F_MLX(hi, lo, x, y) \ + asm ("smull %0, %1, %2, %3" \ + : "=&r" (lo), "=&r" (hi) \ + : "%r" (x), "r" (y)) + +# define MAD_F_MLA(hi, lo, x, y) \ + asm ("smlal %0, %1, %2, %3" \ + : "+r" (lo), "+r" (hi) \ + : "%r" (x), "r" (y)) + +# define MAD_F_MLN(hi, lo) \ + asm ("rsbs %0, %2, #0\n\t" \ + "rsc %1, %3, #0" \ + : "=r" (lo), "=r" (hi) \ + : "0" (lo), "1" (hi) \ + : "cc") + +# define mad_f_scale64(hi, lo) \ + ({ mad_fixed_t __result; \ + asm ("movs %0, %1, lsr %3\n\t" \ + "adc %0, %0, %2, lsl %4" \ + : "=&r" (__result) \ + : "r" (lo), "r" (hi), \ + "M" (MAD_F_SCALEBITS), "M" (32 - MAD_F_SCALEBITS) \ + : "cc"); \ + __result; \ + }) + +# define MAD_F_SCALEBITS MAD_F_FRACBITS + +/* --- MIPS ---------------------------------------------------------------- */ + +# elif defined(FPM_MIPS) + +/* + * This MIPS version is fast and accurate; the disposition of the least + * significant bit depends on OPT_ACCURACY via mad_f_scale64(). + */ +# define MAD_F_MLX(hi, lo, x, y) \ + asm ("mult %2,%3" \ + : "=l" (lo), "=h" (hi) \ + : "%r" (x), "r" (y)) + +# if defined(HAVE_MADD_ASM) +# define MAD_F_MLA(hi, lo, x, y) \ + asm ("madd %2,%3" \ + : "+l" (lo), "+h" (hi) \ + : "%r" (x), "r" (y)) +# elif defined(HAVE_MADD16_ASM) +/* + * This loses significant accuracy due to the 16-bit integer limit in the + * multiply/accumulate instruction. + */ +# define MAD_F_ML0(hi, lo, x, y) \ + asm ("mult %2,%3" \ + : "=l" (lo), "=h" (hi) \ + : "%r" ((x) >> 12), "r" ((y) >> 16)) +# define MAD_F_MLA(hi, lo, x, y) \ + asm ("madd16 %2,%3" \ + : "+l" (lo), "+h" (hi) \ + : "%r" ((x) >> 12), "r" ((y) >> 16)) +# define MAD_F_MLZ(hi, lo) ((mad_fixed_t) (lo)) +# endif + +# if defined(OPT_SPEED) +# define mad_f_scale64(hi, lo) \ + ((mad_fixed_t) ((hi) << (32 - MAD_F_SCALEBITS))) +# define MAD_F_SCALEBITS MAD_F_FRACBITS +# endif + +/* --- SPARC --------------------------------------------------------------- */ + +# elif defined(FPM_SPARC) + +/* + * This SPARC V8 version is fast and accurate; the disposition of the least + * significant bit depends on OPT_ACCURACY via mad_f_scale64(). + */ +# define MAD_F_MLX(hi, lo, x, y) \ + asm ("smul %2, %3, %0\n\t" \ + "rd %%y, %1" \ + : "=r" (lo), "=r" (hi) \ + : "%r" (x), "rI" (y)) + +/* --- PowerPC ------------------------------------------------------------- */ + +# elif defined(FPM_PPC) + +/* + * This PowerPC version is fast and accurate; the disposition of the least + * significant bit depends on OPT_ACCURACY via mad_f_scale64(). + */ +# define MAD_F_MLX(hi, lo, x, y) \ + do { \ + asm ("mullw %0,%1,%2" \ + : "=r" (lo) \ + : "%r" (x), "r" (y)); \ + asm ("mulhw %0,%1,%2" \ + : "=r" (hi) \ + : "%r" (x), "r" (y)); \ + } \ + while (0) + +# if defined(OPT_ACCURACY) +/* + * This gives best accuracy but is not very fast. + */ +# define MAD_F_MLA(hi, lo, x, y) \ + ({ mad_fixed64hi_t __hi; \ + mad_fixed64lo_t __lo; \ + MAD_F_MLX(__hi, __lo, (x), (y)); \ + asm ("addc %0,%2,%3\n\t" \ + "adde %1,%4,%5" \ + : "=r" (lo), "=r" (hi) \ + : "%r" (lo), "r" (__lo), \ + "%r" (hi), "r" (__hi) \ + : "xer"); \ + }) +# endif + +# if defined(OPT_ACCURACY) +/* + * This is slower than the truncating version below it. + */ +# define mad_f_scale64(hi, lo) \ + ({ mad_fixed_t __result, __round; \ + asm ("rotrwi %0,%1,%2" \ + : "=r" (__result) \ + : "r" (lo), "i" (MAD_F_SCALEBITS)); \ + asm ("extrwi %0,%1,1,0" \ + : "=r" (__round) \ + : "r" (__result)); \ + asm ("insrwi %0,%1,%2,0" \ + : "+r" (__result) \ + : "r" (hi), "i" (MAD_F_SCALEBITS)); \ + asm ("add %0,%1,%2" \ + : "=r" (__result) \ + : "%r" (__result), "r" (__round)); \ + __result; \ + }) +# else +# define mad_f_scale64(hi, lo) \ + ({ mad_fixed_t __result; \ + asm ("rotrwi %0,%1,%2" \ + : "=r" (__result) \ + : "r" (lo), "i" (MAD_F_SCALEBITS)); \ + asm ("insrwi %0,%1,%2,0" \ + : "+r" (__result) \ + : "r" (hi), "i" (MAD_F_SCALEBITS)); \ + __result; \ + }) +# endif + +# define MAD_F_SCALEBITS MAD_F_FRACBITS + +/* --- Default ------------------------------------------------------------- */ + +# elif defined(FPM_DEFAULT) + +/* + * This version is the most portable but it loses significant accuracy. + * Furthermore, accuracy is biased against the second argument, so care + * should be taken when ordering operands. + * + * The scale factors are constant as this is not used with SSO. + * + * Pre-rounding is required to stay within the limits of compliance. + */ +# if defined(OPT_SPEED) +# define mad_f_mul(x, y) (((x) >> 12) * ((y) >> 16)) +# else +# define mad_f_mul(x, y) ((((x) + (1L << 11)) >> 12) * \ + (((y) + (1L << 15)) >> 16)) +# endif + +/* ------------------------------------------------------------------------- */ + +# else +# error "no FPM selected" +# endif + +/* default implementations */ + +# if !defined(mad_f_mul) +# define mad_f_mul(x, y) \ + ({ register mad_fixed64hi_t __hi; \ + register mad_fixed64lo_t __lo; \ + MAD_F_MLX(__hi, __lo, (x), (y)); \ + mad_f_scale64(__hi, __lo); \ + }) +# endif + +# if !defined(MAD_F_MLA) +# define MAD_F_ML0(hi, lo, x, y) ((lo) = mad_f_mul((x), (y))) +# define MAD_F_MLA(hi, lo, x, y) ((lo) += mad_f_mul((x), (y))) +# define MAD_F_MLN(hi, lo) ((lo) = -(lo)) +# define MAD_F_MLZ(hi, lo) ((void) (hi), (mad_fixed_t) (lo)) +# endif + +# if !defined(MAD_F_ML0) +# define MAD_F_ML0(hi, lo, x, y) MAD_F_MLX((hi), (lo), (x), (y)) +# endif + +# if !defined(MAD_F_MLN) +# define MAD_F_MLN(hi, lo) ((hi) = ((lo) = -(lo)) ? ~(hi) : -(hi)) +# endif + +# if !defined(MAD_F_MLZ) +# define MAD_F_MLZ(hi, lo) mad_f_scale64((hi), (lo)) +# endif + +# if !defined(mad_f_scale64) +# if defined(OPT_ACCURACY) +# define mad_f_scale64(hi, lo) \ + ((((mad_fixed_t) \ + (((hi) << (32 - (MAD_F_SCALEBITS - 1))) | \ + ((lo) >> (MAD_F_SCALEBITS - 1)))) + 1) >> 1) +# else +# define mad_f_scale64(hi, lo) \ + ((mad_fixed_t) \ + (((hi) << (32 - MAD_F_SCALEBITS)) | \ + ((lo) >> MAD_F_SCALEBITS))) +# endif +# define MAD_F_SCALEBITS MAD_F_FRACBITS +# endif + +/* C routines */ + +mad_fixed_t mad_f_abs(mad_fixed_t); +mad_fixed_t mad_f_div(mad_fixed_t, mad_fixed_t); + +# endif + +/* Id: bit.h,v 1.12 2004/01/23 09:41:32 rob Exp */ + +# ifndef LIBMAD_BIT_H +# define LIBMAD_BIT_H + +struct mad_bitptr { + unsigned char const *byte; + unsigned short cache; + unsigned short left; +}; + +void mad_bit_init(struct mad_bitptr *, unsigned char const *); + +# define mad_bit_finish(bitptr) /* nothing */ + +unsigned int mad_bit_length(struct mad_bitptr const *, + struct mad_bitptr const *); + +# define mad_bit_bitsleft(bitptr) ((bitptr)->left) +unsigned char const *mad_bit_nextbyte(struct mad_bitptr const *); + +void mad_bit_skip(struct mad_bitptr *, unsigned int); +unsigned long mad_bit_read(struct mad_bitptr *, unsigned int); +void mad_bit_write(struct mad_bitptr *, unsigned int, unsigned long); + +unsigned short mad_bit_crc(struct mad_bitptr, unsigned int, unsigned short); + +# endif + +/* Id: timer.h,v 1.16 2004/01/23 09:41:33 rob Exp */ + +# ifndef LIBMAD_TIMER_H +# define LIBMAD_TIMER_H + +typedef struct { + signed long seconds; /* whole seconds */ + unsigned long fraction; /* 1/MAD_TIMER_RESOLUTION seconds */ +} mad_timer_t; + +extern mad_timer_t const mad_timer_zero; + +# define MAD_TIMER_RESOLUTION 352800000UL + +enum mad_units { + MAD_UNITS_HOURS = -2, + MAD_UNITS_MINUTES = -1, + MAD_UNITS_SECONDS = 0, + + /* metric units */ + + MAD_UNITS_DECISECONDS = 10, + MAD_UNITS_CENTISECONDS = 100, + MAD_UNITS_MILLISECONDS = 1000, + + /* audio sample units */ + + MAD_UNITS_8000_HZ = 8000, + MAD_UNITS_11025_HZ = 11025, + MAD_UNITS_12000_HZ = 12000, + + MAD_UNITS_16000_HZ = 16000, + MAD_UNITS_22050_HZ = 22050, + MAD_UNITS_24000_HZ = 24000, + + MAD_UNITS_32000_HZ = 32000, + MAD_UNITS_44100_HZ = 44100, + MAD_UNITS_48000_HZ = 48000, + + /* video frame/field units */ + + MAD_UNITS_24_FPS = 24, + MAD_UNITS_25_FPS = 25, + MAD_UNITS_30_FPS = 30, + MAD_UNITS_48_FPS = 48, + MAD_UNITS_50_FPS = 50, + MAD_UNITS_60_FPS = 60, + + /* CD audio frames */ + + MAD_UNITS_75_FPS = 75, + + /* video drop-frame units */ + + MAD_UNITS_23_976_FPS = -24, + MAD_UNITS_24_975_FPS = -25, + MAD_UNITS_29_97_FPS = -30, + MAD_UNITS_47_952_FPS = -48, + MAD_UNITS_49_95_FPS = -50, + MAD_UNITS_59_94_FPS = -60 +}; + +# define mad_timer_reset(timer) ((void) (*(timer) = mad_timer_zero)) + +int mad_timer_compare(mad_timer_t, mad_timer_t); + +# define mad_timer_sign(timer) mad_timer_compare((timer), mad_timer_zero) + +void mad_timer_negate(mad_timer_t *); +mad_timer_t mad_timer_abs(mad_timer_t); + +void mad_timer_set(mad_timer_t *, unsigned long, unsigned long, unsigned long); +void mad_timer_add(mad_timer_t *, mad_timer_t); +void mad_timer_multiply(mad_timer_t *, signed long); + +signed long mad_timer_count(mad_timer_t, enum mad_units); +unsigned long mad_timer_fraction(mad_timer_t, unsigned long); +void mad_timer_string(mad_timer_t, char *, char const *, + enum mad_units, enum mad_units, unsigned long); + +# endif + +/* Id: stream.h,v 1.20 2004/02/05 09:02:39 rob Exp */ + +# ifndef LIBMAD_STREAM_H +# define LIBMAD_STREAM_H + + +# define MAD_BUFFER_GUARD 8 +# define MAD_BUFFER_MDLEN (511 + 2048 + MAD_BUFFER_GUARD) + +enum mad_error { + MAD_ERROR_NONE = 0x0000, /* no error */ + + MAD_ERROR_BUFLEN = 0x0001, /* input buffer too small (or EOF) */ + MAD_ERROR_BUFPTR = 0x0002, /* invalid (null) buffer pointer */ + + MAD_ERROR_NOMEM = 0x0031, /* not enough memory */ + + MAD_ERROR_LOSTSYNC = 0x0101, /* lost synchronization */ + MAD_ERROR_BADLAYER = 0x0102, /* reserved header layer value */ + MAD_ERROR_BADBITRATE = 0x0103, /* forbidden bitrate value */ + MAD_ERROR_BADSAMPLERATE = 0x0104, /* reserved sample frequency value */ + MAD_ERROR_BADEMPHASIS = 0x0105, /* reserved emphasis value */ + + MAD_ERROR_BADCRC = 0x0201, /* CRC check failed */ + MAD_ERROR_BADBITALLOC = 0x0211, /* forbidden bit allocation value */ + MAD_ERROR_BADSCALEFACTOR = 0x0221, /* bad scalefactor index */ + MAD_ERROR_BADMODE = 0x0222, /* bad bitrate/mode combination */ + MAD_ERROR_BADFRAMELEN = 0x0231, /* bad frame length */ + MAD_ERROR_BADBIGVALUES = 0x0232, /* bad big_values count */ + MAD_ERROR_BADBLOCKTYPE = 0x0233, /* reserved block_type */ + MAD_ERROR_BADSCFSI = 0x0234, /* bad scalefactor selection info */ + MAD_ERROR_BADDATAPTR = 0x0235, /* bad main_data_begin pointer */ + MAD_ERROR_BADPART3LEN = 0x0236, /* bad audio data length */ + MAD_ERROR_BADHUFFTABLE = 0x0237, /* bad Huffman table select */ + MAD_ERROR_BADHUFFDATA = 0x0238, /* Huffman data overrun */ + MAD_ERROR_BADSTEREO = 0x0239 /* incompatible block_type for JS */ +}; + +# define MAD_RECOVERABLE(error) ((error) & 0xff00) + +struct mad_stream { + unsigned char const *buffer; /* input bitstream buffer */ + unsigned char const *bufend; /* end of buffer */ + unsigned long skiplen; /* bytes to skip before next frame */ + + int sync; /* stream sync found */ + unsigned long freerate; /* free bitrate (fixed) */ + + unsigned char const *this_frame; /* start of current frame */ + unsigned char const *next_frame; /* start of next frame */ + struct mad_bitptr ptr; /* current processing bit pointer */ + + struct mad_bitptr anc_ptr; /* ancillary bits pointer */ + unsigned int anc_bitlen; /* number of ancillary bits */ + + unsigned char (*main_data)[MAD_BUFFER_MDLEN]; + /* Layer III main_data() */ + unsigned int md_len; /* bytes in main_data */ + + int options; /* decoding options (see below) */ + enum mad_error error; /* error code (see above) */ +}; + +enum { + MAD_OPTION_IGNORECRC = 0x0001, /* ignore CRC errors */ + MAD_OPTION_HALFSAMPLERATE = 0x0002 /* generate PCM at 1/2 sample rate */ +# if 0 /* not yet implemented */ + MAD_OPTION_LEFTCHANNEL = 0x0010, /* decode left channel only */ + MAD_OPTION_RIGHTCHANNEL = 0x0020, /* decode right channel only */ + MAD_OPTION_SINGLECHANNEL = 0x0030 /* combine channels */ +# endif +}; + +void mad_stream_init(struct mad_stream *); +void mad_stream_finish(struct mad_stream *); + +# define mad_stream_options(stream, opts) \ + ((void) ((stream)->options = (opts))) + +void mad_stream_buffer(struct mad_stream *, + unsigned char const *, unsigned long); +void mad_stream_skip(struct mad_stream *, unsigned long); + +int mad_stream_sync(struct mad_stream *); + +char const *mad_stream_errorstr(struct mad_stream const *); + +# endif + +/* Id: frame.h,v 1.20 2004/01/23 09:41:32 rob Exp */ + +# ifndef LIBMAD_FRAME_H +# define LIBMAD_FRAME_H + + +enum mad_layer { + MAD_LAYER_I = 1, /* Layer I */ + MAD_LAYER_II = 2, /* Layer II */ + MAD_LAYER_III = 3 /* Layer III */ +}; + +enum mad_mode { + MAD_MODE_SINGLE_CHANNEL = 0, /* single channel */ + MAD_MODE_DUAL_CHANNEL = 1, /* dual channel */ + MAD_MODE_JOINT_STEREO = 2, /* joint (MS/intensity) stereo */ + MAD_MODE_STEREO = 3 /* normal LR stereo */ +}; + +enum mad_emphasis { + MAD_EMPHASIS_NONE = 0, /* no emphasis */ + MAD_EMPHASIS_50_15_US = 1, /* 50/15 microseconds emphasis */ + MAD_EMPHASIS_CCITT_J_17 = 3, /* CCITT J.17 emphasis */ + MAD_EMPHASIS_RESERVED = 2 /* unknown emphasis */ +}; + +struct mad_header { + enum mad_layer layer; /* audio layer (1, 2, or 3) */ + enum mad_mode mode; /* channel mode (see above) */ + int mode_extension; /* additional mode info */ + enum mad_emphasis emphasis; /* de-emphasis to use (see above) */ + + unsigned long bitrate; /* stream bitrate (bps) */ + unsigned int samplerate; /* sampling frequency (Hz) */ + + unsigned short crc_check; /* frame CRC accumulator */ + unsigned short crc_target; /* final target CRC checksum */ + + int flags; /* flags (see below) */ + int private_bits; /* private bits (see below) */ + + mad_timer_t duration; /* audio playing time of frame */ +}; + +struct mad_frame { + struct mad_header header; /* MPEG audio header */ + + int options; /* decoding options (from stream) */ + + mad_fixed_t sbsample[2][36][32]; /* synthesis subband filter samples */ + mad_fixed_t (*overlap)[2][32][18]; /* Layer III block overlap data */ +}; + +# define MAD_NCHANNELS(header) ((header)->mode ? 2 : 1) +# define MAD_NSBSAMPLES(header) \ + ((header)->layer == MAD_LAYER_I ? 12 : \ + (((header)->layer == MAD_LAYER_III && \ + ((header)->flags & MAD_FLAG_LSF_EXT)) ? 18 : 36)) + +enum { + MAD_FLAG_NPRIVATE_III = 0x0007, /* number of Layer III private bits */ + MAD_FLAG_INCOMPLETE = 0x0008, /* header but not data is decoded */ + + MAD_FLAG_PROTECTION = 0x0010, /* frame has CRC protection */ + MAD_FLAG_COPYRIGHT = 0x0020, /* frame is copyright */ + MAD_FLAG_ORIGINAL = 0x0040, /* frame is original (else copy) */ + MAD_FLAG_PADDING = 0x0080, /* frame has additional slot */ + + MAD_FLAG_I_STEREO = 0x0100, /* uses intensity joint stereo */ + MAD_FLAG_MS_STEREO = 0x0200, /* uses middle/side joint stereo */ + MAD_FLAG_FREEFORMAT = 0x0400, /* uses free format bitrate */ + + MAD_FLAG_LSF_EXT = 0x1000, /* lower sampling freq. extension */ + MAD_FLAG_MC_EXT = 0x2000, /* multichannel audio extension */ + MAD_FLAG_MPEG_2_5_EXT = 0x4000 /* MPEG 2.5 (unofficial) extension */ +}; + +enum { + MAD_PRIVATE_HEADER = 0x0100, /* header private bit */ + MAD_PRIVATE_III = 0x001f /* Layer III private bits (up to 5) */ +}; + +void mad_header_init(struct mad_header *); + +# define mad_header_finish(header) /* nothing */ + +int mad_header_decode(struct mad_header *, struct mad_stream *); + +void mad_frame_init(struct mad_frame *); +void mad_frame_finish(struct mad_frame *); + +int mad_frame_decode(struct mad_frame *, struct mad_stream *); + +void mad_frame_mute(struct mad_frame *); + +# endif + +/* Id: synth.h,v 1.15 2004/01/23 09:41:33 rob Exp */ + +# ifndef LIBMAD_SYNTH_H +# define LIBMAD_SYNTH_H + + +struct mad_pcm { + unsigned int samplerate; /* sampling frequency (Hz) */ + unsigned short channels; /* number of channels */ + unsigned short length; /* number of samples per channel */ + mad_fixed_t samples[2][1152]; /* PCM output samples [ch][sample] */ +}; + +struct mad_synth { + mad_fixed_t filter[2][2][2][16][8]; /* polyphase filterbank outputs */ + /* [ch][eo][peo][s][v] */ + + unsigned int phase; /* current processing phase */ + + struct mad_pcm pcm; /* PCM output */ +}; + +/* single channel PCM selector */ +enum { + MAD_PCM_CHANNEL_SINGLE = 0 +}; + +/* dual channel PCM selector */ +enum { + MAD_PCM_CHANNEL_DUAL_1 = 0, + MAD_PCM_CHANNEL_DUAL_2 = 1 +}; + +/* stereo PCM selector */ +enum { + MAD_PCM_CHANNEL_STEREO_LEFT = 0, + MAD_PCM_CHANNEL_STEREO_RIGHT = 1 +}; + +void mad_synth_init(struct mad_synth *); + +# define mad_synth_finish(synth) /* nothing */ + +void mad_synth_mute(struct mad_synth *); + +void mad_synth_frame(struct mad_synth *, struct mad_frame const *); + +# endif + +/* Id: decoder.h,v 1.17 2004/01/23 09:41:32 rob Exp */ + +# ifndef LIBMAD_DECODER_H +# define LIBMAD_DECODER_H + + +enum mad_decoder_mode { + MAD_DECODER_MODE_SYNC = 0, + MAD_DECODER_MODE_ASYNC +}; + +enum mad_flow { + MAD_FLOW_CONTINUE = 0x0000, /* continue normally */ + MAD_FLOW_STOP = 0x0010, /* stop decoding normally */ + MAD_FLOW_BREAK = 0x0011, /* stop decoding and signal an error */ + MAD_FLOW_IGNORE = 0x0020 /* ignore the current frame */ +}; + +struct mad_decoder { + enum mad_decoder_mode mode; + + int options; + + struct { + long pid; + int in; + int out; + } async; + + struct { + struct mad_stream stream; + struct mad_frame frame; + struct mad_synth synth; + } *sync; + + void *cb_data; + + enum mad_flow (*input_func)(void *, struct mad_stream *); + enum mad_flow (*header_func)(void *, struct mad_header const *); + enum mad_flow (*filter_func)(void *, + struct mad_stream const *, struct mad_frame *); + enum mad_flow (*output_func)(void *, + struct mad_header const *, struct mad_pcm *); + enum mad_flow (*error_func)(void *, struct mad_stream *, struct mad_frame *); + enum mad_flow (*message_func)(void *, void *, unsigned int *); +}; + +void mad_decoder_init(struct mad_decoder *, void *, + enum mad_flow (*)(void *, struct mad_stream *), + enum mad_flow (*)(void *, struct mad_header const *), + enum mad_flow (*)(void *, + struct mad_stream const *, + struct mad_frame *), + enum mad_flow (*)(void *, + struct mad_header const *, + struct mad_pcm *), + enum mad_flow (*)(void *, + struct mad_stream *, + struct mad_frame *), + enum mad_flow (*)(void *, void *, unsigned int *)); +int mad_decoder_finish(struct mad_decoder *); + +# define mad_decoder_options(decoder, opts) \ + ((void) ((decoder)->options = (opts))) + +int mad_decoder_run(struct mad_decoder *, enum mad_decoder_mode); +int mad_decoder_message(struct mad_decoder *, void *, unsigned int *); + +# endif + +# ifdef __cplusplus +} +# endif diff --git a/wrapper.cpp b/wrapper.cpp new file mode 100644 index 0000000..4bdc97a --- /dev/null +++ b/wrapper.cpp @@ -0,0 +1,49 @@ +#include "wrapper.h" + +MadHeader * mad_header_create() +{ + MadHeader* header = new MadHeader; + mad_header_init(header); + return header; +} + +MadFrame * mad_frame_create() +{ + MadFrame* frame = new MadFrame; + mad_frame_init(frame); + return frame; +} + +emscripten::val MadFrame::getOverlap() const +{ + unsigned char* ptr = (unsigned char(*))overlap; + return emscripten::val(typed_memory_view(sizeof *overlap, ptr)); +} + +emscripten::val MadFrame::getSbsample() const +{ + unsigned char* ptr = (unsigned char(*))&sbsample; + return emscripten::val(typed_memory_view(sizeof sbsample, ptr)); +} + +MadStream* mad_stream_create() { + MadStream* stream = new MadStream; + mad_stream_init(stream); + return stream; +} + +emscripten::val MadStream::mainData() +{ + return emscripten::val(typed_memory_view(MAD_BUFFER_MDLEN, (unsigned char(*))main_data)); +} + +void MadStream::setBuffer(intptr_t bufferPtr, unsigned long length) +{ + mad_stream_buffer(this, (const unsigned char(*))bufferPtr, length); +} + +int MadFrame::decode(mad_stream* stream) +{ + return mad_frame_decode(this, stream); +} + diff --git a/wrapper.h b/wrapper.h new file mode 100644 index 0000000..aaf6763 --- /dev/null +++ b/wrapper.h @@ -0,0 +1,193 @@ +#ifndef WRAPPER_H +#define WRAPPER_H + +#include +#include + +#include "mad.h" + +using namespace emscripten; + +class MadHeader : public mad_header { +public: + mad_layer getLayer() const {return layer;} + void setLayer(mad_layer lay) {layer = lay;} + + int getMode_extension() const {return mode_extension;} + void setMode_extension(int ext) {mode_extension = ext;} + + mad_mode getMode() const {return mode;} + void setMode(mad_mode value) {mode = value;} + + mad_emphasis getEmphasis() const {return emphasis;} + void setEmphasis(mad_emphasis value) {emphasis = value;} + + long unsigned int getBitrate() const {return bitrate;} + void setBitrate(long unsigned int value) {bitrate = value;} + + unsigned int getSamplerate() const {return samplerate;} + void setSamplerate(unsigned int value) {samplerate = value;} + + short unsigned int getCrc_check() const {return crc_check;} + void setCrc_check(short unsigned int value) {crc_check = value;} + + short unsigned int getCrc_target() const {return crc_target;} + void setCrc_target(unsigned long int value) {crc_target = value;} + + int getFlags() const {return flags;} + void setFlags(int ext) {flags = ext;} + + int getPrivate_bits() const {return private_bits;} + void setPrivate_bits(int ext) {private_bits = ext;} + + mad_timer_t getDuration() const {return duration;} + void setDuration(mad_timer_t ext) {duration = ext;} +}; +MadHeader* mad_header_create(); + +class MadFrame : public mad_frame { +public: + const MadHeader& getHeader() const {return static_cast(header);} + void setHeader(const MadHeader& head) {header = head;} + + int getOptions() const {return options;} + void setOptions(int lay) {options = lay;} + + val getSbsample() const; + val getOverlap() const; + + int decode(mad_stream* stream); +}; +MadFrame* mad_frame_create(); + +class MadStream : public mad_stream { + //unsigned char const *buffer; /* input bitstream buffer */ + //unsigned char const *bufend; /* end of buffer */ + //unsigned long skiplen; /* bytes to skip before next frame */ + + //unsigned char const *this_frame; /* start of current frame */ + //unsigned char const *next_frame; /* start of next frame */ + //struct mad_bitptr ptr; /* current processing bit pointer */ + + //struct mad_bitptr anc_ptr; /* ancillary bits pointer */ + //unsigned int anc_bitlen; /* number of ancillary bits */ + +public: + int getSync() const {return sync;} + void setSync(int value) {sync = value;} + + unsigned long getFreeRate() const {return freerate;} + void setFreeRate(unsigned long value) {freerate = value;} + + int getOptions() const {return options;} + void setOptions(int value) {options = value;} + + mad_error getError() const {return error;} + void setError(mad_error value) {error = value;} + + val mainData(); + unsigned int getMdLen() const {return md_len;} + void setMdLen(unsigned int value) {md_len = value;} + + void setBuffer(intptr_t bufferPtr, unsigned long length); +}; +MadStream* mad_stream_create(); + +EMSCRIPTEN_BINDINGS(jsmad) { + enum_("mad_layer") + .value("MAD_LAYER_I", MAD_LAYER_I) + .value("MAD_LAYER_II", MAD_LAYER_II) + .value("MAD_LAYER_III", MAD_LAYER_III); + + enum_("mad_mode") + .value("MAD_MODE_DUAL_CHANNEL", MAD_MODE_DUAL_CHANNEL) + .value("MAD_MODE_JOINT_STEREO", MAD_MODE_JOINT_STEREO) + .value("MAD_MODE_SINGLE_CHANNEL", MAD_MODE_SINGLE_CHANNEL) + .value("MAD_MODE_STEREO", MAD_MODE_STEREO); + + enum_("mad_emphasis") + .value("MAD_EMPHASIS_50_15_US", MAD_EMPHASIS_50_15_US) + .value("MAD_EMPHASIS_CCITT_J_17", MAD_EMPHASIS_CCITT_J_17) + .value("MAD_EMPHASIS_NONE", MAD_EMPHASIS_NONE) + .value("MAD_EMPHASIS_RESERVED", MAD_EMPHASIS_RESERVED); + + enum_("mad_error") + .value("MAD_ERROR_NONE", MAD_ERROR_NONE) /* no error */ + + .value("MAD_ERROR_BUFLEN", MAD_ERROR_BUFLEN) /* input buffer too small (or EOF) */ + .value("MAD_ERROR_BUFPTR", MAD_ERROR_BUFPTR) /* invalid (null) buffer pointer */ + + .value("MAD_ERROR_NOMEM", MAD_ERROR_NOMEM) /* not enough memory */ + + .value("MAD_ERROR_LOSTSYNC", MAD_ERROR_LOSTSYNC) /* lost synchronization */ + .value("MAD_ERROR_BADLAYER", MAD_ERROR_BADLAYER) /* reserved header layer value */ + .value("MAD_ERROR_BADBITRATE", MAD_ERROR_BADBITRATE) /* forbidden bitrate value */ + .value("MAD_ERROR_BADSAMPLERATE", MAD_ERROR_BADSAMPLERATE) /* reserved sample frequency value */ + .value("MAD_ERROR_BADEMPHASIS", MAD_ERROR_BADEMPHASIS) /* reserved emphasis value */ + + .value("MAD_ERROR_BADCRC", MAD_ERROR_BADCRC) /* CRC check failed */ + .value("MAD_ERROR_BADBITALLOC", MAD_ERROR_BADBITALLOC) /* forbidden bit allocation value */ + .value("MAD_ERROR_BADSCALEFACTOR", MAD_ERROR_BADSCALEFACTOR)/* bad scalefactor index */ + .value("MAD_ERROR_BADMODE", MAD_ERROR_BADMODE) /* bad bitrate/mode combination */ + .value("MAD_ERROR_BADFRAMELEN", MAD_ERROR_BADFRAMELEN) /* bad frame length */ + .value("MAD_ERROR_BADBIGVALUES", MAD_ERROR_BADBIGVALUES) /* bad big_values count */ + .value("MAD_ERROR_BADBLOCKTYPE", MAD_ERROR_BADBLOCKTYPE) /* reserved block_type */ + .value("MAD_ERROR_BADSCFSI", MAD_ERROR_BADSCFSI) /* bad scalefactor selection info */ + .value("MAD_ERROR_BADDATAPTR", MAD_ERROR_BADDATAPTR) /* bad main_data_begin pointer */ + .value("MAD_ERROR_BADPART3LEN", MAD_ERROR_BADPART3LEN) /* bad audio data length */ + .value("MAD_ERROR_BADHUFFTABLE", MAD_ERROR_BADHUFFTABLE) /* bad Huffman table select */ + .value("MAD_ERROR_BADHUFFDATA", MAD_ERROR_BADHUFFDATA) /* Huffman data overrun */ + .value("MAD_ERROR_BADSTEREO", MAD_ERROR_BADSTEREO); /* incompatible block_type for JS */ + + class_("mad_header"); + class_>("MadHeader") + .constructor(&mad_header_create, allow_raw_pointers()) + .property("layer", &MadHeader::getLayer, &MadHeader::setLayer) + .property("mode_extension", &MadHeader::getMode_extension, &MadHeader::setMode_extension) + .property("mode", &MadHeader::getMode, &MadHeader::setMode) + .property("emphasis", &MadHeader::getEmphasis, &MadHeader::setEmphasis) + .property("bitrate", &MadHeader::getBitrate, &MadHeader::setBitrate) + .property("samplerate", &MadHeader::getSamplerate, &MadHeader::setSamplerate) + .property("crc_check", &MadHeader::getCrc_check, &MadHeader::setCrc_check) + .property("crc_target", &MadHeader::getCrc_target, &MadHeader::setCrc_target) + .property("flags", &MadHeader::getFlags, &MadHeader::setFlags) + .property("private_bits", &MadHeader::getPrivate_bits, &MadHeader::setPrivate_bits) + .property("duration", &MadHeader::getDuration, &MadHeader::setDuration); + + function("mad_header_init", &mad_header_init, allow_raw_pointers()); + + class_("mad_frame"); + class_>("MadFrame") + .constructor(&mad_frame_create, allow_raw_pointers()) + .property("header", &MadFrame::getHeader, &MadFrame::setHeader) + .property("options", &MadFrame::getOptions, &MadFrame::setOptions) + .function("sbsample", &MadFrame::getSbsample) + .function("overlap", &MadFrame::getOverlap) + .function("decode", &MadFrame::decode, allow_raw_pointers()); + + value_object("mad_timer_t") + .field("seconds", &mad_timer_t::seconds) + .field("fraction", &mad_timer_t::fraction); + + function("mad_frame_init", &mad_frame_init, allow_raw_pointers()); + function("mad_frame_finish", &mad_frame_finish, allow_raw_pointers()); + + class_("mad_bitptr"); + + class_("mad_stream"); + class_>("MadStream") + .constructor(&mad_stream_create, allow_raw_pointers()) + .property("sync", &MadStream::getSync, &MadStream::setSync) + .property("freerate", &MadStream::getFreeRate, &MadStream::setFreeRate) + .property("options", &MadStream::getOptions, &MadStream::setOptions) + .property("error", &MadStream::getError, &MadStream::setError) + .property("mdLen", &MadStream::getMdLen, &MadStream::setMdLen) + .function("mainData", &MadStream::mainData) + .function("setBuffer", &MadStream::setBuffer, allow_raw_pointers()); + + function("mad_stream_init", &mad_stream_init, allow_raw_pointers()); + function("mad_stream_finish", &mad_stream_finish, allow_raw_pointers()); + function("mad_stream_buffer", &mad_stream_buffer, allow_raw_pointers()); +} + +#endif // WRAPPER_H