Commit graph

31210 commits

Author SHA1 Message Date
Andree Buschmann
dceec09092 opus: speed up comb_filter
Skip expensive multiply-accumulate loop when gains are 0 and
just copy using memcpy if soure and destination are not the same

Speeds up decoding of a 64kbps test file by 6MHz on h300 (cf)
7MHz on c200 (pp) and 6MHz on fuzev1 (amsv1)

Change-Id: Ibbc9ddfd45a9ac661467b1327b8c67761924fb8b
Signed-off-by: Nils Wallménius <nils@rockbox.org>
2012-10-06 14:25:20 +02:00
Dominik Riebeling
78ca74a56f Fix read caused by 71f7011.
Change-Id: I1b494bf0d63d5c8668527d1fe39392ec2f018d3b
2012-10-06 14:01:35 +02:00
Dominik Riebeling
2c3b8bd1e2 Factor out executable based TTS engines to separate subclasses.
Similar as done with SAPI / MSSP make the current implementation for executable
based TTS engines a base class and create derived classes for each supported
TTS. Removes the need for the implementation to know about the individual TTS
engines.

Add support for speaking directly (i.e. without going through a temporary wave
file, currently only used by espeak).

Change-Id: I59bbbd6ee4c2c009b2a8d8e0ab4a9b39ea723d6e
2012-10-06 13:53:09 +02:00
Dominik Riebeling
7f76bb48b3 Don't assume success for TTS object creation.
While the current implementation of getTTS() will always return an object this
might change later. Check the returned object before using it to be on the safe
side.

Change-Id: Ic949cae7cfbe6f3086dee6aab741b0acafe14640
2012-10-06 13:53:09 +02:00
Dominik Riebeling
a2dd1625bc Check selection before trying to create talk files.
This prevents users from accidentially trying to create talk files for nothing.

Change-Id: I92eae0e0dc14a772c786bcdad67f404fe3786376
2012-10-06 13:53:09 +02:00
Dominik Riebeling
4d96b4c7b0 Fix a couple of warnings and remove an unused variable.
Change-Id: I1617ef882e9bcaaaafe58a932fadd803851ec88f
2012-10-06 13:53:09 +02:00
Dominik Riebeling
c659f9979a Allow USB IDs to be non-unique.
When retrieving USB IDs create a list of players matching to a USB ID instead
of assuming only one player.  This prevents non-unique IDs overwriting each
other and will be used for improved autodetection later.

Currently only the first ID is used during detection, and no additional IDs
have been added yet.

Change-Id: Ieac5594108bae708e364bd2c8df88f61fcdcbdcd
2012-10-06 13:53:09 +02:00
Richard Quirk
71f70112b2 Add set_sleeptimer_duration function in minutes
Make set_sleep_timer a static function and only call
set_sleeptimer_duration externally, which is always called with minutes
values.

Change-Id: I985308bf014e354f91c47a0b2bf62f4f5a591919
Reviewed-on: http://gerrit.rockbox.org/327
Reviewed-by: Jonathan Gordon <rockbox@jdgordon.info>
2012-10-06 11:59:13 +02:00
Daniel Kluz
9ee396b846 Polish translation update for Rockbox Utility.
Change-Id: Iaaa06d5e56651c2ba51371344dabf42add0d1e7c
2012-10-06 10:30:01 +02:00
Alexander Levin
fb6e4b9d0e Fix grammar of the German translation (add some missing commas)
Change-Id: I286bc6ced9ffe5e0a3faec2ae405061f31b14456
Reviewed-on: http://gerrit.rockbox.org/323
Reviewed-by: Dominik Riebeling <Dominik.Riebeling@gmail.com>
2012-10-06 10:18:43 +02:00
Alex Mayer
6c4395be94 Corrected typo '%Play' with 'Play' on line 407
Change-Id: I19b290c6dd305537746a2f3abeee947cec53aba9
Reviewed-on: http://gerrit.rockbox.org/324
Reviewed-by: Alex Parker <rockbox@aeparker.com>
2012-10-05 17:23:48 +02:00
Nils Wallménius
6d2ad505dc opus: put arrays frequently used by pulse decoding on the stack
speeds up decoding of a 64kbps test file by 14MHz on h300 (cf)
and 1MHz on c200 (pp)

