daala.git
3 years agoMerge branch 'smarter_370_372' into staging staging
Jean-Marc Valin [Fri, 15 Aug 2014 16:03:46 +0000 (12:03 -0400)]
Merge branch 'smarter_370_372' into staging

Conflicts:
examples/encoder_example.c
src/mcenc.c

3 years agoAdd runtime configuration of motion compensation search parameters
Guillaume Martres [Fri, 15 Aug 2014 16:00:31 +0000 (12:00 -0400)]
Add runtime configuration of motion compensation search parameters

Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
3 years agoImprove options handling
Guillaume Martres [Fri, 15 Aug 2014 15:58:03 +0000 (11:58 -0400)]
Improve options handling

- Order arguments consistently in OPTSTRING, OPTIONS and usage string.
- Remove unused arguments
- encoder_example.c: document -h switch, replace 'h:' by 'h' in
  OPTSTRING since -h does not take an argument.

Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
3 years agoImprove options handling
Guillaume Martres [Fri, 15 Aug 2014 15:48:24 +0000 (11:48 -0400)]
Improve options handling

- Order arguments consistently in OPTSTRING, OPTIONS and usage string.
- Remove unused arguments
- encoder_example.c: document -h switch, replace 'h:' by 'h' in
  OPTSTRING since -h does not take an argument.

Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
3 years agoFix a typo in the mesh decimation description.
Timothy B. Terriberry [Wed, 13 Aug 2014 23:03:46 +0000 (16:03 -0700)]
Fix a typo in the mesh decimation description.

v is only used in the sense of "for all v".
The specific v being operated on throughout step 2 is v^*.

Thanks to Guillame Martres for the report.

3 years agoRemove obsolete MC test code.
Timothy B. Terriberry [Tue, 12 Aug 2014 21:30:31 +0000 (14:30 -0700)]
Remove obsolete MC test code.

This was designed to test continuity between the various edge
 interpolation types.
Since we no longer support CGI, there is only one edge type.
Technically, we could still repurpose this test to check for
 continuity between OBMC blending when adjacent block sizes differ,
 but that would require redesigning the test, and would have to be
 reworked when support for adjacent blocks that differ by more than
 one size level is added.

3 years agoRemove edge labels from MV grid.
Timothy B. Terriberry [Tue, 12 Aug 2014 21:28:01 +0000 (14:28 -0700)]
Remove edge labels from MV grid.

Just continuing to remove code that is now unused since CGI was
 removed.

3 years agoClean up some MC logging issues.
Timothy B. Terriberry [Tue, 12 Aug 2014 21:09:22 +0000 (14:09 -0700)]
Clean up some MC logging issues.

Don't dump a log message for every SAD computation.
Make the buffer overflow check in od_mv_dp_get_rate_change() assert
 instead of logging at the OD_LOG_DEBUG level.
Print lambda instead of lambda*8 (the extra *8 was just there for
 comparison with the old lambda values before commit 713cde8f4fd3).

3 years agoClean-up some hard-coded constants.
Timothy B. Terriberry [Tue, 12 Aug 2014 21:02:26 +0000 (14:02 -0700)]
Clean-up some hard-coded constants.

Give names to various sizes so it's clear where they come from and
 when they might need to be changed.

3 years agoFix MV rate updates in the refinement DP.
Timothy B. Terriberry [Tue, 12 Aug 2014 02:37:08 +0000 (19:37 -0700)]
Fix MV rate updates in the refinement DP.

od_mv_dp_get_rate_change() was not following the path back through
 the trellis properly.
It was using the state of the last node in the trellis to look up
 the previous state at every node, rather than the actual state at
 that node.

Thanks to Guillaume Martres for the bug report.

3 years agoodintrin.h: fix comment
Tristan Matthews [Sun, 10 Aug 2014 18:55:19 +0000 (14:55 -0400)]
odintrin.h: fix comment

3 years agoFix quality parameter issue introduced in 361. Change -v to float.
Basar Koc [Fri, 8 Aug 2014 16:16:57 +0000 (09:16 -0700)]
Fix quality parameter issue introduced in 361. Change -v to float.

