Commit graph

104 commits

Author SHA1 Message Date
Jeffrey Goode
013fe35992 pcmbuf: better latency calculation, added debug code
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23537 a1c6a512-1295-4272-9138-f99709370657
2009-11-05 17:32:32 +00:00
Jeffrey Goode
cf19ba5599 Replace limiter with dynamic range compressor
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22832 a1c6a512-1295-4272-9138-f99709370657
2009-09-25 15:46:38 +00:00
Jeffrey Goode
b60ddb854f Better menu verbiage for test_codec
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22797 a1c6a512-1295-4272-9138-f99709370657
2009-09-23 14:56:32 +00:00
Jeffrey Goode
2b7ef6b928 FS#10199: Adds limiter DSP function
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22394 a1c6a512-1295-4272-9138-f99709370657
2009-08-18 03:24:45 +00:00
Jeffrey Goode
0dc2fb5760 Adds DSP testing and WAV writing to test_codec
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22279 a1c6a512-1295-4272-9138-f99709370657
2009-08-12 18:12:25 +00:00
Michael Giacomelli
594b6e2b49 Commit FS#10251. Plugins for the YH-820, YH-920, and YH-925 by Jens Erdmann with improvements and bitmap graphics by me.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22149 a1c6a512-1295-4272-9138-f99709370657
2009-08-04 03:08:32 +00:00
Nils Wallménius
3d4701a6e4 FS#10080
* Move strncpy() from core to the pluginlib
* Introduce strlcpy() and use that instead in most places (use memcpy in a few) in core and some plugins
* Drop strncpy() from the codec api as no codec used it
* Bump codec and plugin api versions


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21863 a1c6a512-1295-4272-9138-f99709370657
2009-07-14 13:57:45 +00:00
Maurus Cuelenaere
fef405c328 Enable plugins on the Onda VX747
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20647 a1c6a512-1295-4272-9138-f99709370657
2009-04-07 23:41:44 +00:00
Andree Buschmann
a0516b7060 Make test_codec.c compilable again.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19984 a1c6a512-1295-4272-9138-f99709370657
2009-02-12 05:30:12 +00:00
Michael Sevakis
21f0c9a282 Make basic cache functions into calls, and get rid of CACHE_FUNCTION_WRAPPERS and CACHE_FUNCTIONS_AS_CALL macros. Rename flush/invalidate_icache to cpucache_flush/invalidate. They're inlined only if an implementation isn't provided by defining HAVE_CPUCACHE_FLUSH/INVALIDATE.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19971 a1c6a512-1295-4272-9138-f99709370657
2009-02-11 12:55:51 +00:00
Michael Sevakis
b0befadad1 Include divide-by-zero handling within plugins and codecs for ARM processors.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19834 a1c6a512-1295-4272-9138-f99709370657
2009-01-24 03:47:09 +00:00
Andrew Mahone
23d9812273 loader-initialized global plugin API:
struct plugin_api *rb is declared in PLUGIN_HEADER, and pointed to by
__header.api

the loader uses this pointer to initialize rb before calling entry_point

entry_point is no longer passed a pointer to the plugin API

all plugins, and pluginlib functions, are modified to refer to the
global rb

pluginlib functions which only served to copy the API pointer are
removed

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19776 a1c6a512-1295-4272-9138-f99709370657
2009-01-16 10:34:40 +00:00
Jens Arnold
759bede3bc Fix test_codec for r19704 (prefix removed from plugin API).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19729 a1c6a512-1295-4272-9138-f99709370657
2009-01-08 22:37:51 +00:00
Michael Sevakis
2054627caa Have the codec thread do callbacks instead of messing with the stack which is much simpler and safer. Remove threads array from plugin API since it now serves no purpose. Up minimum API version and sort.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19684 a1c6a512-1295-4272-9138-f99709370657
2009-01-05 10:31:19 +00:00
Michael Sevakis
8cfbd3604f Use cookies for thread identification instead of pointers directly which gives a buffer against wrongly identifying a thread when the slot is recycled (which has been nagging me for awhile). A slot gets 255 uses before it repeats. Everything gets incompatible so a full update is required.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19377 a1c6a512-1295-4272-9138-f99709370657
2008-12-10 08:57:10 +00:00
Jens Arnold
4c3a19f1b4 Fix test_codec precision. The old version effectively rounded the decode time up to full seconds (because of the rb->sleep(HZ)), so speed results from before this revision were more or less too low and 'stepped', especially for fast codecs and short test tracks.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19193 a1c6a512-1295-4272-9138-f99709370657
2008-11-23 23:54:27 +00:00
Michael Sevakis
effceea229 Remove the event object in the kernel since it's rather extraneous at the moment. This makes the codecs and the plugins incompatible, so update fully.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18867 a1c6a512-1295-4272-9138-f99709370657
2008-10-23 13:13:00 +00:00
Nils Wallménius
4e14f2d6dd Fix test_codec plugin that was broken by r18834
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18862 a1c6a512-1295-4272-9138-f99709370657
2008-10-22 18:42:55 +00:00
Michael Giacomelli
ccd56bf220 Fix test_codec on multiprocessor codecs (MP3, SPC).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18558 a1c6a512-1295-4272-9138-f99709370657
2008-09-20 22:13:39 +00:00
Dominik Wenger
25bb37bb68 commit asap codec. plays .sap files. At the moment it only plays the default song. So subSongs are ignored.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18121 a1c6a512-1295-4272-9138-f99709370657
2008-07-26 15:16:10 +00:00
Daniel Stenberg
2acc0ac542 Updated our source code header to explicitly mention that we are GPL v2 or
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
2008-06-28 18:10:04 +00:00
Rob Purchase
1bcd53dd5b D2: Add test_codec exit button mapping.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17764 a1c6a512-1295-4272-9138-f99709370657
2008-06-23 17:47:09 +00:00
Jonathan Gordon
bdbdb97f19 FS#9051 - remove LCD margins... use viewports if you need them...
NOTE to WPS people....
%m has been removed, but (i think) because of the other %m tags it wont fail if you try loading a wps with %m|..|, it will just be ignored.
Also note that if the statusbar is enabled the default viewport is 8 pixels shorter than when its not, i.e (0,0) is really (0,8) if the statusbar is shown... I dont think this will be a major issue because almost no WPS show the bar and use bitmaps... text only WPS shouldnt be affected.

