fjl
10 years agoMore debug code moving. master
Steinar H. Gunderson [Mon, 1 Jun 2009 20:35:56 +0000 (22:35 +0200)]
More debug code moving.

10 years agoMove some parts of the driver code into its own function.
Steinar H. Gunderson [Mon, 1 Jun 2009 20:25:13 +0000 (22:25 +0200)]
Move some parts of the driver code into its own function.

10 years agoKill the expect for now.
Steinar H. Gunderson [Mon, 1 Jun 2009 18:40:18 +0000 (20:40 +0200)]
Kill the expect for now.

10 years agoKill AC_END_OF_BLOCK as well.
Steinar H. Gunderson [Mon, 1 Jun 2009 18:37:35 +0000 (20:37 +0200)]
Kill AC_END_OF_BLOCK as well.

10 years agoGet rid of AC_SIXTEEN_ZEROS.
Steinar H. Gunderson [Mon, 1 Jun 2009 18:20:20 +0000 (20:20 +0200)]
Get rid of AC_SIXTEEN_ZEROS.

10 years agoRemove some debugging asserts.
Steinar H. Gunderson [Mon, 1 Jun 2009 18:05:42 +0000 (20:05 +0200)]
Remove some debugging asserts.

10 years agoWhatever. :-P
Steinar H. Gunderson [Mon, 1 Jun 2009 17:10:53 +0000 (19:10 +0200)]
Whatever. :-P

10 years agoRemove an increment from the fast path of the AC coefficient decoding.
Steinar H. Gunderson [Mon, 1 Jun 2009 17:08:00 +0000 (19:08 +0200)]
Remove an increment from the fast path of the AC coefficient decoding.

10 years agoFix a Makefile typo.
Steinar H. Gunderson [Mon, 1 Jun 2009 17:05:09 +0000 (19:05 +0200)]
Fix a Makefile typo.

10 years agoAdd driver to the Makefile.
Steinar H. Gunderson [Mon, 1 Jun 2009 16:08:41 +0000 (18:08 +0200)]
Add driver to the Makefile.

10 years agoFix some errors/warnings in driver.c.
Steinar H. Gunderson [Mon, 1 Jun 2009 16:07:47 +0000 (18:07 +0200)]
Fix some errors/warnings in driver.c.

10 years agoMinor optimizations to the new AC coefficient tables.
Steinar H. Gunderson [Mon, 1 Jun 2009 15:36:48 +0000 (17:36 +0200)]
Minor optimizations to the new AC coefficient tables.

10 years agoMake a shiny new lookup table for looking up complete AC coefficients. No tests yet.
Steinar H. Gunderson [Mon, 1 Jun 2009 15:27:18 +0000 (17:27 +0200)]
Make a shiny new lookup table for looking up complete AC coefficients. No tests yet.

10 years agoSome more musings about code word lengths.
Steinar H. Gunderson [Mon, 1 Jun 2009 14:06:20 +0000 (16:06 +0200)]
Some more musings about code word lengths.

10 years agoFix our bswap trick on i386.
Steinar H. Gunderson [Mon, 1 Jun 2009 10:26:28 +0000 (12:26 +0200)]
Fix our bswap trick on i386.

10 years agoSome asm() correction.
Steinar H. Gunderson [Mon, 1 Jun 2009 09:39:16 +0000 (11:39 +0200)]
Some asm() correction.

10 years agoYet another microoptimization in the driver.
Steinar H. Gunderson [Mon, 1 Jun 2009 00:56:54 +0000 (02:56 +0200)]
Yet another microoptimization in the driver.

10 years agoYet another microoptimization in the driver.
Steinar H. Gunderson [Mon, 1 Jun 2009 00:56:01 +0000 (02:56 +0200)]
Yet another microoptimization in the driver.

10 years agoAdd an x86 optimized version of extend().
Steinar H. Gunderson [Mon, 1 Jun 2009 00:37:26 +0000 (02:37 +0200)]
Add an x86 optimized version of extend().

10 years agoMicrooptimization: Use a form of byteswapping that gcc realizes that is auto-zero...
Steinar H. Gunderson [Sun, 31 May 2009 23:54:31 +0000 (01:54 +0200)]
Microoptimization: Use a form of byteswapping that gcc realizes that is auto-zero-extending.

10 years agoextend() should not need sign extension for the bits parameter.
Steinar H. Gunderson [Sun, 31 May 2009 23:44:49 +0000 (01:44 +0200)]
extend() should not need sign extension for the bits parameter.

10 years agoMore manual strength reduction.
Steinar H. Gunderson [Sun, 31 May 2009 23:37:07 +0000 (01:37 +0200)]
More manual strength reduction.

