6 years agoInclude <math.h> for M_PI.
Ralph Giles [Mon, 27 May 2013 22:08:51 +0000 (15:08 -0700)]
Include <math.h> for M_PI.

We also need to define _USE_MATH_DEFINES on MSVC for the constants
to be visible.

6 years agofix merge conflicts
Nick Desaulniers [Mon, 27 May 2013 22:11:55 +0000 (15:11 -0700)]
fix merge conflicts

6 years agomingw32 fix (by brooss)
Jean-Marc Valin [Mon, 27 May 2013 22:05:48 +0000 (18:05 -0400)]
mingw32 fix (by brooss)

6 years agodummy test using Check
Nick Desaulniers [Mon, 27 May 2013 22:02:28 +0000 (15:02 -0700)]
dummy test using Check

6 years agoCleanup trailing whitespace
EKR [Mon, 27 May 2013 20:39:06 +0000 (13:39 -0700)]
Cleanup trailing whitespace


6 years agoFirst commit of logging code
EKR [Mon, 27 May 2013 20:36:49 +0000 (13:36 -0700)]
First commit of logging code

6 years agoFix copy/paste bug in y4m2png help.
Timothy B. Terriberry [Mon, 27 May 2013 20:35:47 +0000 (13:35 -0700)]
Fix copy/paste bug in y4m2png help.

This outputs PNGs, not Y4Ms.

6 years agoaddded few comments
Cullen Jennings [Mon, 27 May 2013 20:14:24 +0000 (14:14 -0600)]
addded few comments

6 years agoFix some warnings
Jean-Marc Valin [Mon, 27 May 2013 19:56:56 +0000 (15:56 -0400)]
Fix some warnings

6 years agoFixes comments from previous commmit
Jean-Marc Valin [Mon, 27 May 2013 19:41:00 +0000 (15:41 -0400)]
Fixes comments from previous commmit

6 years agoadd a few comments to header files to help explain image data structure
Cullen Jennings [Mon, 27 May 2013 18:16:57 +0000 (12:16 -0600)]
add a few comments to header files to help explain image data structure

6 years agoFix smart quotes in copyright
EKR [Mon, 27 May 2013 17:11:26 +0000 (10:11 -0700)]
Fix smart quotes in copyright

6 years agoRough bitstream decoder.
Gregory Maxwell [Mon, 27 May 2013 15:55:42 +0000 (08:55 -0700)]
Rough bitstream decoder.

For lack of initialization and header packet this currently is
 only callable from the encoder but decodes the image from the

6 years agoReformatting code to new style: decint.h/decode.c
Timothy B. Terriberry [Mon, 27 May 2013 14:12:55 +0000 (07:12 -0700)]
Reformatting code to new style: decint.h/decode.c

6 years agoFix tools build broken by 5f710fca.
Gregory Maxwell [Mon, 27 May 2013 08:07:29 +0000 (01:07 -0700)]
Fix tools build broken by 5f710fca.

6 years agoActually produce useful block size stats
Jean-Marc Valin [Mon, 27 May 2013 07:46:51 +0000 (03:46 -0400)]
Actually produce useful block size stats

6 years agoMove TF resampling for intra to intra.c for use by the decoder.
Gregory Maxwell [Mon, 27 May 2013 07:33:54 +0000 (00:33 -0700)]
Move TF resampling for intra to intra.c for use by the decoder.

6 years agoAdds code for dumping block size decision stats
Jean-Marc Valin [Mon, 27 May 2013 07:02:09 +0000 (03:02 -0400)]
Adds code for dumping block size decision stats

6 years agoReformatting code to new style: encode.c
Gregory Maxwell [Mon, 27 May 2013 05:07:12 +0000 (22:07 -0700)]
Reformatting code to new style: encode.c

6 years agoReformatting code to new style: include/daala
Timothy B. Terriberry [Sun, 26 May 2013 23:55:53 +0000 (16:55 -0700)]
Reformatting code to new style: include/daala