Signed-off-by: Nathan E. Egge <negge@dgql.org>
3 years agoFix rd-curve sort order for jpeg and theora.
Nathan E. Egge [Fri, 8 Aug 2014 14:34:58 +0000 (10:34 -0400)]
Fix rd-curve sort order for jpeg and theora.

Update the quality column to use negative numbers so that sorting by
 quality ascending goes from best quality to worst.

3 years agoyuvjpeg: fix trivial leak
Tristan Matthews [Wed, 6 Aug 2014 17:42:45 +0000 (13:42 -0400)]
yuvjpeg: fix trivial leak

3 years agoUse associative arrays in rd_average.sh.
Nathan E. Egge [Wed, 6 Aug 2014 19:40:41 +0000 (15:40 -0400)]
Use associative arrays in rd_average.sh.

This preserves the codec quality parameter used by the different codecs
 supported in rd_collect.sh.

3 years agoInclude unistd.h on POSIX. Fixes warning introduced in #364.
Thomas Daede [Wed, 6 Aug 2014 01:14:27 +0000 (18:14 -0700)]
Include unistd.h on POSIX. Fixes warning introduced in #364.

3 years agoOutput encoding status with a newline when not attached to a tty.
Thomas Daede [Mon, 4 Aug 2014 20:50:43 +0000 (13:50 -0700)]
Output encoding status with a newline when not attached to a tty.

Useful when dumping stderr to a file.

3 years agoIncrease bitrate precision in motion estimation.
Timothy B. Terriberry [Mon, 4 Aug 2014 17:37:15 +0000 (10:37 -0700)]
Increase bitrate precision in motion estimation.

We need this before we can start using more accurate rate estimates.
This merely adds 3 fractional bits to all rate estimates, but does
 not actually change how estimates are made (so they are all still
 whole-bit values, just 8 times bigger now).
We steal 3 bits from the lambda precision to compensate, so the
 total dynamic range should be the same.

3 years agoFiner (unscaled) quantizer patch
Monty Montgomery [Mon, 4 Aug 2014 19:14:14 +0000 (15:14 -0400)]
Finer (unscaled) quantizer patch

Allow quantizer (now quality) parameter to be fractional up to
OD_COEFF_SHIFT bits.  Quantizer is now mapped and scaled (if needed)
at setting time, rather than being blindly scaled up by OD_COEFF_SHIFT
when used.

3 years agoSimplify reversible Haar code.
Timothy B. Terriberry [Tue, 29 Jul 2014 22:36:00 +0000 (15:36 -0700)]
Simplify reversible Haar code.

Rather than have multiple independent implementations, use a common
 kernel.

3 years agoFix Haar multiresolution blending.
Timothy B. Terriberry [Tue, 29 Jul 2014 22:27:26 +0000 (15:27 -0700)]
Fix Haar multiresolution blending.

The blending weights were being setup incorrectly for blocks with
 unsplit edges (it was not properly accounting for the fact that the
 low-pass band is half the size of the block).

3 years agotools: Use progressive scan for yuvjpeg
Nathan E. Egge [Tue, 29 Jul 2014 17:56:33 +0000 (13:56 -0400)]
tools: Use progressive scan for yuvjpeg

3 years agoFix support for monochrome input
Guillaume Martres [Wed, 23 Jul 2014 22:27:52 +0000 (00:27 +0200)]
Fix support for monochrome input

3 years agoencoder_example: Add --limit to set the maximum number of frames to encode
Guillaume Martres [Thu, 24 Jul 2014 00:42:38 +0000 (02:42 +0200)]
encoder_example: Add --limit to set the maximum number of frames to encode

3 years agord_collect.sh: follow symlinks to find samples
Guillaume Martres [Thu, 24 Jul 2014 18:59:40 +0000 (20:59 +0200)]
rd_collect.sh: follow symlinks to find samples

3 years agoFixes for issues 351 and 352
Jean-Marc Valin [Fri, 25 Jul 2014 18:59:16 +0000 (14:59 -0400)]
Fixes for issues 351 and 352

3 years agoRate-adaptive lambda for intra mode selection
Jean-Marc Valin [Sat, 12 Jul 2014 02:02:11 +0000 (22:02 -0400)]
Rate-adaptive lambda for intra mode selection