10 years agoSave one refill from inner coefficient-reading loop.
sgunderson@bigfoot.com [Sun, 31 May 2009 22:38:50 +0000 (00:38 +0200)]
Save one refill from inner coefficient-reading loop.

10 years agoRemove unused variable.
sgunderson@bigfoot.com [Sun, 31 May 2009 22:36:05 +0000 (00:36 +0200)]
Remove unused variable.

10 years agoMerge from pannekake.
sgunderson@bigfoot.com [Sun, 31 May 2009 19:43:18 +0000 (21:43 +0200)]
Merge from pannekake.

10 years agoTry to reduce the register pressure a bit in the unstuff code.
Steinar H. Gunderson [Sun, 31 May 2009 19:42:30 +0000 (21:42 +0200)]
Try to reduce the register pressure a bit in the unstuff code.

10 years agoDo some manual strength reduction.
sgunderson@bigfoot.com [Sun, 31 May 2009 19:18:50 +0000 (21:18 +0200)]
Do some manual strength reduction.

10 years agoCorrect PGM height for vertically sampled components.
sgunderson@bigfoot.com [Sun, 31 May 2009 18:20:56 +0000 (20:20 +0200)]
Correct PGM height for vertically sampled components.

10 years agoHandle EOI marker.
sgunderson@bigfoot.com [Sun, 31 May 2009 18:17:13 +0000 (20:17 +0200)]
Handle EOI marker.

10 years agoLet the bit source alert about EOF as soon as we have started eating into padding...
sgunderson@bigfoot.com [Sun, 31 May 2009 18:15:06 +0000 (20:15 +0200)]
Let the bit source alert about EOF as soon as we have started eating into padding. Finally fixes EOF issues in driver.

