mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-11-12 14:42:31 -05:00
Put not-so-large arrays on the stack, so they end up in IRAM on Iriver and iPod. Approximately doubles decoding speed on Iriver.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8717 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
e179291190
commit
eaa7e22d98
1 changed files with 3 additions and 3 deletions
|
|
@ -392,7 +392,7 @@ void idct8x8(unsigned char* p_byte, int* inptr, int* quantptr, int skip_line)
|
||||||
int * wsptr;
|
int * wsptr;
|
||||||
unsigned char* outptr;
|
unsigned char* outptr;
|
||||||
int ctr;
|
int ctr;
|
||||||
static int workspace[64]; /* buffers data between passes */
|
int workspace[64]; /* buffers data between passes */
|
||||||
|
|
||||||
/* Pass 1: process columns from input, store into work array. */
|
/* Pass 1: process columns from input, store into work array. */
|
||||||
/* Note results are scaled up by sqrt(8) compared to a true IDCT; */
|
/* Note results are scaled up by sqrt(8) compared to a true IDCT; */
|
||||||
|
|
@ -1397,7 +1397,7 @@ int jpeg_decode(struct jpeg* p_jpeg, unsigned char* p_pixel[3],
|
||||||
int downscale, void (*pf_progress)(int current, int total))
|
int downscale, void (*pf_progress)(int current, int total))
|
||||||
{
|
{
|
||||||
struct bitstream bs; /* bitstream "object" */
|
struct bitstream bs; /* bitstream "object" */
|
||||||
static int block[64]; /* decoded DCT coefficients */
|
int block[64]; /* decoded DCT coefficients */
|
||||||
|
|
||||||
int width, height;
|
int width, height;
|
||||||
int skip_line[3]; /* bytes from one line to the next (skip_line) */
|
int skip_line[3]; /* bytes from one line to the next (skip_line) */
|
||||||
|
|
@ -1574,7 +1574,7 @@ int jpeg_decode(struct jpeg* p_jpeg, unsigned char* p_pixel[1], int downscale,
|
||||||
void (*pf_progress)(int current, int total))
|
void (*pf_progress)(int current, int total))
|
||||||
{
|
{
|
||||||
struct bitstream bs; /* bitstream "object" */
|
struct bitstream bs; /* bitstream "object" */
|
||||||
static int block[64]; /* decoded DCT coefficients */
|
int block[64]; /* decoded DCT coefficients */
|
||||||
|
|
||||||
int width, height;
|
int width, height;
|
||||||
int skip_line; /* bytes from one line to the next (skip_line) */
|
int skip_line; /* bytes from one line to the next (skip_line) */
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue