summaryrefslogtreecommitdiff
path: root/apps/recorder/jpeg_load.c
AgeCommit message (Collapse)Author
2011-02-10Fix test plugin build.Andree Buschmann
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29277 a1c6a512-1295-4272-9138-f99709370657
2011-02-09Embedded album art support in MP3/ID3v2 tags.Thomas Martitz
- 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
2010-05-06Move c/h files implementing/defining standard library stuff into a new libc ↵Thomas Martitz
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-04-06Make array static const in apps/recorder/jpeg_load.cBertrik Sikken
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25500 a1c6a512-1295-4272-9138-f99709370657
2009-07-22Commit part of FS#9873 - Utilise buttons for playlistingThomas Martitz
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-06-27Use single-instruction shift-and-saturate in place of range_limit for JPEG ↵Andrew Mahone
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-27ARM assembly 8-point IDCT, both passes. No ARMv5/6 optimizations yet, aside ↵Andrew Mahone
from usat for final output. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21526 a1c6a512-1295-4272-9138-f99709370657
2009-06-192-point and 1-point JPEG IDCT ARM assembly, remove comment in jpeg_load.c ↵Andrew Mahone
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-19Core JPEG decoder improvements:Andrew Mahone
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-14Remove explicit counter for rows/columns in IDCT, instead testing against a ↵Andrew Mahone
pointer calculated in store_row_jpeg. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21284 a1c6a512-1295-4272-9138-f99709370657
2009-06-14Adjust AC decode such that decode *always* stops before storing an unneeded ↵Andrew Mahone
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-12Fix red.Andrew Mahone
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21257 a1c6a512-1295-4272-9138-f99709370657
2009-06-11ARMv4 and ARMv5 inline assembly for 4-point IDCT.Andrew Mahone
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21256 a1c6a512-1295-4272-9138-f99709370657
2009-06-11Move +128 offset out of range_limit, and add it to the DC coefficient in ↵Andrew Mahone
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-11Don't compensate for lack of shift in second IDCT stage, allowing ↵Andrew Mahone
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-07Undo the delta on ARM but making the loop variables signed as before r21205. ↵Jens Arnold
GCC is weird... git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21206 a1c6a512-1295-4272-9138-f99709370657
2009-06-07Convert a number of places in core and plugins to use the BIT_N() macro ↵Jens Arnold
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-03Don't perform YUV->RGB conversion before row output for unscaled loads of ↵Andrew Mahone
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-05-11Flag EOF and empty buffer conditions as UNLIKELY in JPEG decoder.Andrew Mahone
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20907 a1c6a512-1295-4272-9138-f99709370657
2009-05-11Fix a bug reading JPEG when the output data is smaller than sizeof(struct ↵Andrew Mahone
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-09Don't build 16-point IDCT on greyscale targets, since it's only used for ↵Andrew Mahone
chroma components. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20887 a1c6a512-1295-4272-9138-f99709370657
2009-05-09Fix test for direct JPEG output, bump plugin API as r20884 changed struct ↵Andrew Mahone
custom_format. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20885 a1c6a512-1295-4272-9138-f99709370657
2009-05-09Split 8-bit-to-native conversion in bmp.c into a function, add support for ↵Andrew Mahone
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-08Convert Huffman decode from inline function to macro, for small code size ↵Andrew Mahone
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-08Small size improvement for JPEG on ARM/Coldfire.Andrew Mahone
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20873 a1c6a512-1295-4272-9138-f99709370657
2009-05-08Plugin JPEG decoder for data in memory, along with test_mem_jpeg.c and ↵Andrew Mahone
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-07Never use upscaling IDCT for luma (to reduce blockiness), plus some small ↵Andrew Mahone
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-06Move YUV->RGB in JPEG load from before scaler to after scaler. Required ↵Andrew Mahone
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-03Make local function static in jpeg_load.c, add missing header file in ↵Bertrik Sikken
read_image.c git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20848 a1c6a512-1295-4272-9138-f99709370657
2009-05-01Add core JPEG reader, adapted from the JPEG plugin's decoder, with some ↵Andrew Mahone
changes to prevent include conflicts between the two decoders. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20836 a1c6a512-1295-4272-9138-f99709370657