Subset1 improvement (when re-enabling intra) is:
           RATE (%) DSNR (dB)
    PSNR -2.99314 0.175805
 PSNRHVS -3.54018 0.226506
    SSIM -1.95321 0.0837564
FASTSSIM -7.19934 0.216148

3 years agoChanges intra mode encoding to adapt the entire table instead of p0
Jean-Marc Valin [Sat, 12 Jul 2014 02:00:28 +0000 (22:00 -0400)]
Changes intra mode encoding to adapt the entire table instead of p0

When resnabling intra, fixing the mode encoding gives (on subset1):
           RATE (%) DSNR (dB)
    PSNR -1.93514 0.126041
 PSNRHVS -2.41487 0.186607
    SSIM -1.98817 0.105181
FASTSSIM -2.69753 0.101027

3 years agoFixes intra pred bug introduced in d6ebba54b
Jean-Marc Valin [Sat, 12 Jul 2014 00:25:52 +0000 (20:25 -0400)]
Fixes intra pred bug introduced in d6ebba54b

DC was assumed zero even when Haar was off.

3 years agoMake lambda used for motion estimation RD adaptive.
Timothy B. Terriberry [Tue, 15 Jul 2014 20:20:55 +0000 (13:20 -0700)]
Make lambda used for motion estimation RD adaptive.

Previously this was a hard-coded constant (chosen just to get
 something working).
This uses the "theoretically optimal" value (with a cap), which may
 not actually be very good, especially since the rate model we use
 in mcenc.c is highly inaccurate and we don't consider during the
 motion search whether or not PVQ's noref flags will throw away our
 prediction.

3 years agoRemove need for --enable-logging in rd_collect.sh.
Nathan E. Egge [Tue, 15 Jul 2014 21:45:16 +0000 (17:45 -0400)]
Remove need for --enable-logging in rd_collect.sh.

3 years agoAdd configure flag to only dump reconstructed video.
Basar Koc [Tue, 15 Jul 2014 19:32:03 +0000 (12:32 -0700)]
Add configure flag to only dump reconstructed video.

Signed-off-by: Nathan E. Egge <negge@dgql.org>
3 years agoFixes build warnings in jpegyuv.c and vq_train.c.
Basar [Tue, 15 Jul 2014 18:52:35 +0000 (11:52 -0700)]
Fixes build warnings in jpegyuv.c and vq_train.c.

Signed-off-by: Nathan E. Egge <negge@dgql.org>
3 years agoFixes -Wmaybe-uninitialized warning.
Basar Koc [Tue, 15 Jul 2014 18:25:01 +0000 (11:25 -0700)]
Fixes -Wmaybe-uninitialized warning.

Signed-off-by: Nathan E. Egge <negge@dgql.org>
3 years agoAddresses comments from issues 346, 347, 349.
Jean-Marc Valin [Sat, 12 Jul 2014 02:25:47 +0000 (22:25 -0400)]
Addresses comments from issues 346, 347, 349.

Except initialization of the probs to increment >> 2 which I'll look into
separately.

3 years agoJointly codes the noref flags on 8x8 and 16x16
Jean-Marc Valin [Fri, 11 Jul 2014 18:40:33 +0000 (14:40 -0400)]
Jointly codes the noref flags on 8x8 and 16x16

Saves ~2% on the first P-frames of parkjoy, little impact on akiyo

3 years agoPer-plane context for the skip flags
Jean-Marc Valin [Thu, 10 Jul 2014 20:46:03 +0000 (16:46 -0400)]
Per-plane context for the skip flags

Saves ~2% on the first frames of park_joy. Not much difference on akiyo

3 years agoAdds some context to the block size range symbol
Jean-Marc Valin [Thu, 10 Jul 2014 14:22:19 +0000 (10:22 -0400)]
Adds some context to the block size range symbol

Probability depends on the size of the smallest neighbouring block

3 years agoFixing shebang statements in ab_compare scripts
Thomas Szymczak [Fri, 11 Jul 2014 12:55:47 +0000 (08:55 -0400)]
Fixing shebang statements in ab_compare scripts

Signed-off-by: Nathan E. Egge <negge@dgql.org>
3 years agoAdds better initial conditions for block size encoding CDFs
Jean-Marc Valin [Mon, 7 Jul 2014 17:32:58 +0000 (13:32 -0400)]
Adds better initial conditions for block size encoding CDFs

