summaryrefslogtreecommitdiff
path: root/apps/recorder/jpeg_load.c
AgeCommit message (Collapse)Author
2021-03-02Remove execute bit from file permissions from recent commitWilliam Wilgus
Change-Id: I415cf235d2b179ae8c58b0427308103be3e00130
2020-12-14Do not resize images greater than 32767 pixels in either dimensionMichael Giacomelli
Internally, the resizing code uses the rockbox dim structure, which uses signed shorts. Change-Id: Ic8850e8563a9d8c0cb3cf8269e2576be9e42b45b
2020-07-24[1/4] Remove SH support and all archos targetsSolomon Peachy
This removes all code specific to SH targets Change-Id: I7980523785d2596e65c06430f4638eec74a06061
2020-04-05jpeg: Fix an overflow when decoding images for non-color targets.Solomon Peachy
(Warning raised by GCC 4.9.4 -Os) Change-Id: I1d2f491c8bdb11fe89ffb119e248ca0f4eb69de2
2016-04-01Fix FS#12981 JPEG decoding problem when entropy data starts with FFBoris Gjenero
This changes JPEG fill and invalid byte handling to be like mozjpeg, and bases entropy data start on SOS marker location. Thanks to Stefan Waldmann and Dean Tersigni for reporting. Change-Id: I3c79cc6ac8d714fdc75c12b57ba427d611c99519 Chaange-Id: Ibc7c17d38d5be63642bdaf6adfd6acc2a6cf4450
2011-11-09Set alpha_offset to zero when loading a JPEG.Boris Gjenero
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30948 a1c6a512-1295-4272-9138-f99709370657
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