summaryrefslogtreecommitdiff
path: root/apps/codecs/lib (follow)
Commit message (Expand)AuthorAge
* codeclib: make selective inclusion of macros and inline functions from the co...Nils Wallménius2011-06-08
* FS#12146: Fix libcook bugs introduced in r22055 by Sean Bartell.Nils Wallménius2011-06-05
* FS#12141 by Sean BartellNils Wallménius2011-06-02
* FS#12140 by Sean Bartell, Make various codec stuff static.Nils Wallménius2011-06-01
* Commit FS#12130 - Fix ADX decoding on 64-bit systems by Sean Bartell. Fixes ...Michael Giacomelli2011-05-26
* Use more IRAM on S5L870x to speed up wmapro by ~2%.Andree Buschmann2011-05-20
* Proper initialization of static variables in codeclib.Andree Buschmann2011-05-10
* Use CACHEALIGN_SIZE in codec_malloc for optimal alignment.Andree Buschmann2011-05-08
* codeclib: Declare several variables static and remove unused variables.Andree Buschmann2011-05-08
* Work around another 'set but not used' warning.Nils Wallménius2011-05-01
* Having a default weak codec_main symbol doesn't seem to be working out for co...Michael Sevakis2011-04-27
* Commit FS#12069 - Playback rework - first stages. Gives as thorough as possib...Michael Sevakis2011-04-27
* Enforce that codecs wait for their metadata in a proper-ish and consistent ma...Michael Sevakis2011-02-20
* Fix profiling on coldfire with newer Gcc.Nils Wallménius2010-12-27
* codeclib: inline assembler for fft4 and fft8 on coldfire, small 0.2-0.3MHz sp...Nils Wallménius2010-12-01
* codeclib: there is no need to limit the outputs of the coldfire X(N)PROD_R ma...Nils Wallménius2010-11-24
* codeclib: don't mark the outputs for the coldfire X(N)PROD_R asm macros as ea...Nils Wallménius2010-11-23
* Remove unused define.Andree Buschmann2010-11-21
* Rearrange and remove some manual register assignments, make use of pointer ad...Dave Hooper2010-10-12
* ARMv6 supports unaligned memory accesses and they are enabled on our only ARM...Nils Wallménius2010-09-29
* Move setjmp to lib and add setjmp for sh (imported from newlib) and compile i...Thomas Martitz2010-08-24
* Make codeclib_misc.h include the asm headers to simplify inclusion magic.Nils Wallménius2010-07-29
* FS#11454 Tuning of codec compiler optionsNils Wallménius2010-07-18
* Begin shoehorning wma into the clip codec buffer again. Reduce the static buf...Nils Wallménius2010-07-17
* Enable ff_copy_bits in ffmpeg_bitstream.c and put_bits.h and intreadwrite.h t...Mohamed Tarek2010-07-17
* libwma has Huffman tables that are too big for the stack temp buffer. Make te...Nils Wallménius2010-07-16
* Sync codeclib bitstream code with upstream ffmpeg code. Build ffmpeg_bitstrea...Nils Wallménius2010-07-15
* Check if ROCKBOX_LITTLE_ENDIAN and ROCKBOX_BIG_ENDIAN are defined, no which v...Rafaël Carré2010-07-14
* Rename/change SIMVER to APP_TYPE in the Makefiles.Thomas Martitz2010-07-10
* Fix inline asm argument. Shouldn't have much impact in practice but might sav...Nils Wallménius2010-06-27
* Rockbox as an application: Replace many occurences of #ifdef SIMULATOR with #...Thomas Martitz2010-06-21
* ARMv6 versions of X(N)PROD31 macros and MULT32 macro. Saves about 1MHz or 3% ...Nils Wallménius2010-06-17
* FS#11335 by me: make ARM assembly functions thumb-friendlyRafaël Carré2010-06-11
* ARM: use BX when branch to an address in registerRafaël Carré2010-05-31
* Two tiny tweaks to some arm asmNils Wallménius2010-05-13
* Some asm for mdct on coldfire, speeds up vorbis decoding by about 0.3MHzNils Wallménius2010-05-13
* Move c/h files implementing/defining standard library stuff into a new libc d...Thomas Martitz2010-05-06
* Use bx lr unconditionally in setjmp_arm.SRafaël Carré2010-03-09
* Remove unused GPL code from ffmpeg mdct library in order to restore it to LGPL.Michael Giacomelli2010-03-05
* Remove all tabs within codec path.Andree Buschmann2010-02-22
* Remove CLIP_TO_15 from codeclib. Remove tabs.Andree Buschmann2010-02-21
* Make mdct compilable again for non-ARM targets.Andree Buschmann2010-02-21
* Eep, didn't mean to commit those other filesDave Hooper2010-02-21
* Get a few more % speedup on ARM (measured on ipod video) - improve imdct full...Dave Hooper2010-02-21
* Adding ICODE for imdct (and its constituent ifft bits) gives 0.5MHz boost on ...Dave Hooper2010-02-20
* I don't yet fully understand why this is required, but without it the output ...Dave Hooper2010-02-18
* split_radix_permutation also unused (since now a hardcoded table) - but left ...Dave Hooper2010-02-17
* FIx typo in coldfire asm which caused yellowDave Hooper2010-02-17
* Fix yellow (ff_fft_permute_c an unused function in codeclib)Dave Hooper2010-02-17
* Merge from branches/mdctexp - faster ifft+imdct in codec libDave Hooper2010-02-17
, unsigned size, int reason) { void *x; DEBUGF("mpeg_alloc_internal: bs:%lu s:%u reason:%s (%d)\n", bufsize, size, mpeg_get_reason_str(reason), reason); if ((size_t) (*mem_ptr + size) > bufsize) { DEBUGF("OUT OF MEMORY\n"); return NULL; } x = &mallocbuf[*mem_ptr]; *mem_ptr += (size + 3) & ~3; /* Keep memory 32-bit aligned */ return x; (void)reason; } void *mpeg_malloc(size_t size, mpeg2_alloc_t reason) { return mpeg_malloc_internal(mallocbuf, &mem_ptr, bufsize, size, reason); } void *mpeg_malloc_all(size_t *size_out, mpeg2_alloc_t reason) { /* Can steal all but MIN_MEMMARGIN */ if (bufsize - mem_ptr < MIN_MEMMARGIN) return NULL; *size_out = bufsize - mem_ptr - MIN_MEMMARGIN; return mpeg_malloc(*size_out, reason); } bool mpeg_alloc_init(unsigned char *buf, size_t mallocsize) { mem_ptr = 0; /* Cache-align buffer or 4-byte align */ mallocbuf = buf; bufsize = mallocsize; ALIGN_BUFFER(mallocbuf, bufsize, CACHEALIGN_UP(4)); /* Separate allocator for video */ mpeg2_mem_ptr = 0; mpeg2_mallocbuf = mallocbuf; mpeg2_bufallocbuf = mallocbuf; mpeg2_bufsize = CACHEALIGN_UP(LIBMPEG2_ALLOC_SIZE); if (mpeg_malloc_internal(mallocbuf, &mem_ptr, bufsize, mpeg2_bufsize, MPEG_ALLOC_MPEG2_BUFFER) == NULL) { return false; } IF_COP(rb->cpucache_invalidate()); return true; } /* allocate non-dedicated buffer space which mpeg2_mem_reset will free */ void * mpeg2_malloc(unsigned size, mpeg2_alloc_t reason) { void *ptr = mpeg_malloc_internal(mpeg2_mallocbuf, &mpeg2_mem_ptr, mpeg2_bufsize, size, reason); /* libmpeg2 expects zero-initialized allocations */ if (ptr) rb->memset(ptr, 0, size); return ptr; } /* allocate dedicated buffer - memory behind buffer pointer becomes dedicated so order is important */ void * mpeg2_bufalloc(unsigned size, mpeg2_alloc_t reason) { void *buf = mpeg2_malloc(size, reason); if (buf == NULL) return NULL; mpeg2_bufallocbuf = &mpeg2_mallocbuf[mpeg2_mem_ptr]; return buf; } /* return unused buffer portion and size */ void * mpeg2_get_buf(size_t *size) { if ((size_t)mpeg2_mem_ptr + 32 >= mpeg2_bufsize) return NULL; *size = mpeg2_bufsize - mpeg2_mem_ptr; return &mpeg2_mallocbuf[mpeg2_mem_ptr]; } /* de-allocate all non-dedicated buffer space */ void mpeg2_mem_reset(void) { DEBUGF("mpeg2_mem_reset\n"); mpeg2_mem_ptr = mpeg2_bufallocbuf - mpeg2_mallocbuf; } /* The following are expected by libmad */ void * codec_malloc(size_t size) { void* ptr; ptr = mpeg_malloc_internal(mallocbuf, &mem_ptr, bufsize, size, MPEG_ALLOC_CODEC_MALLOC); if (ptr) rb->memset(ptr,0,size); return ptr; } void * codec_calloc(size_t nmemb, size_t size) { void* ptr; ptr = mpeg_malloc_internal(mallocbuf, &mem_ptr, bufsize, nmemb*size, MPEG_ALLOC_CODEC_CALLOC); if (ptr) rb->memset(ptr,0,size); return ptr; } void codec_free(void* ptr) { DEBUGF("codec_free - %p\n", ptr); #if 0 mem_ptr = (void *)ptr - (void *)mallocbuf; #endif (void)ptr; }