6 years agoAdd a really dumb lossless passthrough to make testing easier.
Gregory Maxwell [Sun, 26 May 2013 23:53:40 +0000 (16:53 -0700)]
Add a really dumb lossless passthrough to make testing easier.

Eventually we'll have a real lossless mode, but until then its useful
 to have a quantization bypass available.

6 years agoGet rid of some dead code.
Timothy B. Terriberry [Sun, 26 May 2013 23:41:05 +0000 (16:41 -0700)]
Get rid of some dead code.

6 years agoReformatting code to new style: mcenc.c
Timothy B. Terriberry [Sun, 26 May 2013 23:05:47 +0000 (16:05 -0700)]
Reformatting code to new style: mcenc.c

6 years agoReformatting code to new style: mc.[ch]
Timothy B. Terriberry [Sun, 26 May 2013 23:05:29 +0000 (16:05 -0700)]
Reformatting code to new style: mc.[ch]

6 years agoReformatting code to new style: tf.[ch]
Timothy B. Terriberry [Sun, 26 May 2013 23:05:11 +0000 (16:05 -0700)]
Reformatting code to new style: tf.[ch]

6 years agoReformatting code to new style: odintrin.h
Timothy B. Terriberry [Sun, 26 May 2013 23:04:19 +0000 (16:04 -0700)]
Reformatting code to new style: odintrin.h

6 years agoSplit intra mode probability model and update steps.
Gregory Maxwell [Sun, 26 May 2013 18:13:17 +0000 (11:13 -0700)]
Split intra mode probability model and update steps.

The decoder needs to run the update but not the search.

6 years agoMakes block switching code a lot uglier -- still more work to do.
Jean-Marc Valin [Sun, 26 May 2013 03:33:13 +0000 (23:33 -0400)]
Makes block switching code a lot uglier -- still more work to do.

6 years agoAdd sparse multipliers and intra up-right predictors to the encoder.
Gregory Maxwell [Sun, 26 May 2013 02:51:04 +0000 (19:51 -0700)]
Add sparse multipliers and intra up-right predictors to the encoder.

This doesn't appear to help or hurt the quality of the encoding
 much, but it does make it much faster and it sets us up for
 further progress.

6 years agoApply pre/post filters correctly.
Gregory Maxwell [Sat, 25 May 2013 23:45:14 +0000 (16:45 -0700)]
Apply pre/post filters correctly.

The filters were previously running into unreconstructed areas, making
 perfect reconstruction in the decoder impossible.

Improves Y-PSNR by 0.1dB on fruits and reduces size slightly.

6 years agoModify coding_style.html to conform to coding_style.html. (whitespace)
Gregory Maxwell [Sat, 25 May 2013 21:58:43 +0000 (14:58 -0700)]
Modify coding_style.html to conform to coding_style.html. (whitespace)

6 years agoMore editing on pvq encoding doc
Jean-Marc Valin [Sat, 25 May 2013 21:48:15 +0000 (17:48 -0400)]
More editing on pvq encoding doc

6 years agoAdd initial version of a coding style document.
Timothy B. Terriberry [Thu, 23 May 2013 19:17:10 +0000 (12:17 -0700)]
Add initial version of a coding style document.

If all I have to do to make potential contributors happy is add
 some whitespace and delete some underscores, I'll do it.

6 years agoUndo intra_pred breakage in the prior patch.
Gregory Maxwell [Fri, 24 May 2013 23:59:53 +0000 (16:59 -0700)]
Undo intra_pred breakage in the prior patch.

Turns out best_mode is not the same as next_best_mode.

6 years agoSilence the last of the warnings in tools/.
Gregory Maxwell [Fri, 24 May 2013 17:33:10 +0000 (10:33 -0700)]
Silence the last of the warnings in tools/.

This turns off some inactive code, unused variables, etc.

6 years agoHit block_size_analysis.c with a hammer until it compiles without warnings.
Gregory Maxwell [Thu, 23 May 2013 21:26:57 +0000 (14:26 -0700)]
Hit block_size_analysis.c with a hammer until it compiles without warnings.