Change-Id: I852cb66808676ea51109423f5b70cfc8782dd109
2012-10-04 19:20:55 +02:00
Amaury Pouly
283277e5ab atj: provide default output prefix/filenames on unpacking
If no output prefix is specified, a default is picked:
- filename with extension replaced by .afi for FWU files
- filename with extension replaced by .fw/ for AFI files
- filename without extension and with / for FW files

Change-Id: I6497b8f4a49f1238e5db738429f687cad3ae8a5a
2012-10-04 12:27:17 +02:00
Michael Giacomelli
0a334e2669 Add Richard Quirk to credits.
Change-Id: Iad21f5ac6383cab0190eb54d26f7e72a1c0ec200
2012-10-03 17:34:23 +02:00
Richard Quirk
055c92cf42 snake2: fix maze size for sansa clip zip
Change-Id: I43bd0a7217c7f0dcd0dda4fe102582fc5ae61c9f
Reviewed-on: http://gerrit.rockbox.org/322
Reviewed-by: Michael Giacomelli <mgiacomelli@gmail.com>
2012-10-03 17:01:36 +02:00
Amaury Pouly
821efc46ec Introduce atjboottool for ATJ213x firmwares
Change-Id: Ie857b82e25de235c8549defab7e75995efefb3f6
2012-10-03 14:27:19 +02:00
Nils Wallménius
8687b98993 opus: speed up arm asm MULT16_32_Q15
Reorder operands to take advantage of the early termination of
multiplications. Saves 2.5MHz decoding a 64kbps opus test file
on c200 (pp).

Change-Id: I470266dc870ab183ece3b23426d41e2a64342a71
2012-10-01 22:36:57 +02:00
Andree Buschmann
d7799aaf33 opus: allocate mdct f2 buffer in iram
Speeds up decoding of 64kbps test file by 6.3MHz on h300 (cf)
and 1.2MHz on c200 (pp).

Signed-off-by: Nils Wallménius <nils@rockbox.org>

Change-Id: I08c2c332153abcbef9447c81986777fd2fcc73fe
2012-10-01 22:07:44 +02:00
Andree Buschmann
b6bcb1338e opus: allocate buffers for X and freq in iram
speeds up decoding of 64kbps test file by 19MHz on h300 (cf)
and 2.5MHz on c200 (pp)

Change-Id: Idacd2f8962c20c518055d586daeec6b932b7ded2
Signed-off-by: Nils Wallménius <nils@rockbox.org>
2012-10-01 21:37:03 +02:00
Frank Gevaerts
341e2c46ca Support technically invalid image/jpg mimetype in tags.
Although the mimetype for jpeg is clearly image/jpeg, many tagging
applications seem to use image/jpg, so we'll support that too.

Change-Id: Icb9063fd5a9d8aea169eaa7f74ac52b72603d148
Reviewed-on: http://gerrit.rockbox.org/318
Reviewed-by: Michael Giacomelli <mgiacomelli@gmail.com>
Reviewed-by: Thomas Martitz <kugel@rockbox.org>
2012-09-29 15:39:55 +02:00
Andree Buschmann
270d9eaee8 opus: statically allocate decoder state in iram
Speeds up decoding of a 64kbps test file 26MHz on H300 (cf) and
2MHz on c200 (pp)

Change-Id: I2fb4fe6c0a29321087e02fbd17fd1b1eb84e7b57
Signed-off-by: Nils Wallménius <nils@rockbox.org>
2012-09-29 10:36:48 +02:00
Thomas Martitz
706b920b99 kernel: Allow queue_wait_w_tmo() to be called with TIMEOUT_BLOCK.
Previously TIMEOUT_BLOCK would be handled the same as TIMEOUT_NOBLOCK, i.e.
poll only without thread switch, which is rather unexpected from *_w_tmo()
functions. No current code doesn't call it that way yet.

Change-Id: I370ce0f752681122d197eadeee9ab17112647c20
2012-09-28 19:40:17 +02:00
Nils Wallménius
082cd01eb2 opus: speed up deemphasis
Remove downsampling code from deemphasis loop as we don't use
it and remove multiplications that are not relevant when
not using custom modes. Saves 1.4MHz on h300 (cf), 4.3MHz on
c200 (pp) and 4.6 on fuzev1 (amsv1).