10 years agoAdd optional padding data at the end to the bit source (is that the right place?...
sgunderson@bigfoot.com [Sun, 31 May 2009 18:04:50 +0000 (20:04 +0200)]
Add optional padding data at the end to the bit source (is that the right place?). Does not seem to fix our EOF issues, though.

10 years agoIn the driver, store the image data and output one of the components as a PGM file.
sgunderson@bigfoot.com [Sun, 31 May 2009 16:35:08 +0000 (18:35 +0200)]
In the driver, store the image data and output one of the components as a PGM file.

10 years agoMake idct_float.c compile without optimization.
sgunderson@bigfoot.com [Sun, 31 May 2009 16:23:41 +0000 (18:23 +0200)]
Make idct_float.c compile without optimization.

10 years agoAdd the level bias we're supposed to have.
sgunderson@bigfoot.com [Sun, 31 May 2009 14:45:26 +0000 (16:45 +0200)]
Add the level bias we're supposed to have.

10 years agoUnfix the coefficient fix.
sgunderson@bigfoot.com [Sun, 31 May 2009 11:12:26 +0000 (13:12 +0200)]
Unfix the coefficient fix.

10 years agoFix a typo in extend().
sgunderson@bigfoot.com [Sun, 31 May 2009 10:05:32 +0000 (12:05 +0200)]
Fix a typo in extend().

10 years agoWrite to the right coefficient.
sgunderson@bigfoot.com [Sun, 31 May 2009 09:44:48 +0000 (11:44 +0200)]
Write to the right coefficient.

10 years agoFix height/width read.
sgunderson@bigfoot.com [Sun, 31 May 2009 09:28:49 +0000 (11:28 +0200)]
Fix height/width read.

10 years agoMinor adjustments to code that does not work.
sgunderson@bigfoot.com [Sun, 31 May 2009 00:30:22 +0000 (02:30 +0200)]
Minor adjustments to code that does not work.

10 years agoTry to dequantize and IDCT data in the driver.
sgunderson@bigfoot.com [Sun, 31 May 2009 00:26:38 +0000 (02:26 +0200)]
Try to dequantize and IDCT data in the driver.

10 years agoAdd DQT parsing.
sgunderson@bigfoot.com [Sat, 30 May 2009 23:50:46 +0000 (01:50 +0200)]
Add DQT parsing.

10 years agoAdd IDCT choices. This is rapidly becoming a bit fugly dep-wise, though.
sgunderson@bigfoot.com [Sat, 30 May 2009 23:31:52 +0000 (01:31 +0200)]
Add IDCT choices. This is rapidly becoming a bit fugly dep-wise, though.

10 years agoAdd un-zigzag table.
sgunderson@bigfoot.com [Sat, 30 May 2009 23:11:09 +0000 (01:11 +0200)]
Add un-zigzag table.

10 years agoAdd a stupid integerization of the AA&N IDCT -- 30% faster or so, mostly
Steinar H. Gunderson [Wed, 28 Jan 2009 21:06:59 +0000 (22:06 +0100)]
Add a stupid integerization of the AA&N IDCT -- 30% faster or so, mostly
because of the use of a limiter table.

10 years agoAdd the missing benchmarking files.
Steinar H. Gunderson [Tue, 20 Jan 2009 23:01:56 +0000 (00:01 +0100)]
Add the missing benchmarking files.

10 years agoSplit the two IDCTs into different files.
Steinar H. Gunderson [Tue, 20 Jan 2009 23:00:53 +0000 (00:00 +0100)]
Split the two IDCTs into different files.

10 years agoReplace a magic constant by a less magic constant.
Steinar H. Gunderson [Sun, 11 Jan 2009 23:48:54 +0000 (00:48 +0100)]
Replace a magic constant by a less magic constant.

10 years agoLet IDCTs do precalculation outside the inner loops. Speeds up (as expected)
Steinar H. Gunderson [Sun, 11 Jan 2009 21:03:54 +0000 (22:03 +0100)]
Let IDCTs do precalculation outside the inner loops. Speeds up (as expected)
the AA&N IDCT by about 50%, as almost all the multiplications can go into
the quantization table.

10 years agoMeasure CPU seconds instead of wall time, and move the timing functions into a
Steinar H. Gunderson [Sun, 11 Jan 2009 18:33:32 +0000 (19:33 +0100)]
Measure CPU seconds instead of wall time, and move the timing functions into a
separate module.

10 years agoCorrect a presentation error.
Steinar H. Gunderson [Fri, 9 Jan 2009 20:16:32 +0000 (21:16 +0100)]
Correct a presentation error.

10 years ago+static
Steinar H. Gunderson [Fri, 9 Jan 2009 20:14:57 +0000 (21:14 +0100)]
+static

10 years agoFloating-point implementation of AA&N IDCT. Does not yet fold the scale
Steinar H. Gunderson [Fri, 9 Jan 2009 20:01:05 +0000 (21:01 +0100)]
Floating-point implementation of AA&N IDCT. Does not yet fold the scale
factors into the quantization table.

10 years agoFix a read of uninitialized memory.
Steinar H. Gunderson [Fri, 9 Jan 2009 20:00:53 +0000 (21:00 +0100)]
Fix a read of uninitialized memory.

10 years agoCommit initial reference implementation of IDCT.
Steinar H. Gunderson [Tue, 6 Jan 2009 21:16:33 +0000 (22:16 +0100)]
Commit initial reference implementation of IDCT.

10 years agoAdd a decoding driver.
Steinar H. Gunderson [Sat, 3 Jan 2009 15:27:32 +0000 (16:27 +0100)]
Add a decoding driver.

10 years agoStray newline.
Steinar H. Gunderson [Sat, 3 Jan 2009 13:35:47 +0000 (14:35 +0100)]
Stray newline.

10 years agoAdd an implementation of the EXTEND function.
Steinar H. Gunderson [Sat, 3 Jan 2009 13:35:24 +0000 (14:35 +0100)]
Add an implementation of the EXTEND function.

10 years agoThe bit source needs to actually consume the data it passes by...
Steinar H. Gunderson [Sat, 3 Jan 2009 13:14:16 +0000 (14:14 +0100)]
The bit source needs to actually consume the data it passes by...

10 years agoFix a missing #include.
Steinar H. Gunderson [Sat, 3 Jan 2009 13:07:57 +0000 (14:07 +0100)]
Fix a missing #include.

10 years agoFix a bug in the fast Huffman decoder.
Steinar H. Gunderson [Sat, 3 Jan 2009 12:43:29 +0000 (13:43 +0100)]
Fix a bug in the fast Huffman decoder.

10 years agoRename read_length to read_uint16, and add a read_uint8.
Steinar H. Gunderson [Sat, 3 Jan 2009 11:30:49 +0000 (12:30 +0100)]
Rename read_length to read_uint16, and add a read_uint8.

10 years agoArgh, fix issue with double-pointers vs. multidimensional arrays.
Steinar H. Gunderson [Sat, 3 Jan 2009 11:28:02 +0000 (12:28 +0100)]
Argh, fix issue with double-pointers vs. multidimensional arrays.

10 years agoMore issues with overlong returns.
Steinar H. Gunderson [Sat, 3 Jan 2009 11:10:40 +0000 (12:10 +0100)]
More issues with overlong returns.

10 years agoFix a bug where we could return too much data from the byte source. Add test.
Steinar H. Gunderson [Sat, 3 Jan 2009 10:46:58 +0000 (11:46 +0100)]
Fix a bug where we could return too much data from the byte source. Add test.

10 years agobyte_source_read_marker() needs to refill.
Steinar H. Gunderson [Sat, 3 Jan 2009 10:34:50 +0000 (11:34 +0100)]
byte_source_read_marker() needs to refill.

10 years agoFix a warning.
Steinar H. Gunderson [Sat, 3 Jan 2009 10:26:24 +0000 (11:26 +0100)]
Fix a warning.

10 years agoMove some common input stuff around.
Steinar H. Gunderson [Sat, 3 Jan 2009 10:26:04 +0000 (11:26 +0100)]
Move some common input stuff around.

10 years agoFix a Makefile typo.
Steinar H. Gunderson [Sat, 3 Jan 2009 10:16:21 +0000 (11:16 +0100)]
Fix a Makefile typo.

10 years agoRename input.h to bitsource.h (and friends).
Steinar H. Gunderson [Sat, 3 Jan 2009 10:15:43 +0000 (11:15 +0100)]
Rename input.h to bitsource.h (and friends).

10 years agoread_huffman_tables() takes in unstuffed data, not raw data.
Steinar H. Gunderson [Sat, 3 Jan 2009 10:12:41 +0000 (11:12 +0100)]
read_huffman_tables() takes in unstuffed data, not raw data.

10 years agoFix signedness warnings.
Steinar H. Gunderson [Sat, 3 Jan 2009 01:27:29 +0000 (02:27 +0100)]
Fix signedness warnings.

10 years agoEnable -Wall -Wextra.
Steinar H. Gunderson [Sat, 3 Jan 2009 01:23:55 +0000 (02:23 +0100)]
Enable -Wall -Wextra.

10 years agoAdd back -O2.
Steinar H. Gunderson [Sat, 3 Jan 2009 01:21:07 +0000 (02:21 +0100)]
Add back -O2.

10 years agoAdd a bytesource test for broken markers.
Steinar H. Gunderson [Sat, 3 Jan 2009 01:19:56 +0000 (02:19 +0100)]
Add a bytesource test for broken markers.

10 years agoAdd a new input source converting JPEG-format bytes into unstuffed bytes.
Steinar H. Gunderson [Sat, 3 Jan 2009 01:15:21 +0000 (02:15 +0100)]
Add a new input source converting JPEG-format bytes into unstuffed bytes.
Also fixed a bug in the "slow source".

10 years agoAdd code for efficient (?) Huffman decoding.
Steinar H. Gunderson [Fri, 2 Jan 2009 20:54:48 +0000 (21:54 +0100)]
Add code for efficient (?) Huffman decoding.

10 years agoCompile with debugging by default.
Steinar H. Gunderson [Fri, 2 Jan 2009 20:49:17 +0000 (21:49 +0100)]
Compile with debugging by default.

10 years agoUpper-case constants.
Steinar H. Gunderson [Fri, 2 Jan 2009 18:44:53 +0000 (19:44 +0100)]
Upper-case constants.

10 years agoPort some table-generating stuff from unjpeg.
Steinar H. Gunderson [Fri, 2 Jan 2009 18:12:21 +0000 (19:12 +0100)]
Port some table-generating stuff from unjpeg.

10 years agoRename data_source to bit_source, and add a little comment.
Steinar H. Gunderson [Fri, 2 Jan 2009 16:19:18 +0000 (17:19 +0100)]
Rename data_source to bit_source, and add a little comment.

10 years agoInitialize a very crude framework for choosing the right functions at
Steinar H. Gunderson [Fri, 2 Jan 2009 16:13:10 +0000 (17:13 +0100)]
Initialize a very crude framework for choosing the right functions at
runtime.

10 years agoAdd a simple Makefile for compiling and running tests.
Steinar H. Gunderson [Fri, 2 Jan 2009 15:48:52 +0000 (16:48 +0100)]
Add a simple Makefile for compiling and running tests.

10 years agoAdded functions for bit-level reading.
Steinar H. Gunderson [Fri, 2 Jan 2009 15:45:04 +0000 (16:45 +0100)]
Added functions for bit-level reading.

10 years agoAdded some experimental data about Huffman code lengths.
Steinar H. Gunderson [Fri, 2 Jan 2009 11:38:25 +0000 (12:38 +0100)]
Added some experimental data about Huffman code lengths.

10 years agoTransform unjpeg into something slightly more useful for benchmarking.
Steinar H. Gunderson [Fri, 2 Jan 2009 11:21:36 +0000 (12:21 +0100)]
Transform unjpeg into something slightly more useful for benchmarking.

10 years agoAdd unjpeg.c, frmo an earlier project.
Steinar H. Gunderson [Fri, 2 Jan 2009 10:54:32 +0000 (11:54 +0100)]
Add unjpeg.c, frmo an earlier project.

10 years agoInitial unstuff code.
Steinar H. Gunderson [Fri, 2 Jan 2009 01:45:52 +0000 (02:45 +0100)]
Initial unstuff code.