There is a bunch of ~dead code in block_size_analysis.c that JM was using in
 the development. This code caused a bunch of more or less serious warnings
 and even failed to compile without optimization enabled.

For some time now the tool has only run the per-superblock analysis code
 in src/ across a whole image and all that other stuff can be safely
 ifed out and avoid the distracting warnings. I only left the code in place
 at JM's request.

6 years agoRemove old dct.c with transforms that were long ago replaced by newdct.c.
Gregory Maxwell [Thu, 23 May 2013 20:41:26 +0000 (13:41 -0700)]
Remove old dct.c with transforms that were long ago replaced by newdct.c.

6 years agoSwitch 8x16 and 16x32 filters to the type-3 versions.
Gregory Maxwell [Thu, 23 May 2013 19:13:11 +0000 (12:13 -0700)]
Switch 8x16 and 16x32 filters to the type-3 versions.

The type-3 matrixes allow filters with somewhat higher coding
 gains and are also agreeable to some minor reductions in the
 number of operations.

The coefficients in this commit were selected using the simplex
 search in trans2d running on the subset3 data. The optimum
 selected on subset1 data is very close, no further than +/- 1
 in any dimension.

This also rips out a bunch of duplicated integer prefilter code
 in the tools directory.

6 years agoMove 1D trans to non-blocked covariance computation
Monty Montgomery [Thu, 23 May 2013 20:23:45 +0000 (16:23 -0400)]
Move 1D trans to non-blocked covariance computation

Alter the 1D trans tool to not use the intra prediciton setup or blocked
boundary conditions.  The paralellization is done within trans.c now, and
the boundaries are enforced for the maximum overall required support
such that the covariance matricies computed from file inputs for different
transform sizes should now be strict sub/supersets of one another.

6 years agoFix minor error in 1d trans with file input
Monty Montgomery [Thu, 23 May 2013 01:30:44 +0000 (21:30 -0400)]
Fix minor error in 1d trans with file input

Update trans.c to two-argument coding_gain calls when USE_FILES enabled

6 years agoMiscellaneous cleanups for filter.c
Gregory Maxwell [Wed, 22 May 2013 22:48:52 +0000 (15:48 -0700)]
Miscellaneous cleanups for filter.c

Removes a bunch of older static filter coefficients, adds in support
 for the type3 factorization, support for scaling factors which are
 equal to 1 (as some of the type-3 ones are), and adds some
 additional testing.

This commit does not change the filter behavior.

6 years agoMore PVQ encoding doc
Jean-Marc Valin [Tue, 21 May 2013 06:36:46 +0000 (02:36 -0400)]
More PVQ encoding doc

6 years agoReduce TF complexity.
Timothy B. Terriberry [Sat, 18 May 2013 05:42:38 +0000 (22:42 -0700)]
Reduce TF complexity.

This saves 1 add and 1 shift per 2x2 group of coefficients.
On subset1 with default settings the rate goes up by 0.006% and
 PSNR drops 0.005 dB, both of which are probably in the noise.

6 years agoFix bustage from 8995106c.
Timothy B. Terriberry [Sat, 18 May 2013 05:22:39 +0000 (22:22 -0700)]
Fix bustage from 8995106c.

It removed one statement too many.

6 years agoPVQ Encoding with Non-Uniform Distribution
Jean-Marc Valin [Fri, 17 May 2013 21:18:15 +0000 (17:18 -0400)]
PVQ Encoding with Non-Uniform Distribution

6 years agoAdding ability to use cost in bits for classification.
Nathan E. Egge [Wed, 15 May 2013 21:55:29 +0000 (17:55 -0400)]
Adding ability to use cost in bits for classification.

This update includes the a ZERO_MEAN flag for forcing the mean to
 zero in prediction and when computing the diversity measure.
This update also includes a POOLED_COV flag for using a pooled
 covariance when estimating the cost in bits to code a block in a
 given mode.