Change-Id: Iab3f1d737a656a563aaa351d50db987a9cff2287
2012-09-28 00:09:54 +02:00
Nils Wallménius
f49785cdce opus: build with -fno-strict-aliasing for mips to fix warnings
Change-Id: I370f43f2e25e03650681c207908f79cdea744d99
2012-09-27 22:57:01 +02:00
Dominik Riebeling
3ee5a8a55d Fix typo in german translation.
Thanks to fml on irc for noticing.

Change-Id: I598903aa080580ce33fff4c8abdac26928c76233
2012-09-27 22:14:03 +02:00
Andrew Ryabinin
548dcc3c6a hm60x/hm801: Fix blinking white screen.
Change-Id: Ia435616872d5d4adb117d507bdb135bccf083b05
2012-09-27 22:00:58 +04:00
Andrew Ryabinin
82d882e1e2 Fix type cast for LCD_BUFF.
We should cast to (volatile uint32_t*) here, because attempt to refer to volatile
object through use of an lvalue with non-volatile-qualified type will result in
undefined behavior.

Change-Id: I1b2e9688af11d3dcba518a5e31865d703b54b635
2012-09-27 14:26:47 +04:00
Marcin Bukat
1e5e022a39 rk27generic: Enable frequency scaling
Change-Id: Ia806994fc77c93fbd4c4c5ec234bb0f34641303a
2012-09-27 09:46:27 +02:00
Andrew Ryabinin
84134f737f rk27xx lcd code rework
Use DMA engine for fullscreen updates and bypass mode for partial
updates. This gives major boost on rk27generic:
default ARM:AHB:APB 200💯50
HEAD    1/1:  26.3fps 1/4: 105.0fps
patched 1/1: 116.5fps 1/4: 249.5fps

with freq scalling NORMAL mode ARM:AHB:APB 50:50:50
HEAD    1/1:  13.1fps 1/4: 52.5fps
patched 1/1:  54.5fps 1/4: 119.0fps

Tested on rk27generic noname DAP and on Hifimans.

Change-Id: Id9dd4d2d61542c7ea6b5c6336b170d6357cefde9
2012-09-27 09:42:44 +02:00
Nils Wallménius
f636aa07df opus: put frequently used mdct buffer on the real stack which is in iram
Saves about 30MHz on h300 (cf) and 1.5MHz on c200 (pp) decoding a
64kbps test file. Stack usage is still below 70%.

Change-Id: Ib13df9011adb4eef4bb91a52e5a32741c8bf8988
2012-09-26 11:54:03 +02:00
Nils Wallménius
425725edb0 opus: improve cf MULT16_32_Q15 by giving the compiler more freedom
saves about 3MHz when decoding a 64kbps test file

Change-Id: I10f47173ccb78e60e364662220d1db2f78dd5fdd
2012-09-26 11:21:25 +02:00
Nils Wallménius
5f60590e80 opus: put some const tables and structs in iram
Speeds up decoding of a 64kbps test file by 20MHz on h300 (cf)
and 1MHz on c200 (pp)

Change-Id: Ia2adc0a3ad86abce8f948062eb53a8ac14c2cdf2
2012-09-25 17:19:05 +02:00
Nils Wallménius
afc6b3f021 opus: asm MULT16_32_Q15 for arm and cf
Speeds up decoding of a 64kbps opus test file by 34MHz on h300 (cf),
24MHz on c200 (pp) and 13MHz on fuzev1 (amsv1)

Change-Id: I0dce6b3bfe6c81d0a722dfebb13891b9a428c6ba
2012-09-25 11:40:59 +02:00
Nils Wallménius
06fc6fdd0a opus: #if 0 out some more unused code, delete unused file
Change-Id: I96033f42e0c3096ec9d779e9f8ca46570f981ab0
2012-09-24 17:45:07 +02:00
Nils Wallménius
f498142143 opus: #if 0 out some unused code
Change-Id: I16fa9b439f8da5b9b8a4f17040487b9535078ec5
2012-09-24 15:20:21 +02:00
Thomas Martitz
c555938ea0 checkwps: Do not error out on rwps for non-remote targets.
This breaks themes on the theme site (that ship an rwps for remote targets) for
non-remote targets. As rockbox just ignores the rwps checkwps now does the same.

