summaryrefslogtreecommitdiff
path: root/apps/codecs/wma.c (follow)
Commit message (Collapse)AuthorAge
* 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>
* More completely flush WMA decoder state on seek to prevent artifact.Michael Giacomelli2012-04-03
| | | | | | | | Each MDCT depends on the previous frame for reconstruction. Previosly these were not zeroed out when seeking, resulting in a few milliseconds of the previous frame playing with the current one. Fix that. Additionally, since the codec treats seeks to the start of a track as a "reset", flush the entire codec state in this event to ensure that everything is reset. Change-Id: If593621a2922b0bbfa34f926f9bff31bee6b8c6a
* Don't filter out -O for sims.Thomas Martitz2012-01-22
| | | | | | | | | It's not useful as it means we test code at a different -O level than we run it at. Fixes build errors caused by gcc 4.3. Fix some warnings the change would introduce as well. Change-Id: Id9ff31dc08694b0bfc5272f5e690c41f7918ed22
* Commit work started in FS#12153 to put timing/position information in PCMMichael Sevakis2011-08-28
| | | | | | | | | | | | | | | | | | | | | | | | | buffer chunks. * Samples and position indication is closely associated with audio data instead of compensating by a latency constant. Alleviates problems with using the elapsed as a track indicator where it could be off by several steps. * Timing is accurate throughout track even if resampling for pitch shift, whereas before it updated during transition latency at the normal 1:1 rate. * Simpler PCM buffer with a constant chunk size, no linked lists. In converting crossfade, a minor change was made to not change the WPS until the fade-in of the incoming track, whereas before it would change upon the start of the fade-out of the outgoing track possibly having the WPS change with far too much lead time. Codec changes are to set elapsed times *before* writing next PCM frame because time and position data last set are saved in the next committed PCM chunk. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30366 a1c6a512-1295-4272-9138-f99709370657
* Commit FS#12069 - Playback rework - first stages. Gives as thorough as ↵Michael Sevakis2011-04-27
| | | | | | possible a treatment of codec management, track change and metadata logic as possible while maintaining fairly narrow focus and not rewriting everything all at once. Please see the rockbox-dev mail archive on 2011-04-25 (Playback engine rework) for a more thorough manifest of what was addressed. Plugins and codecs become incompatible. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29785 a1c6a512-1295-4272-9138-f99709370657
* Enforce that codecs wait for their metadata in a proper-ish and consistent ↵Michael Sevakis2011-02-20
| | | | | | manner. Sort of a halfway patch; best would be to give them an internal copy of the current track information which lasts unaltered by playback until a track switch or unload. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29348 a1c6a512-1295-4272-9138-f99709370657
* Correctly re-initialize wma decoder on next track. This fixes strange ↵Andree Buschmann2011-02-03
| | | | | | observed issues (noise, crashes) which only could be solved through re-entering the wma codec. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29202 a1c6a512-1295-4272-9138-f99709370657
* Remove old debug line from wma.c.Michael Giacomelli2010-08-12
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27796 a1c6a512-1295-4272-9138-f99709370657
* Modify WMA to produce non-interleaved stereo output (FS#11503 by me). speeds ↵Mohamed Tarek2010-07-28
| | | | | | up wma by 3.5MHz on CF and 2.2MHz on ARM. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27591 a1c6a512-1295-4272-9138-f99709370657
* Rename seek() to asf_seek()Mohamed Tarek2010-05-21
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26237 a1c6a512-1295-4272-9138-f99709370657
* Move seek() from wma.c to libasf since it's really ASF-specific.Mohamed Tarek2010-05-21
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26235 a1c6a512-1295-4272-9138-f99709370657
* Remove unnecessary parameter (struct codec_api* ci) passed to libasf ↵Mohamed Tarek2010-05-02
| | | | | | functions, and consequently remove the no-longer needed #ifdef in apps/codecs/libasf/asf.h git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25788 a1c6a512-1295-4272-9138-f99709370657
* Add the Rockbox GPL header to apps/codecs/libasf/asf.c and fix the one in ↵Mohamed Tarek2010-05-02
| | | | | | apps/codecs/wma.c git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25781 a1c6a512-1295-4272-9138-f99709370657
* - Factor out container specific code from apps/codecs/wma.c.Mohamed Tarek2010-05-02
| | | | | | | - Create an independent asf packet-parsing library in apps/codecs/libasf. - Modify wma.c to use the newly created libasf. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25780 a1c6a512-1295-4272-9138-f99709370657
* Commit fix suggested by Siaoru Lee in FS#9776. Fixes a bug in our ASF parser.Michael Giacomelli2009-02-08
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19946 a1c6a512-1295-4272-9138-f99709370657
* Calculate watermark from bitrate and harddisk spinup time.Björn Stenberg2009-01-10
| | | | | | | | Use a smaller PCM buffer on targets with 2MB or less ram. (FS#9703) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19743 a1c6a512-1295-4272-9138-f99709370657
* New makefile solution: A single invocation of 'make' to build the entire ↵Björn Stenberg2008-11-20
| | | | | | | | | tree. Fully controlled dependencies give faster and more correct recompiles. Many #include lines adjusted to conform to the new standards. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19146 a1c6a512-1295-4272-9138-f99709370657
* Actually put the output in IRAM this time by combining some buffers that ↵Michael Giacomelli2008-08-10
| | | | | | weren't used at the same time. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18231 a1c6a512-1295-4272-9138-f99709370657
* Use Tremor IMDCT for WMA. Gives a ~20% speedup on ARM and coldfire. All my ↵Michael Giacomelli2008-07-17
| | | | | | test samples gave equivilent or better accuracy (>>16 bit), but there may still be problems. Code becomes somewhat less readable since the IMDCT has bits of Vorbis in it, but this is not a serious issue and the old ffmpeg transform remains in SVN if anyone wants it. Also, WMA now passes Vorbis as the fastest transform codec on ARM, although MPC remains the fastest lossy codec overall. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18084 a1c6a512-1295-4272-9138-f99709370657
* Updated our source code header to explicitly mention that we are GPL v2 orDaniel Stenberg2008-06-28
| | | | | | | | | later. We still need to hunt down snippets used that are not. 1324 modified files... http://www.rockbox.org/mail/archive/rockbox-dev-archive-2008-06/0060.shtml git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17847 a1c6a512-1295-4272-9138-f99709370657
* Fix skipping back to the start of WMA files, broken by the addition of ↵Magnus Holmgren2008-04-29
| | | | | | resume support. Not the most elegant fix perhaps, but it works for me. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17291 a1c6a512-1295-4272-9138-f99709370657
* Correct copyright date and add acknowledgement of projects (libasf and VLC) ↵Dave Chapman2008-04-16
| | | | | | that the ASF parsing code is based on. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17146 a1c6a512-1295-4272-9138-f99709370657
* Remove redundant init call.Magnus Holmgren2008-04-13
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17092 a1c6a512-1295-4272-9138-f99709370657
* Commit FS#8822 by Magnus Holmgren. Fixes resuming previously playing WMA ↵Michael Giacomelli2008-04-12
| | | | | | files after a reboot. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17090 a1c6a512-1295-4272-9138-f99709370657
* Make the WMA decoder less noisy in the sim.Michael Giacomelli2008-04-07
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17014 a1c6a512-1295-4272-9138-f99709370657
* Fix (another) overflow when seeking in long WMA files.Michael Giacomelli2008-03-09
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16597 a1c6a512-1295-4272-9138-f99709370657
* Don't assume reading the duration field advances the buffer 12 bytes, ↵Michael Giacomelli2008-03-09
| | | | | | instead check the return value and seek accordingly. Improves (fixes?) seeking in sample submitted by Lear. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16595 a1c6a512-1295-4272-9138-f99709370657
* If seek fails, don't insert nonsense for the current position. Also, make ↵Michael Giacomelli2008-01-06
| | | | | | one of the error messages a bit more clear. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16002 a1c6a512-1295-4272-9138-f99709370657
* Code-police raid - cosmetic changes only.Dave Chapman2007-12-01
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15862 a1c6a512-1295-4272-9138-f99709370657
* Use the correct variable name - fixes warningDave Chapman2007-11-30
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15860 a1c6a512-1295-4272-9138-f99709370657
* Fix warning when compiling the sim.Michael Giacomelli2007-11-30
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15858 a1c6a512-1295-4272-9138-f99709370657
* Fix overflow when seeking in long files wma. Also, add a simple sanity ↵Michael Giacomelli2007-11-30
| | | | | | check when seeking. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15851 a1c6a512-1295-4272-9138-f99709370657
* Add seeking support for wma. Works quite well on my Sansa, and theres some ↵Michael Giacomelli2007-11-22
| | | | | | effort to catch and recover from seeking errors, but theres likely to be problems in some files. Also, add Thom's idea to skip past some errors in wma streams rather then just giving up. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15753 a1c6a512-1295-4272-9138-f99709370657
* Remove conf_filechunk, it should never have been a setting and its ↵Brandon Low2007-11-05
| | | | | | implementation doesn't do what it claims any way git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15478 a1c6a512-1295-4272-9138-f99709370657
* Make a fix for the WMA seek to start bug that actually works...Thom Johansen2007-10-17
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15170 a1c6a512-1295-4272-9138-f99709370657
* Fix FS #7973. Hack a way to make skip to start of track work for WMA until ↵Thom Johansen2007-10-17
| | | | | | we have proper seeking. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15166 a1c6a512-1295-4272-9138-f99709370657
* use the full resolution we get from the WMA decoder and let the DSP code do ↵Marcoen Hirschberg2007-08-06
| | | | | | the rest git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14224 a1c6a512-1295-4272-9138-f99709370657
* Cosmetic changes - update a comment and add more info to a DEBUGFDave Chapman2007-07-18
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13925 a1c6a512-1295-4272-9138-f99709370657
* TAB and whitespace policeDave Chapman2007-07-11
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13858 a1c6a512-1295-4272-9138-f99709370657
* Don't assume files are WMAv2, instead actually check that they are and quit ↵Michael Giacomelli2007-07-11
| | | | | | gracefully if they are not. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13855 a1c6a512-1295-4272-9138-f99709370657
* ASF parser improvements - it now correctly handles files containing multiple ↵Dave Chapman2007-07-10
| | | | | | payloads. i.e. files where the audio packets are split into multiple payloads, and streams where audio/video payloads are mixed within the same packet. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13840 a1c6a512-1295-4272-9138-f99709370657
* Reorganise the wma_decode_superframe() function - split into a separate init ↵Dave Chapman2007-07-09
| | | | | | and decode functions. Each call to the decode function now decodes a single frame (2048 samples) instead of an entire superframe (which typically contained about 7 or 8 frames and can in theory contain up to 16 frames). This allows us to replace the 256KB output buffer with a 8KB buffer, and also perform more yields in the main decoding loop. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13833 a1c6a512-1295-4272-9138-f99709370657
* WMA clean-up commit - fix 64-bit sim warnings, set svn keywords property, ↵Dave Chapman2007-07-03
| | | | | | and add new files to apps/FILES git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13771 a1c6a512-1295-4272-9138-f99709370657
* Initial, work-in-progress, version of a WMA codec using Michael Giacomelli's ↵Dave Chapman2007-07-03
fixed-point and malloc-less WMA decoder (based on the ffmpeg WMA decoder from early 2006, and also building on the work started by Paul Jones). The codec itself and the ASF parsing code were written by me, inspired by the ASF parser in libasf. Current performance is around 400% realtime on gigabeat, 100% realtime on PP and 20% realtime on Coldfire. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13769 a1c6a512-1295-4272-9138-f99709370657