6 years agoRemove vorbis audio support from encoder_example.
Ralph Giles [Tue, 14 May 2013 18:07:54 +0000 (11:07 -0700)]
Remove vorbis audio support from encoder_example.

We'd like to have both a cleaner video-only encoding example,
and a more capable front-end tool. Also, it's probably better
to default to Opus for muxed audio. In the meantime this reduces
our build dependencies.

6 years agoFixing bug in od_covmat_add when first block in first image has weight 0.
Nathan E. Egge [Wed, 8 May 2013 20:41:09 +0000 (16:41 -0400)]
Fixing bug in od_covmat_add when first block in first image has weight 0.

6 years agoMoving constants into od_defs.h
Nathan E. Egge [Mon, 6 May 2013 19:45:08 +0000 (15:45 -0400)]
Moving constants into od_defs.h

6 years agoAdd flag to remove the local average of the DC.
Nathan E. Egge [Mon, 6 May 2013 19:28:59 +0000 (15:28 -0400)]
Add flag to remove the local average of the DC.

6 years agoAdding code to od_intra.c for updating and printing the intra predictors.
Nathan E. Egge [Mon, 6 May 2013 18:39:25 +0000 (14:39 -0400)]
Adding code to od_intra.c for updating and printing the intra predictors.

6 years agoRenaming CgPred to CgRes.
Nathan E. Egge [Mon, 6 May 2013 17:44:41 +0000 (13:44 -0400)]
Renaming CgPred to CgRes.

6 years agoRenaming pred field to res in intra_stats.
Nathan E. Egge [Mon, 6 May 2013 14:16:12 +0000 (10:16 -0400)]
Renaming pred field to res in intra_stats.

6 years agoUsing doubles to hold unmodified prediction data in image_data.
Nathan E. Egge [Mon, 6 May 2013 12:49:14 +0000 (08:49 -0400)]
Using doubles to hold unmodified prediction data in image_data.

6 years agoSupport image files with no file names, fix rounding when writing 16bit image data.
Nathan E. Egge [Mon, 6 May 2013 04:20:36 +0000 (00:20 -0400)]
Support image files with no file names, fix rounding when writing 16bit image data.

6 years agoPassing B_SZ to printf's when printing intra predictors.
Nathan E. Egge [Mon, 6 May 2013 01:03:36 +0000 (21:03 -0400)]
Passing B_SZ to printf's when printing intra predictors.

6 years agoRefactoring image_files and image_data operations into image_tools.c.
Nathan E. Egge [Mon, 6 May 2013 00:38:04 +0000 (20:38 -0400)]
Refactoring image_files and image_data operations into image_tools.c.

6 years agoAdding missing #define
Nathan E. Egge [Sun, 5 May 2013 11:59:14 +0000 (07:59 -0400)]
Adding missing #define

6 years agoRefactoring intra predictors into separate file.
Nathan E. Egge [Sun, 5 May 2013 11:16:46 +0000 (07:16 -0400)]
Refactoring intra predictors into separate file.

6 years agoAdding the intra_trace tool to visualize intra predictors.
Nathan E. Egge [Sat, 4 May 2013 03:01:14 +0000 (23:01 -0400)]
Adding the intra_trace tool to visualize intra predictors.

6 years agoFix bug in the online covariance update when weights not 1
Nathan E. Egge [Sat, 4 May 2013 02:23:57 +0000 (22:23 -0400)]
Fix bug in the online covariance update when weights not 1

6 years agoFixing bug in intra_pred mask initialization
Nathan E. Egge [Sat, 27 Apr 2013 00:33:10 +0000 (20:33 -0400)]
Fixing bug in intra_pred mask initialization

6 years agoMake 2D TF steps orthonormal and reversible.
Timothy B. Terriberry [Fri, 26 Apr 2013 20:47:16 +0000 (13:47 -0700)]
Make 2D TF steps orthonormal and reversible.

This changes the 2D TF kernel so that it has uniform orthonormal
The previous kernel scaled one coefficient by 0.5, two by 1.0, and
 the last by 2.0, relative to the orthonormal scaling.
