Andree Buschmann
57ca48458f
Fix test plugin build.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29277 a1c6a512-1295-4272-9138-f99709370657
2011-02-10 20:20:12 +00:00
Thomas Martitz
f577a6a22c
Embedded album art support in MP3/ID3v2 tags.
...
- Support is limited to non-desync jpeg in id3v2 tags. Other formats (hopefully) follow in the future.
- Embedded album art takes precedence over files in album art files.
- No additional buffers are used, the jpeg is read directly from the audio file.
Flyspray: FS#11216
Author: Yoshihisa Uchida and I
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29259 a1c6a512-1295-4272-9138-f99709370657
2011-02-09 20:13:13 +00:00
Thomas Martitz
50a6ca39ad
Move c/h files implementing/defining standard library stuff into a new libc directory, also standard'ify some parts of the code base (almost entirely #include fixes).
...
This is to a) to cleanup firmware/common and firmware/include a bit, but also b) for Rockbox as an application which should use the host system's c library and headers, separating makes it easy to exclude our files from the build.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25850 a1c6a512-1295-4272-9138-f99709370657
2010-05-06 21:04:40 +00:00
Bertrik Sikken
a9ffcb3516
Make array static const in apps/recorder/jpeg_load.c
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25500 a1c6a512-1295-4272-9138-f99709370657
2010-04-06 19:37:41 +00:00
Thomas Martitz
5c9fe52629
Commit part of FS#9873 - Utilise buttons for playlisting
...
It adds a shortcut (combo or button) to directly go from the wps to the playlist viewer. The combos could possibly be improved on some targets, but I tried to keep a tad bit of consistency (was hardly possible).
I also added a corresponding touchscreen region and adapted cabbiev2.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22003 a1c6a512-1295-4272-9138-f99709370657
2009-07-22 22:10:25 +00:00
Andrew Mahone
89eb14ea56
Use single-instruction shift-and-saturate in place of range_limit for JPEG on ARMv6. Only affects the 16-point horizontal-pass IDCT.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21528 a1c6a512-1295-4272-9138-f99709370657
2009-06-27 10:01:24 +00:00
Andrew Mahone
3152bfc39a
ARM assembly 8-point IDCT, both passes. No ARMv5/6 optimizations yet, aside from usat for final output.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21526 a1c6a512-1295-4272-9138-f99709370657
2009-06-27 09:21:22 +00:00
Andrew Mahone
498ad469c9
2-point and 1-point JPEG IDCT ARM assembly, remove comment in jpeg_load.c about inline asm, change loop condition to be a bit safer in case of bad values being passed.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21349 a1c6a512-1295-4272-9138-f99709370657
2009-06-19 08:26:05 +00:00
Andrew Mahone
6a0d931f38
Core JPEG decoder improvements:
...
For >8-point vertical IDCT, transpose the coefficients while decoding them, so that the vertical IDCT can read in rows rather than columns. This improves speed a bit for this size even using the C IDCT.
Remove inline ARM asm, replacing it with an external file containing pure asm IDCT functions.
Add jpeg_ prefix to JPEG IDCT functions since some of them will now be visible globally.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21345 a1c6a512-1295-4272-9138-f99709370657
2009-06-19 02:56:00 +00:00
Andrew Mahone
021deacade
Remove explicit counter for rows/columns in IDCT, instead testing against a pointer calculated in store_row_jpeg.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21284 a1c6a512-1295-4272-9138-f99709370657
2009-06-14 02:28:35 +00:00
Andrew Mahone
e40075e5b7
Adjust AC decode such that decode *always* stops before storing an unneeded coefficient. Remove extra lines from zag[] as it should not be possible to store a coefficient for k>63, even for corrupted files.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21283 a1c6a512-1295-4272-9138-f99709370657
2009-06-14 01:19:16 +00:00
Andrew Mahone
9e3255fdb0
Fix red.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21257 a1c6a512-1295-4272-9138-f99709370657
2009-06-12 00:02:18 +00:00
Andrew Mahone
ba2225cb51
ARMv4 and ARMv5 inline assembly for 4-point IDCT.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21256 a1c6a512-1295-4272-9138-f99709370657
2009-06-11 23:48:45 +00:00
Andrew Mahone
57ccbdd198
Move +128 offset out of range_limit, and add it to the DC coefficient in each idct*h routine, for a small binsize improvement on idct4h, idct8h, and idct16h, and a negligible speed increase.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21255 a1c6a512-1295-4272-9138-f99709370657
2009-06-11 23:48:37 +00:00
Andrew Mahone
235305e6ac
Don't compensate for lack of shift in second IDCT stage, allowing quantization table to be reduced to 16-bit. Reduce IDCT workspace to 16-bit.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21254 a1c6a512-1295-4272-9138-f99709370657
2009-06-11 23:48:30 +00:00
Jens Arnold
d5842005c0
Undo the delta on ARM but making the loop variables signed as before r21205. GCC is weird...
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21206 a1c6a512-1295-4272-9138-f99709370657
2009-06-07 22:50:12 +00:00
Jens Arnold
1d6df54df2
Convert a number of places in core and plugins to use the BIT_N() macro instead of 1<<n. Speeds up things on SH1, and also reduces core binsize. Most notable speedups: 1 bit lcd driver: drawpixel +20%, drawline + 27%, hline +5%; jpeg viewer: +8% for 1/8 scaling. Other targets are unaffected.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21205 a1c6a512-1295-4272-9138-f99709370657
2009-06-07 21:27:05 +00:00
Andrew Mahone
2bedde17b6
Don't perform YUV->RGB conversion before row output for unscaled loads of greyscale JPEG, as store_row_jpeg already does this.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21174 a1c6a512-1295-4272-9138-f99709370657
2009-06-03 06:35:10 +00:00
Andrew Mahone
c8b67c3ca0
Flag EOF and empty buffer conditions as UNLIKELY in JPEG decoder.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20907 a1c6a512-1295-4272-9138-f99709370657
2009-05-11 00:16:57 +00:00
Andrew Mahone
b5c356be85
Fix a bug reading JPEG when the output data is smaller than sizeof(struct jpeg), and add more optional debugging output in the decoder.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20906 a1c6a512-1295-4272-9138-f99709370657
2009-05-11 00:16:48 +00:00
Andrew Mahone
74e4d17910
Don't build 16-point IDCT on greyscale targets, since it's only used for chroma components.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20887 a1c6a512-1295-4272-9138-f99709370657
2009-05-09 10:32:13 +00:00
Andrew Mahone
e3b1d78dfc
Fix test for direct JPEG output, bump plugin API as r20884 changed struct custom_format.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20885 a1c6a512-1295-4272-9138-f99709370657
2009-05-09 10:10:26 +00:00
Andrew Mahone
91efc16256
Split 8-bit-to-native conversion in bmp.c into a function, add support for plugging unscaled output in BMP and JPEG loaders, use output_row_8_native in JPEG decoder when possible.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20884 a1c6a512-1295-4272-9138-f99709370657
2009-05-09 07:31:27 +00:00
Andrew Mahone
7b81cd0caf
Convert Huffman decode from inline function to macro, for small code size saving on ARM and on Coldfire color, only finish DC decode on greyscale targets if decoding luma channel.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20874 a1c6a512-1295-4272-9138-f99709370657
2009-05-08 07:21:35 +00:00
Andrew Mahone
0af7494b37
Small size improvement for JPEG on ARM/Coldfire.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20873 a1c6a512-1295-4272-9138-f99709370657
2009-05-08 04:19:10 +00:00
Andrew Mahone
a75c72c169
Plugin JPEG decoder for data in memory, along with test_mem_jpeg.c and bench_mem_jpeg.c plugins to test and benchmark it, and a line-length clean up in jpeg_load.c.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20871 a1c6a512-1295-4272-9138-f99709370657
2009-05-08 03:46:48 +00:00
Andrew Mahone
d2c1298e19
Never use upscaling IDCT for luma (to reduce blockiness), plus some small size optimizations by not calculating or storing scale factors or k_need/zero_need for chroma on greyscale.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20866 a1c6a512-1295-4272-9138-f99709370657
2009-05-07 08:32:17 +00:00
Andrew Mahone
eef7945a97
Move YUV->RGB in JPEG load from before scaler to after scaler. Required change to struct custom_format, so sorted the plugin API as well.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20856 a1c6a512-1295-4272-9138-f99709370657
2009-05-06 04:53:56 +00:00
Bertrik Sikken
ad031e903c
Make local function static in jpeg_load.c, add missing header file in read_image.c
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20848 a1c6a512-1295-4272-9138-f99709370657
2009-05-03 07:02:09 +00:00
Andrew Mahone
60d4209383
Add core JPEG reader, adapted from the JPEG plugin's decoder, with some changes to prevent include conflicts between the two decoders.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20836 a1c6a512-1295-4272-9138-f99709370657
2009-05-01 23:24:23 +00:00