Change-Id: Id8c7833f0bd88d239dce87711456b94c93480a51
2012-09-24 09:47:03 +02:00
Bertrik Sikken
e3cd7ec70b Remove unused include path for opus
Change-Id: Ie5ab9d893a7d2c6ec1aca6c295e29ab34eacd656
2012-09-23 18:12:27 +02:00
Dominik Riebeling
7ad7ed0628 Update german translation.
Based on FS#12735 by Kaspar Rothenfußer with some modifications by me to be in
line with terms already used in the translation.

Change-Id: Ia1ba59bd00d61f0fd27bd496a116143e4b83b420
2012-09-22 22:25:40 +02:00
Dominik Riebeling
094eca6f66 Announce 3.10 as release version for nano2g.
Change-Id: Id35a137242a05cea488fc49630cbc11fb477e22b
Reviewed-on: http://gerrit.rockbox.org/315
Reviewed-by: Dominik Riebeling <Dominik.Riebeling@gmail.com>
2012-09-22 00:06:56 +02:00
Frederik M J Vestre
1b8e3801b2 Initial opus codec support
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>
2012-09-20 20:47:44 +02:00
Marcin Bukat
72ebcbf73b rk27xx: Fix commit_discard_idcache()
This version resembles how OF handle cache invalidates.
This seems to fix mysterious data aborts on plugin/codec loading
after introducing frequency scaling.

Credit goes to mortalis for pinpointing the reason of aborts.

Change-Id: I3477b3f65d593d7b43c36a0b06d863f71f000812
2012-09-19 20:44:36 +02:00
Dominik Riebeling
1c975eefd3 Support "eject" on OS X.
Change-Id: I103587f2fad2b8b31a1bc53afbd107bf55f62c93
2012-09-16 21:08:18 +02:00
Dominik Riebeling
f902bbe07e Make backup dialog modal.
Change-Id: I488dcca6719970e77f9c3afd17a89f3295cf5210
2012-09-16 21:08:18 +02:00
Alex Parker
213f69d2fd FS#12750 by Vanja Cvelbar - update Slovenian translation
Change-Id: I6157ec74688838dd42c95556e2cd7bfe465ab400
2012-09-15 14:16:00 +01:00
Alex Parker
3a13995a4c FS#12662 by Manuel Flury - update French translation
Change-Id: Ibdce5646887329f4cf51e4104ea30ea8a1f85ddc
2012-09-15 14:14:33 +01:00
Sergey Semushin
4ebc7df590 ypr0: Fix graphical eq keymap.
Change-Id: Ic4fef8338fb3da97a21a6f6b5edab6643160516f
Reviewed-on: http://gerrit.rockbox.org/311
Reviewed-by: Thomas Martitz <kugel@rockbox.org>
2012-09-11 08:39:22 +02:00
Thomas Martitz
b985d5cee8 Fix FS#12743 - 'Data Abort' on USB connection
Because a pointer was uninitialized the move_callback() corrupted memory
by derefencing it and moving stuff to uninitialized value.

This reverts part of 8bbd4d9, where the offending line was removed. I can
only guess it was removed by accident.

Change-Id: I83cee5b396cf3cc99b000e5284fac72fb8ca8db2
2012-09-11 06:39:53 +02:00
Sergey Semushin
a14791951b ypr0: Correct .scrobbler.log path for YPR0
Change-Id: I74bcb358bb456d7a7958873234f95f04cf2f3643
Reviewed-on: http://gerrit.rockbox.org/310
Reviewed-by: Thomas Martitz <kugel@rockbox.org>
2012-09-11 06:36:47 +02:00
Dominik Riebeling
80297e8ed8 Fix error in german translation.
Change-Id: Ib9c93d123195bc38223980e78fa719d5fe475146
2012-09-09 12:07:54 +02:00
Dominik Riebeling
a1b780e670 Add support for Microsoft Speech Platform.
MSSP is accessible via vbs by simply changing the object to be used (both
SAPI5 and MSSP use the ISpVoice COM interface). Add command line parameter to
sapi_voice.vbs to switch the COM object used, and add the necessary
implementation of the SAPI class to Rockbox Utility.

Important: you will need to install the Speech Runtime separately and install
the version matching the bitsize of Rockbox Utility. I.e. you will need to
install the x86 version even on a x64 machine (unless you build a 64bit binary
of Rockbox Utility).

Change-Id: If760cd69c556c17a2ae539965d0941d16fdc10e1
2012-09-09 12:07:53 +02:00