Also, makes the split16 CDF dependent on whether 4x4 is present.

3 years agodct: use OD_MOVE
Tristan Matthews [Wed, 9 Jul 2014 21:10:34 +0000 (17:10 -0400)]
dct: use OD_MOVE

This avoids a bug when building with clang-3.4

3 years agoAdds per-plane context for the PVQ gain.
Jean-Marc Valin [Tue, 8 Jul 2014 14:22:07 +0000 (10:22 -0400)]
Adds per-plane context for the PVQ gain.

subset1:
           RATE (%) DSNR (dB)
    PSNR -0.905569 0.0510298
 PSNRHVS -1.00289 0.0719411
    SSIM -0.898377 0.0399292
FASTSSIM -0.931303 0.0302713

Helps a bit on parkjoy, hurts a bit on akiyo (because it's small)

3 years agoUsing od_encode_cdf_adapt() for the 4x4 vs 8x8 decision too
Jean-Marc Valin [Sat, 5 Jul 2014 03:04:48 +0000 (23:04 -0400)]
Using od_encode_cdf_adapt() for the 4x4 vs 8x8 decision too

Removes useless training code

3 years agoRemoves code duplication in block size decoder
Jean-Marc Valin [Sat, 5 Jul 2014 02:07:30 +0000 (22:07 -0400)]
Removes code duplication in block size decoder

3 years agoAdd variable sign to the ab_compare*.sh scripts
Thomas Szymczak [Tue, 8 Jul 2014 13:08:44 +0000 (09:08 -0400)]
Add variable sign to the ab_compare*.sh scripts

Signed-off-by: Nathan E. Egge <negge@dgql.org>
3 years agoUpdate accounting to work with Haar DC and PVQ
Thomas Daede [Thu, 3 Jul 2014 20:02:16 +0000 (13:02 -0700)]
Update accounting to work with Haar DC and PVQ

3 years agoAllow plane -1 to calculate metrics over all planes (weighted by number of pixels...
Thomas Daede [Thu, 3 Jul 2014 16:33:05 +0000 (09:33 -0700)]
Allow plane -1 to calculate metrics over all planes (weighted by number of pixels in each plane)

3 years agoFix OD_OUTPUT_PRED
Thomas Daede [Wed, 2 Jul 2014 18:14:11 +0000 (11:14 -0700)]
Fix OD_OUTPUT_PRED

3 years agoSetting sane default for keyframe rate.
Nathan E. Egge [Mon, 7 Jul 2014 22:35:54 +0000 (18:35 -0400)]
Setting sane default for keyframe rate.

3 years agoFixes unix makefile broken in e62051d1
Jean-Marc Valin [Sat, 5 Jul 2014 00:03:28 +0000 (20:03 -0400)]
Fixes unix makefile broken in e62051d1

3 years agoCoding tools draft update, r=jmspeex
Timothy B. Terriberry [Fri, 4 Jul 2014 23:14:55 +0000 (16:14 -0700)]
Coding tools draft update, r=jmspeex

Including:
- Minor edits to all sections.
- Updates to the transforms section
  + Include complexity numbers for the new orthonormal 8x8 DCT
  + Make the MSE numbers for 8x8 and 16x16 match the current git code.
    I left the 4x4 MSE number alone, because it is based on the coefficients
    in the draft, which I have not updated yet.
  + Update DCT complexity numbers from "libvpx experimental branch" to final
    VP9 numbers.
  + Add a section on the WHT.
    This documents the version in VP9 and the Haar DC code, and not the version
    in tf.c (which we should probably convert to match the others).

3 years agoMinor fixes to draft and pvq_encoding doc
Jean-Marc Valin [Fri, 4 Jul 2014 23:00:05 +0000 (19:00 -0400)]
Minor fixes to draft and pvq_encoding doc

3 years agodct: fix argument order consistency
Tristan Matthews [Fri, 4 Jul 2014 21:00:45 +0000 (17:00 -0400)]
dct: fix argument order consistency

double precision version should have the same order as the integer
versions.

3 years agoPVQ draft update for the PVQ rewrite
Jean-Marc Valin [Fri, 4 Jul 2014 18:15:03 +0000 (14:15 -0400)]
PVQ draft update for the PVQ rewrite

3 years agoNew block size encoding scheme based on min/max range
Jean-Marc Valin [Fri, 4 Jul 2014 04:27:24 +0000 (00:27 -0400)]
New block size encoding scheme based on min/max range

This reduces the waste in block size encoding especially on large 16x16
areas. The new scheme shouldn't waste bits when we're restricting the block
size, though it's not as good at context modeling.

We save about 0.4% on subset1 and 7% on akiyo_cif at -v 50

3 years agoUpdates doxygen comments wrt issue 288
Jean-Marc Valin [Thu, 19 Jun 2014 19:47:25 +0000 (15:47 -0400)]
Updates doxygen comments wrt issue 288

3 years agoDoc: intra prob equation was flipped
Jean-Marc Valin [Tue, 17 Jun 2014 20:49:20 +0000 (16:49 -0400)]
Doc: intra prob equation was flipped

3 years agoCleanup: moves some od_adapt_ctx initialization to od_adapt_ctx_reset()
Jean-Marc Valin [Thu, 12 Jun 2014 05:53:34 +0000 (01:53 -0400)]
Cleanup: moves some od_adapt_ctx initialization to od_adapt_ctx_reset()

3 years agoUsing rollback for skip so we can use the exact rate
Jean-Marc Valin [Wed, 11 Jun 2014 05:42:14 +0000 (01:42 -0400)]
Using rollback for skip so we can use the exact rate

Improves performance at "medium rates". bd_rate on akiyo-qcif gives:

           RATE (%) DSNR (dB)
    PSNR -2.61122 0.176862
 PSNRHVS -3.19544 0.269844
    SSIM -2.22924 0.126447
FASTSSIM -3.14752 0.216077

Conflicts:
src/pvq.c
src/pvq_encoder.c

3 years agoJoint skip symbol for both AC and DC
Jean-Marc Valin [Mon, 9 Jun 2014 19:02:44 +0000 (15:02 -0400)]
Joint skip symbol for both AC and DC

Conflicts:
src/encode.c
src/pvq_encoder.c

3 years agoEncodes small small (within +/- 2) motion vectors using a single symbol
Jean-Marc Valin [Sun, 8 Jun 2014 22:19:29 +0000 (18:19 -0400)]
Encodes small small (within +/- 2) motion vectors using a single symbol

Also saves 7% on akiyo at -v 50

3 years agoAdds block-level skip flag to save bits/symbols on inter frames
Jean-Marc Valin [Sun, 8 Jun 2014 19:15:44 +0000 (15:15 -0400)]
Adds block-level skip flag to save bits/symbols on inter frames

3 years agoSplits scalar quantization into a separate function
Jean-Marc Valin [Sun, 8 Jun 2014 05:39:54 +0000 (01:39 -0400)]
Splits scalar quantization into a separate function

Conflicts:
src/decode.c
src/encode.c

3 years agoMakes pvq_encode() not overwrite the input data so we can rollback later
Jean-Marc Valin [Sun, 8 Jun 2014 02:24:58 +0000 (22:24 -0400)]
Makes pvq_encode() not overwrite the input data so we can rollback later

3 years agoFixing typo in arugment 2 of the usage.
Nathan E. Egge [Thu, 19 Jun 2014 16:20:33 +0000 (12:20 -0400)]
Fixing typo in arugment 2 of the usage.

3 years agoAdd support for jpeg images with non-multiple of 16 sizes.
Nathan E. Egge [Thu, 19 Jun 2014 11:12:07 +0000 (07:12 -0400)]
Add support for jpeg images with non-multiple of 16 sizes.

3 years agoDoc update
Jean-Marc Valin [Sat, 14 Jun 2014 19:15:34 +0000 (15:15 -0400)]
Doc update

3 years agoAdd tests for the entropy coder checkpoint/restore.
Gregory Maxwell [Sat, 14 Jun 2014 00:37:12 +0000 (17:37 -0700)]
Add tests for the entropy coder checkpoint/restore.

3 years agoSilence some warnings introduced by recent commits.
Gregory Maxwell [Fri, 13 Jun 2014 20:50:13 +0000 (13:50 -0700)]
Silence some warnings introduced by recent commits.

3 years agoFix build warnings in metrics code on OS X w/clang.
Josh Aas [Fri, 13 Jun 2014 19:55:12 +0000 (15:55 -0400)]
Fix build warnings in metrics code on OS X w/clang.

Signed-off-by: Nathan E. Egge <negge@dgql.org>
3 years agoFixes for the unix makefile for the metrics to accounting rename.
Gregory Maxwell [Fri, 13 Jun 2014 19:15:13 +0000 (12:15 -0700)]
Fixes for the unix makefile for the metrics to accounting rename.

3 years agoRename the bit allocation metrics to "accounting".
Gregory Maxwell [Fri, 13 Jun 2014 19:05:13 +0000 (12:05 -0700)]
Rename the bit allocation metrics to "accounting".

This should avoid some confusion with objective quality metrics
 like SSIM.

3 years agoAdding support for theora to rd_collect.sh.
Sam Laane [Fri, 13 Jun 2014 07:16:39 +0000 (03:16 -0400)]
Adding support for theora to rd_collect.sh.

Signed-off-by: Nathan E. Egge <negge@dgql.org>
3 years agoAdds checkpoint/rollback to the encoder
Jean-Marc Valin [Sun, 8 Jun 2014 03:04:34 +0000 (23:04 -0400)]
Adds checkpoint/rollback to the encoder

3 years agoAdds an od_adapt_ctx struct just for encoder/decoder adapted parameters
Jean-Marc Valin [Sun, 8 Jun 2014 01:01:12 +0000 (21:01 -0400)]
Adds an od_adapt_ctx struct just for encoder/decoder adapted parameters

original od_adapt_ctx renamed to od_adapt2d_ctx

Conflicts:
src/state.c
src/state.h

Conflicts:
src/decode.c
src/encode.c
src/state.c
src/state.h

3 years agoFix breakage from review of 8402a876ee
Jean-Marc Valin [Fri, 13 Jun 2014 01:24:35 +0000 (21:24 -0400)]
Fix breakage from review of 8402a876ee

3 years agoRemoves unused MIDXS table
Jean-Marc Valin [Sun, 8 Jun 2014 01:11:10 +0000 (21:11 -0400)]
Removes unused MIDXS table

3 years agoDisables 2-D adapt for scalar
Jean-Marc Valin [Fri, 23 May 2014 20:22:27 +0000 (16:22 -0400)]
Disables 2-D adapt for scalar

           RATE (%) DSNR (dB)
    PSNR -0.864214 0.0607494
 PSNRHVS -1.00248 0.0762132
    SSIM -0.802482 0.0478799
FASTSSIM -0.96165 0.0323483

Conflicts:
src/encode.c

3 years agoEncoding MVs with generic encoder and separate sign
Jean-Marc Valin [Thu, 29 May 2014 13:27:41 +0000 (09:27 -0400)]
Encoding MVs with generic encoder and separate sign

Saves more than 50% of the MV bits on the first frames of parkjoy

3 years agoMaking the first band use k=1 instead of k=2 for activity masking with g=1
Jean-Marc Valin [Tue, 27 May 2014 18:42:02 +0000 (14:42 -0400)]
Making the first band use k=1 instead of k=2 for activity masking with g=1

           RATE (%) DSNR (dB)
    PSNR -0.0579852 0.00331591
 PSNRHVS -0.0934497 0.0101054
    SSIM -0.389598 0.0162521
FASTSSIM -1.21102 0.0412042

3 years agoSplitting out the prediction code from od_single_band_{en,de}code()
Jean-Marc Valin [Sun, 25 May 2014 05:01:21 +0000 (01:01 -0400)]
Splitting out the prediction code from od_single_band_{en,de}code()

Conflicts:
src/encode.c

3 years agoUsing up-left and up-right for superblock-level DC
Jean-Marc Valin [Wed, 21 May 2014 07:45:39 +0000 (03:45 -0400)]
Using up-left and up-right for superblock-level DC

3 years agoAdding new metrics infrastructure.
Nathan E. Egge [Thu, 12 Jun 2014 21:57:26 +0000 (17:57 -0400)]
Adding new metrics infrastructure.

3 years agoUpdate ignores.
Jack Moffitt [Thu, 12 Jun 2014 19:49:36 +0000 (13:49 -0600)]
Update ignores.

3 years agoDetect OpenMP correctly.
Jack Moffitt [Thu, 12 Jun 2014 19:49:24 +0000 (13:49 -0600)]
Detect OpenMP correctly.

3 years agoAdd --enable-tools to configure.
Jack Moffitt [Mon, 9 Jun 2014 23:33:35 +0000 (17:33 -0600)]
Add --enable-tools to configure.

This changes the build to compile without tools support by default,
doing checks for libjpeg only when they are enabled.

3 years agoconfigure: fix help string
Tristan Matthews [Tue, 10 Jun 2014 22:07:41 +0000 (18:07 -0400)]
configure: fix help string

3 years agoFixing compile error in make debug.
Nathan E. Egge [Tue, 10 Jun 2014 21:46:29 +0000 (17:46 -0400)]
Fixing compile error in make debug.

3 years agoAdd scripts to generate A-B comparison images.
Nathan E. Egge [Tue, 10 Jun 2014 03:10:54 +0000 (23:10 -0400)]
Add scripts to generate A-B comparison images.

3 years agoFixing rd_collect to work on video files.
Nathan E. Egge [Tue, 10 Jun 2014 00:01:36 +0000 (20:01 -0400)]
Fixing rd_collect to work on video files.

Add a FRAMES variable that counts the number of frames in a y4m by
 parsing the output of dump_psnr.
Remove lossless mode from rd_collect_x265.sh.
Setting -k 256 in rd_collect_daala.sh.

3 years agoFixing rd_collect using new reconstructed filename.
Nathan E. Egge [Mon, 9 Jun 2014 21:13:00 +0000 (17:13 -0400)]
Fixing rd_collect using new reconstructed filename.

3 years agoEncode DC using 2D Haar transform
Jean-Marc Valin [Mon, 9 Jun 2014 21:00:38 +0000 (17:00 -0400)]
Encode DC using 2D Haar transform

3 years agoDisables intra prediction until we can make it work well
Jean-Marc Valin [Sat, 17 May 2014 02:48:13 +0000 (22:48 -0400)]
Disables intra prediction until we can make it work well

3 years agoSwitch encoder reconstruction output to one file for all frames.
Gregory Maxwell [Mon, 9 Jun 2014 04:55:54 +0000 (21:55 -0700)]
Switch encoder reconstruction output to one file for all frames.

This makes it easier to run tools like dump_psnr on the output.

3 years agoMake dump_psnrhvs work on videos.
Gregory Maxwell [Fri, 6 Jun 2014 23:44:34 +0000 (16:44 -0700)]
Make dump_psnrhvs work on videos.

The code was incorrectly normalizing with the by the frame count
 instead of the inverse of the frame count.

r=negge

3 years agoRefactored rd_collect metrics framework.
Nathan E. Egge [Mon, 2 Jun 2014 21:50:44 +0000 (17:50 -0400)]
Refactored rd_collect metrics framework.

Single entry point for data collection rd_collect.sh.
Can now run against both libjpeg and mozjpeg.
Added support for x264 and x265.

3 years agoParallelize vq_train and some minor restructuring.
Gregory Maxwell [Fri, 9 May 2014 17:53:24 +0000 (10:53 -0700)]
Parallelize vq_train and some minor restructuring.

This uses openmp to do a quick parallel implementation of the VQ
 training inner-loop.

It can be flipped to uni-processor with a simple flag in the source
 for cases where multiple trainings will be run in parallel, since
 thats somewhat more efficient than the multithreaded version here.

r=jm

3 years agoUsing wider range of bitrate in rd_collect
Jean-Marc Valin [Thu, 8 May 2014 05:51:37 +0000 (01:51 -0400)]
Using wider range of bitrate in rd_collect

3 years agoAdds training code for spherical quantizer
Jean-Marc Valin [Thu, 8 May 2014 04:24:50 +0000 (00:24 -0400)]
Adds training code for spherical quantizer

3 years agoIncreasing the Cb quantization resolution to reduce yellow chroma artefacts
Jean-Marc Valin [Thu, 1 May 2014 21:10:41 +0000 (17:10 -0400)]
Increasing the Cb quantization resolution to reduce yellow chroma artefacts