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