Please report problem screens in http://forums.rockbox.org/index.php?topic=17358.0


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17763 a1c6a512-1295-4272-9138-f99709370657
2008-06-23 13:20:35 +00:00
Andree Buschmann
ea840e2036 Add effective clockrate for realtime decoding to the displayed results of test_codec plugin. This result shows the effectiveness of a codec on the current target plaform.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17687 a1c6a512-1295-4272-9138-f99709370657
2008-06-04 06:07:43 +00:00
Steve Bavin
fa0eabdd9a Fix warning.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17493 a1c6a512-1295-4272-9138-f99709370657
2008-05-13 12:03:07 +00:00
Steve Bavin
6526577818 Plugin parameters should be const.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17492 a1c6a512-1295-4272-9138-f99709370657
2008-05-13 09:57:56 +00:00
Michael Sevakis
951cbdde7e Oops. test_codec should be updated too.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16875 a1c6a512-1295-4272-9138-f99709370657
2008-03-29 06:40:45 +00:00
Steve Bavin
135cc757bd Revert my earlier const madness, we'll keep the parameter lists simple.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16863 a1c6a512-1295-4272-9138-f99709370657
2008-03-28 12:51:33 +00:00
Steve Bavin
c9df8fd87b The const police raid playback.c, should be no change to behaviour.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16860 a1c6a512-1295-4272-9138-f99709370657
2008-03-28 11:24:24 +00:00
Michael Sevakis
a92b9e65f7 Fix pointer warnings in test_codec.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16813 a1c6a512-1295-4272-9138-f99709370657
2008-03-26 06:52:16 +00:00
Jonathan Gordon
5ca1539969 the menu and list now accepts a parent viewport to draw in (and the menu can be told to not show status/button bars). This lays the groundwork to fix colour problems with plugin menus (see star.c for an example.) This hopefully fixes some button bar issues as well as theme problems.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16812 a1c6a512-1295-4272-9138-f99709370657
2008-03-26 03:35:24 +00:00
Jens Arnold
29361abf74 Adapt most single-file plugins to the M3 keypad and screen. It's still preliminary, as many plugins now can't be left without the remote. The plugins need to be converted to use the action API (but not pluginlib actions). Plugins are not enabled yet. * Simplify the bitmap handling in the source of some plugins.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16737 a1c6a512-1295-4272-9138-f99709370657
2008-03-22 10:24:28 +00:00
Magnus Holmgren
c21f59090e FS#7954: Free resources when speed testing a folder. Also simplify the error handling code a little.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15934 a1c6a512-1295-4272-9138-f99709370657
2007-12-15 13:54:58 +00:00
Dave Chapman
a0f3443eab Remove some stray ^Ms
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15605 a1c6a512-1295-4272-9138-f99709370657
2007-11-12 22:10:36 +00:00
Michael Sevakis
7e12bba0d2 Phase in thread_wait when waiting for a thread to exit. Begin phasing out the spinlock object for general use; it will become a multicore-only object for core locking. Take care of plugins first.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15260 a1c6a512-1295-4272-9138-f99709370657
2007-10-22 05:57:38 +00:00
Michael Sevakis
9ec00d7f25 Add the thread state check into test_codec as used in mpegplayer which makes it should make it less prone to trash the codec thread after use.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15203 a1c6a512-1295-4272-9138-f99709370657
2007-10-19 09:11:23 +00:00
Michael Sevakis
a9b2fb5ee3 Finally full multicore support for PortalPlayer 502x targets with an eye towards the possibility of other types. All SVN targets the low-lag code to speed up blocking operations. Most files are modified here simple due to a name change to actually support a real event object and a param change to create_thread. Add some use of new features but just sit on things for a bit and leave full integration for later. Work will continue on to address size on sensitive targets and simplify things if possible. Any PP target having problems with SWP can easily be changed to sw corelocks with one #define change in config.h though only PP5020 has shown an issue and seems to work without any difficulties.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15134 a1c6a512-1295-4272-9138-f99709370657
2007-10-16 01:25:17 +00:00
Michael Sevakis
d712e252fe Get test_codec running again on PortalPlayer targets.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15035 a1c6a512-1295-4272-9138-f99709370657
2007-10-08 18:17:46 +00:00
Steve Bavin
4d34457cd0 Thanks to Nico_P, struct track_info can now be internal to playback.c
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14947 a1c6a512-1295-4272-9138-f99709370657
2007-10-02 07:47:43 +00:00
Michael Sevakis
d7cb90722f Get the plugins synced up with the threading changes.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14881 a1c6a512-1295-4272-9138-f99709370657
2007-09-28 11:12:45 +00:00
Thom Johansen
294ec1d110 Remove the ID3 tag version priority setting on the grounds of it being pretty pointless. ID3v2 tags are superior to ID3v1 tags, and needs less seeking around to find.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14750 a1c6a512-1295-4272-9138-f99709370657
2007-09-19 10:40:55 +00:00
Thom Johansen
c668de3085 FS #7286. Do correct rounding of final 16 bit samples before sending to DAC, for you golden-eared people.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14514 a1c6a512-1295-4272-9138-f99709370657
2007-08-29 14:32:52 +00:00
Nicolas Pennequin
6a92e475ac Make get_metadata act on a struct mp3entry rather than a struct track_info.
This should make it easy to use a buffer handle to put the ID3 data in.
The changes in get_metadata are mostly search and replace. The only thing
it actually used to do on the struct track_info was set taginfo_ready to
true.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14326 a1c6a512-1295-4272-9138-f99709370657
2007-08-14 11:56:13 +00:00
Nils Wallménius
68d70b35d8 Turn on backlight when test_codec speed test is finished
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13812 a1c6a512-1295-4272-9138-f99709370657
2007-07-07 13:53:29 +00:00
Dave Chapman
f01b661116 Add a "Speed test folder" option for batch testing. When this option is selected, all files in the same directory as the selected file will be tested, and the results written to a numbered log file in the root. Thanks to Jens for his screen+file logging functions I stole from test_disk.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13670 a1c6a512-1295-4272-9138-f99709370657
2007-06-19 00:25:36 +00:00
Dave Chapman
06b32fad8d Make test_codec work in the sim again.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13634 a1c6a512-1295-4272-9138-f99709370657
2007-06-16 07:52:07 +00:00
Dave Chapman
621725a2b8 Fix compilation on the H10 - it doesn't have BUTTON_SELECT.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13484 a1c6a512-1295-4272-9138-f99709370657
2007-05-23 20:51:47 +00:00
Jonathan Gordon
b85817a5ba Update some comments in menu.h to be hopefully more helpful.
Fix all the wrong usage of rb->do_menu() (my fault, sorry)


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13439 a1c6a512-1295-4272-9138-f99709370657
2007-05-20 08:26:27 +00:00
Dave Chapman
98b7229d7e Oops, the previous commit broke the speed-test feature. This fixes it.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13377 a1c6a512-1295-4272-9138-f99709370657
2007-05-13 00:32:56 +00:00
Dave Chapman
3463e87220 Add WAV-writing option - currently limited to 16-bit output only; Make it work in the sim again (after the change to grab the codec thread stack); Some cosmetic cleanups.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13376 a1c6a512-1295-4272-9138-f99709370657
2007-05-13 00:11:25 +00:00
Dave Chapman
198845fe91 Set svn:keywords
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13370 a1c6a512-1295-4272-9138-f99709370657
2007-05-10 21:56:34 +00:00
Dave Chapman
4ae85e6886 Revert the addition of the steal_codec_stack function. Replace by accessing the threads structure to grab the codec stack. Maybe a better solution exists.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13349 a1c6a512-1295-4272-9138-f99709370657
2007-05-07 23:54:10 +00:00
Dave Chapman
f4a9dab4d1 Use a separate thread in test_codec, with the same (IRAM) stack as the main codec thread. Add a function to the plugin API to steal the codec thread, which test_codec copies and then restores. Now libmad can be benchmarked.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13347 a1c6a512-1295-4272-9138-f99709370657
2007-05-07 22:30:23 +00:00
Dave Chapman
7cdd0fe6ea Initial version of a test_codec plugin (viewer). This loads the audio file into the audio buffer and decodes it as fast as it can via a locally implemented version of the codec API. Intended for use when optimising codecs - so isn't built by default. Remember to add it to both plugins/SOURCES and viewers.config to enable it. Currently the codec is run in the main thread which means mpa.codec doesn't work - it requires more stack than is available on the main thread. The solution will be to create a new thread in the plugin which steals the main codec thread's IRAM stack, but that's not done yet.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13345 a1c6a512-1295-4272-9138-f99709370657
2007-05-07 17:23:31 +00:00