summaryrefslogtreecommitdiff
path: root/lib/rbcodec/codecs (follow)
Commit message (Collapse)AuthorAge
...
* Initial opus codec supportFrederik M J Vestre2012-09-20
| | | | | | | | | | | | | | | | | Synchronised with opus repo on github (https://github.com/freqmod/rockbox-opus) Status: * Seeking ported from speex, but fails on some cases (e.g. seek to granule 0) * ReplayGain parsing needs to be reworked, we do vorbis-style replaygain now. http://wiki.xiph.org/OggOpus#Comment_Header explicitly forbids these in favour of R128_TRACK_GAIN tag. * No optimisation yet, source files still nearly identical to opus upstream * Multi-stream opus files may not be parsed correctly Change-Id: Ia66f1027dc1d288083e3c57b2816700078376f9a Reviewed-on: http://gerrit.rockbox.org/300 Reviewed-by: Bertrik Sikken <bertrik@sikken.nl> Tested-by: Bertrik Sikken <bertrik@sikken.nl>
* Make codec_realloc retain the contents when resizing a memory segmentBertrik Sikken2012-07-26
| | | | Change-Id: Ia2fc42eb0d36399e6856d3a957dd1634f019ca6a
* Expand the range of the WPA Pro quant table. Fixes FS#12704.Michael Giacomelli2012-07-03
| | | | Change-Id: I5495c4d7d165cac15016d3233b85bbe5497ea3e1
* Fix libmad compilation on MIPS with newer gcc. FS#12013Huan Zhang2012-06-11
| | | | | | | | | | | Since gcc 4.4 the MIPS port no longer recognizes the "h" asm constraint. It was necessary to remove this constraint in order to avoid generating unpredictable code sequences. We can achieve the same effect using 128-bit types. See also:GCC 4.4 release notes at http://gcc.gnu.org/gcc-4.4/ Change-Id: I713cdf57cde1a989ad960aa441ab1ccf51f1cdc6
* Expand the range of the inverse quant table in WMA Pro.Michael Giacomelli2012-05-20
| | | | | | | | | Several of the problem samples on the tracker use values outside this range. Trying the larger table doesn't quite seem to fix things, but its only a small amount of additional memory and looking at ffmpeg, I think the larger table is correct. Change-Id: Id046e62b68550701aa1f80c9abd0a1dcd711bd0d
* support decoding of files that contain the number of vector coded ↵Michael Giacomelli2012-05-20
| | | | | | | | | | coefficients in their bitstream No known samples are fixed by this problem, but I haven't tested many. Backport of ffmpeg revision 26388. Change-Id: Ife9654b7477a432834e3cab2cb43d16da071445a
* Remove STATICIRAM hackNils Wallménius2012-05-08
| | | | | | | | It was only needed by the old arm toolchain that we no longer use or support. Change-Id: Id0e6c67477f8834a637079b03cde5fbf9da68b1c Reviewed-on: http://gerrit.rockbox.org/233 Reviewed-by: Nils Wallménius <nils@rockbox.org>
* remove extraneous parensRafaël Carré2012-05-06
|
* asap codec: remove invalid memsetRafaël Carré2012-05-06
| | | | | | | | This would zero the first 4 or 8 bytes of the array because it is declared as a pointer rockbox/lib/rbcodec/codecs/libasap/asap.c:1229:44: warning: argument to 'sizeof' in 'memset' call is the same expression as the destination; did you mean to provide an explicit length? [-Wsizeof-pointer-memaccess] memset(ast -> memory, 0, sizeof(ast -> memory)); ~~~~~~~~~~~~~ ~~~~~~~^~~~~~
* Don't use function in a functionRafaël Carré2012-05-06
| | | | It is not supported by clang
* Add rbcodecplatform.h and rbcodecconfig.h.Sean Bartell2012-05-03
| | | | | | | | | | | | | | | | | librbcodec users must provide these two files when the library is built. rbcodecconfig.h provides configuration #defines and basic types, and will be included by public librbcodec headers, so it must not conflict with the user's code. rbcodecplatform.h provides various OS functions, and will only be included by source files and private headers. This system is intended to provide maximum flexibility for use on embedded systems, where no operating system headers are included. Unix systems can just copy rbcodecconfig-example.h and rbcodecplatform-unix.h with minimal changes. Change-Id: I350a2274d173da391fd1ca00c4202e9760d91def Reviewed-on: http://gerrit.rockbox.org/143 Reviewed-by: Nils Wallménius <nils@rockbox.org> Tested-by: Nils Wallménius <nils@rockbox.org>
* Fix audio corruption when sequentially playing low bitrate WMA filesMichael Giacomelli2012-05-01
| | | | | | for real this time. Also, use English grammar. Change-Id: I1f2156afa313280deb02b58a191511699671a761
* Fix corrupt when repeatidly playing very low bitrate WMA files.Michael Giacomelli2012-05-01
| | | | | | | | | | | | | | | | | | | The LSP feature in WMA requires that the noise table values be doubled verses when it is not used. Unfortunately, the previous code would double the same values every time a LSP file was decoded without first resetting them to their original values. Change the code to check if the values are already doubled, and then double/halve them as needed. This is still a bit ugly, in the future consider using the built in rockbox dither instead of a lookup table. Fixes playback when skipping back and forth between low and high bitrate WMA. Change-Id: I4c393092e4a789bc8f98d74274fe207400b9550e Reviewed-on: http://gerrit.rockbox.org/226 Reviewed-by: Michael Giacomelli <giac2000@hotmail.com> Tested-by: Michael Giacomelli <giac2000@hotmail.com>
* Make rbcodec/dsp includes more specific.Michael Sevakis2012-04-29
| | | | Change-Id: Idb6af40df26f5b8499a40e8b98602261ef227044
* Fundamentally rewrite much of the audio DSP.Michael Sevakis2012-04-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Creates a standard buffer passing, local data passing and messaging system for processing stages. Stages can be moved to their own source files to reduce clutter and ease assimilation of new ones. dsp.c becomes dsp_core.c which supports an engine and framework for effects. Formats and change notifications are passed along with the buffer so that they arrive at the correct time at each stage in the chain regardless of the internal delays of a particular one. Removes restrictions on the number of samples that can be processed at a time and it pays attention to destination buffer size restrictions without having to limit input count, which also allows pcmbuf to remain fuller and safely set its own buffer limits as it sees fit. There is no longer a need to query input/output counts given a certain number of input samples; just give it the sizes of the source and destination buffers. Works in harmony with stages that are not deterministic in terms of sample input/output ratio (like both resamplers but most notably the timestretch). As a result it fixes quirks with timestretch hanging up with certain settings and it now operates properly throughout its full settings range. Change-Id: Ib206ec78f6f6c79259c5af9009fe021d68be9734 Reviewed-on: http://gerrit.rockbox.org/200 Reviewed-by: Michael Sevakis <jethead71@rockbox.org> Tested-by: Michael Sevakis <jethead71@rockbox.org>
* Add codecs to librbcodec.Sean Bartell2012-04-25
Change-Id: Id7f4717d51ed02d67cb9f9cb3c0ada4a81843f97 Reviewed-on: http://gerrit.rockbox.org/137 Reviewed-by: Nils Wallménius <nils@rockbox.org> Tested-by: Nils Wallménius <nils@rockbox.org>