We were relying on the sparseness of the quantized values to make
 this actually useful for prediction (under the theory that if most
 of the coefficients were 0, it wouldn't matter if the scalings
 didn't match).
This gives an 0.05 dB PSNR improvement and saves 0.2% on bitrate at
 the default quantization setting.

The new kernel still requires no multiplies.
It makes SIMD a little more complex, but that can be amortized by
 transforming groups of blocks together.
It actually _saves_ 0.5 shifts per pixel, because the two shifts
 used in the first stage are exactly the same as the two shifts
 needed in the second stage.

This commit also adds functions to TF up and down entire blocks
 (i.e., without the lowpass used with chroma-from-luma), though
 nothing uses them yet.
These are constructed so that they are (exactly reversible)
 inverses of each other.

6 years agoFix an overflow in chroma-from-luma.
Timothy B. Terriberry [Fri, 26 Apr 2013 20:45:09 +0000 (13:45 -0700)]
Fix an overflow in chroma-from-luma.

This needs to be rewritten to avoid the 64-bit math, eventually,
 but promoting these multiplies solves the immediate problem.

Thanks to Greg Maxwell for assistance in tracking this down.

6 years agoRefactoring pre/post filters, added simplex search to trans
Nathan E. Egge [Tue, 23 Apr 2013 11:00:04 +0000 (07:00 -0400)]
Refactoring pre/post filters, added simplex search to trans

6 years agoAdding collapsed 8x16 auto-correlation matrix for subset3
Nathan E. Egge [Mon, 22 Apr 2013 12:26:01 +0000 (08:26 -0400)]
Adding collapsed 8x16 auto-correlation matrix for subset3

6 years agoFixing "constants" based on NE_BITS
Nathan E. Egge [Fri, 19 Apr 2013 03:39:48 +0000 (23:39 -0400)]
Fixing "constants" based on NE_BITS

6 years agoAdding exhaustive R=t,D=t search for B_SZ=4 and B_SZ=8
Nathan E. Egge [Fri, 19 Apr 2013 02:55:50 +0000 (22:55 -0400)]
Adding exhaustive R=t,D=t search for B_SZ=4 and B_SZ=8

6 years agoAdding support for Type-III pre/post filters
Nathan E. Egge [Fri, 19 Apr 2013 00:39:20 +0000 (20:39 -0400)]
Adding support for Type-III pre/post filters

6 years agoMinor comment updates.
Timothy B. Terriberry [Tue, 16 Apr 2013 23:26:38 +0000 (16:26 -0700)]
Minor comment updates.

6 years agoOptimize 8x16 lapped transform for 2d Cg on real images.
Gregory Maxwell [Mon, 15 Apr 2013 15:03:13 +0000 (08:03 -0700)]
Optimize 8x16 lapped transform for 2d Cg on real images.

These coefficients were selected using the simplex search with random
 starts in trans2d.c using the subset1 covariance matrix.

This change improves the transform coding gain on real images by 0.91dB over
 the coefficients currently in the code and by 0.4dB over the filter that
 gives the best 1d Ar95 coding gain. Post intra-prediction coding gain is
 improved by 1.02dB over the filters currently in the code and by 0.3dB
 over the filter that gives the best 1d Ar95 coding gain.

The pre/post 8x16 filters now use the array for their parameters.

7 years agoFix prefilter search boundaries for the scaling factors.
Gregory Maxwell [Wed, 10 Apr 2013 06:14:08 +0000 (23:14 -0700)]
Fix prefilter search boundaries for the scaling factors.

Some testing hardcoding of the block size slipped into the
 committed code, noticed that it was wrong when it wasn't
 repeatedly finding the same best local optima from random
 starts unlike the older more complicated search code that
 my initial simplex results came from.

7 years agoMisc. cleanups: asserts in /tools/, unused var in newdct, disable intra RDO.
Gregory Maxwell [Wed, 10 Apr 2013 00:15:16 +0000 (17:15 -0700)]
Misc. cleanups: asserts in /tools/, unused var in newdct, disable intra RDO.

7 years agoInteger simplex search for prefilter parameters.
Gregory Maxwell [Sat, 16 Mar 2013 19:20:42 +0000 (12:20 -0700)]
Integer simplex search for prefilter parameters.

This finds good prefilter parameters by local refinement from random
starts. A fancier implementation which eliminated redundant computations
was several times faster, but required a bunch of hashtable code and
the extra speed doesn't appear to be needed to get good solutions.

7 years agoAdding collapsed 2D 16x32 auto-correlation matrices for subset1 and subset3
Nathan E. Egge [Wed, 3 Apr 2013 18:59:32 +0000 (14:59 -0400)]
Adding collapsed 2D 16x32 auto-correlation matrices for subset1 and subset3

7 years agoCode cleanup: removes cdf_table.c and all code that depended on it.
Jean-Marc Valin [Tue, 2 Apr 2013 20:42:27 +0000 (16:42 -0400)]
Code cleanup: removes cdf_table.c and all code that depended on it.

7 years agoGetting rid of the last use of decayE[]
Jean-Marc Valin [Tue, 2 Apr 2013 20:36:08 +0000 (16:36 -0400)]
Getting rid of the last use of decayE[]

Also, fixes an int overflow in the generic coder adaptation for large
expected values.

7 years agoRevise comments obsoleted by d2cdb2a6.
Timothy B. Terriberry [Mon, 1 Apr 2013 19:10:13 +0000 (12:10 -0700)]
Revise comments obsoleted by d2cdb2a6.

7 years agoUpgrade DCT constants to 15-bit.
Timothy B. Terriberry [Mon, 1 Apr 2013 17:53:10 +0000 (10:53 -0700)]
Upgrade DCT constants to 15-bit.

This improves the MSE of the 4-point and 8-point transform by an
 order of magnitude (and that of the 16-point transform by a factor of 2).
It also drops the peak errors for the large value ranges by a factor of 2.
Finally, it drops the Q=8 bias by one to two orders of magnitude (making it
 on-par with the Q=7 bias).
This is probably the most important improvement.

7 years agoRemove some old DCT factorizations.
Timothy B. Terriberry [Mon, 1 Apr 2013 16:26:11 +0000 (09:26 -0700)]
Remove some old DCT factorizations.

7 years agoAdd an 8-point DCT with orthonormal scaling.
Timothy B. Terriberry [Mon, 1 Apr 2013 16:17:04 +0000 (09:17 -0700)]
Add an 8-point DCT with orthonormal scaling.

This costs 15 multiplies instead of 11, but should save 0.5 bits
 per pixel (times two for the 2D transform, for a full 1 bpp) over
 the previous version at lossless rates.

7 years agoConverts the Laplace encoder to use the new cdf table
Jean-Marc Valin [Sun, 31 Mar 2013 07:09:46 +0000 (03:09 -0400)]
Converts the Laplace encoder to use the new cdf table

Laplace and exp now share the same cdf table, which is indexed by
decay rather than expected absolute value.

7 years agoRewrite of the encoding of exponential distributions
Jean-Marc Valin [Sat, 30 Mar 2013 05:09:49 +0000 (01:09 -0400)]
Rewrite of the encoding of exponential distributions

The new code generally encodes a single entropy-coded symbol rather
than 5 binary symbols. The table is based on the decay factor rather
than the expectation.

7 years agoAdds some code to experiment with block size encoding
Jean-Marc Valin [Fri, 29 Mar 2013 22:33:03 +0000 (18:33 -0400)]
Adds some code to experiment with block size encoding

7 years agoRefactoring intra_stats and intra_pred
Nathan E. Egge [Sat, 30 Mar 2013 15:30:00 +0000 (11:30 -0400)]
Refactoring intra_stats and intra_pred

7 years agoDeletes old PVQ adaptation code
Jean-Marc Valin [Thu, 21 Mar 2013 19:36:05 +0000 (15:36 -0400)]
Deletes old PVQ adaptation code

7 years agoConversion to the new generic 2D adaptation code.
Jean-Marc Valin [Thu, 21 Mar 2013 18:52:15 +0000 (14:52 -0400)]
Conversion to the new generic 2D adaptation code.

7 years agoNew generic 2D adaptation code
Jean-Marc Valin [Thu, 21 Mar 2013 17:58:09 +0000 (13:58 -0400)]
New generic 2D adaptation code

Currently unused, but produces exactly the same values as the other
adaptation code.

7 years agoUpdates quant_pvq_theta() with the latest changes in the non-theta version
Jean-Marc Valin [Mon, 18 Mar 2013 19:46:29 +0000 (15:46 -0400)]
Updates quant_pvq_theta() with the latest changes in the non-theta version

Just did some very basic checks on the result, still needs more changes.

7 years agoChange the trans tool coding_gain functions to take the filter as a parameter.
Gregory Maxwell [Fri, 15 Mar 2013 18:11:07 +0000 (11:11 -0700)]
Change the trans tool coding_gain functions to take the filter as a parameter.

Previously the filter parameters were passed via a global (yuck) and this got
 in the way of performing a threaded search.

7 years agoAdding trans and trans2d tools
Nathan E. Egge [Fri, 15 Mar 2013 21:14:33 +0000 (17:14 -0400)]
Adding trans and trans2d tools

7 years agoInclude <math.h> from dct.h.
Timothy B. Terriberry [Fri, 15 Mar 2013 13:17:41 +0000 (06:17 -0700)]
Include <math.h> from dct.h.

This guarantees consistent definitions of M_PI, etc., regardless of
 include order.

7 years agoFix M_PI.
Timothy B. Terriberry [Fri, 15 Mar 2013 13:15:52 +0000 (06:15 -0700)]
Fix M_PI.

Thanks to Greg Maxwell for actually Googling it.
The mistake was insignificant enough to change the value of a 64-bit

7 years agoFixes some stupid bugs in the 8x8 psy computation
Jean-Marc Valin [Thu, 14 Mar 2013 21:29:07 +0000 (17:29 -0400)]
Fixes some stupid bugs in the 8x8 psy computation

Also enables the new code by default in block_size_analysis.c

7 years agoMakes block_size_analysis.c optionally use the online decision.
Jean-Marc Valin [Thu, 14 Mar 2013 00:15:39 +0000 (20:15 -0400)]
Makes block_size_analysis.c optionally use the online decision.

7 years agoBlock switching now takes into account 8x8 variances
Jean-Marc Valin [Thu, 14 Mar 2013 00:13:04 +0000 (20:13 -0400)]
Block switching now takes into account 8x8 variances

Still not sure why I need a fudge factor for 8x8.

7 years agoInitial version of an "online" block switching algorithm.
Jean-Marc Valin [Wed, 13 Mar 2013 23:00:59 +0000 (19:00 -0400)]
Initial version of an "online" block switching algorithm.

Implements the same algorithm as block_switching_analysis.c, but
one super-block at a time. It doesn't yet use 8x8 variances.

7 years agoConsider 8x8 variances in block switching decision for 16x16 and 32x32.
Jean-Marc Valin [Mon, 11 Mar 2013 22:34:29 +0000 (18:34 -0400)]
Consider 8x8 variances in block switching decision for 16x16 and 32x32.

Also we now use actual 2D coding gain values computed on real images.

7 years agoRead chroma modes for prediction weights from the correct luma blocks.
Gregory Maxwell [Tue, 5 Mar 2013 23:57:46 +0000 (15:57 -0800)]
Read chroma modes for prediction weights from the correct luma blocks.

Reduces compressed size from 49249->49085 while improving plane 2 PSNR by 0.05dB.

7 years agoMakefile support for dump_psnrhvs.
Gregory Maxwell [Wed, 20 Feb 2013 22:34:00 +0000 (14:34 -0800)]
Makefile support for dump_psnrhvs.