summaryrefslogtreecommitdiff
path: root/apps/plugins/imageviewer/jpeg/jpeg_decoder.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins/imageviewer/jpeg/jpeg_decoder.c')
-rw-r--r--apps/plugins/imageviewer/jpeg/jpeg_decoder.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/apps/plugins/imageviewer/jpeg/jpeg_decoder.c b/apps/plugins/imageviewer/jpeg/jpeg_decoder.c
index c90bff87a4..3c43c5d303 100644
--- a/apps/plugins/imageviewer/jpeg/jpeg_decoder.c
+++ b/apps/plugins/imageviewer/jpeg/jpeg_decoder.c
@@ -144,7 +144,7 @@ INLINE unsigned range_limit(int value)
144* Perform dequantization and inverse DCT on one block of coefficients, 144* Perform dequantization and inverse DCT on one block of coefficients,
145* producing a reduced-size 1x1 output block. 145* producing a reduced-size 1x1 output block.
146*/ 146*/
147void idct1x1(unsigned char* p_byte, int* inptr, int* quantptr, int skip_line) 147static void idct1x1(unsigned char* p_byte, int* inptr, int* quantptr, int skip_line)
148{ 148{
149 (void)skip_line; /* unused */ 149 (void)skip_line; /* unused */
150 *p_byte = range_limit(inptr[0] * quantptr[0] >> 3); 150 *p_byte = range_limit(inptr[0] * quantptr[0] >> 3);
@@ -156,7 +156,7 @@ void idct1x1(unsigned char* p_byte, int* inptr, int* quantptr, int skip_line)
156* Perform dequantization and inverse DCT on one block of coefficients, 156* Perform dequantization and inverse DCT on one block of coefficients,
157* producing a reduced-size 2x2 output block. 157* producing a reduced-size 2x2 output block.
158*/ 158*/
159void idct2x2(unsigned char* p_byte, int* inptr, int* quantptr, int skip_line) 159static void idct2x2(unsigned char* p_byte, int* inptr, int* quantptr, int skip_line)
160{ 160{
161 int tmp0, tmp1, tmp2, tmp3, tmp4, tmp5; 161 int tmp0, tmp1, tmp2, tmp3, tmp4, tmp5;
162 unsigned char* outptr; 162 unsigned char* outptr;
@@ -198,7 +198,7 @@ void idct2x2(unsigned char* p_byte, int* inptr, int* quantptr, int skip_line)
198* Perform dequantization and inverse DCT on one block of coefficients, 198* Perform dequantization and inverse DCT on one block of coefficients,
199* producing a reduced-size 4x4 output block. 199* producing a reduced-size 4x4 output block.
200*/ 200*/
201void idct4x4(unsigned char* p_byte, int* inptr, int* quantptr, int skip_line) 201static void idct4x4(unsigned char* p_byte, int* inptr, int* quantptr, int skip_line)
202{ 202{
203 int tmp0, tmp2, tmp10, tmp12; 203 int tmp0, tmp2, tmp10, tmp12;
204 int z1, z2, z3; 204 int z1, z2, z3;
@@ -282,7 +282,7 @@ void idct4x4(unsigned char* p_byte, int* inptr, int* quantptr, int skip_line)
282/* 282/*
283* Perform dequantization and inverse DCT on one block of coefficients. 283* Perform dequantization and inverse DCT on one block of coefficients.
284*/ 284*/
285void idct8x8(unsigned char* p_byte, int* inptr, int* quantptr, int skip_line) 285static void idct8x8(unsigned char* p_byte, int* inptr, int* quantptr, int skip_line)
286{ 286{
287 long tmp0, tmp1, tmp2, tmp3; 287 long tmp0, tmp1, tmp2, tmp3;
288 long tmp10, tmp11, tmp12, tmp13; 288 long tmp10, tmp11, tmp12, tmp13;
@@ -794,7 +794,7 @@ void default_huff_tbl(struct jpeg* p_jpeg)
794} 794}
795 795
796/* Compute the derived values for a Huffman table */ 796/* Compute the derived values for a Huffman table */
797void fix_huff_tbl(int* htbl, struct derived_tbl* dtbl) 797static void fix_huff_tbl(int* htbl, struct derived_tbl* dtbl)
798{ 798{
799 int p, i, l, si; 799 int p, i, l, si;
800 int lookbits, ctr; 800 int lookbits, ctr;
@@ -1081,7 +1081,7 @@ INLINE void drop_bits(struct bitstream* pb, int nbits)
1081} 1081}
1082 1082
1083/* re-synchronize to entropy data (skip restart marker) */ 1083/* re-synchronize to entropy data (skip restart marker) */
1084void search_restart(struct bitstream* pb) 1084static void search_restart(struct bitstream* pb)
1085{ 1085{
1086 pb->next_input_byte--; /* we may have overread it, taking 2 bytes */ 1086 pb->next_input_byte--; /* we may have overread it, taking 2 bytes */
1087 /* search for a non-byte-padding marker, has to be RSTm or EOS */ 1087 /* search for a non-byte-padding marker, has to be RSTm or EOS */
@@ -1245,6 +1245,7 @@ int jpeg_decode(struct jpeg* p_jpeg, unsigned char* p_pixel[3],
1245 else return -1; /* not supported */ 1245 else return -1; /* not supported */
1246 1246
1247 /* init bitstream, fake a restart to make it start */ 1247 /* init bitstream, fake a restart to make it start */
1248 bs.get_buffer = 0;
1248 bs.next_input_byte = p_jpeg->p_entropy_data; 1249 bs.next_input_byte = p_jpeg->p_entropy_data;
1249 bs.bits_left = 0; 1250 bs.bits_left = 0;
1250 bs.input_end = p_jpeg->p_entropy_end; 1251 bs.input_end = p_jpeg->p_entropy_end;