daala.git
2 years agoRemoving useless fields in the encoder/decoder contexts dump_coeffs
Jean-Marc Valin [Thu, 19 Mar 2015 16:15:09 +0000 (12:15 -0400)]
Removing useless fields in the encoder/decoder contexts

2 years agoMake block lines visible when skip or no-ref is active.
Benjamin M. Schwartz [Sat, 21 Mar 2015 19:52:13 +0000 (15:52 -0400)]
Make block lines visible when skip or no-ref is active.

Signed-off-by: Nathan E. Egge <negge@dgql.org>
2 years agoUse a macro to fix AVX intrinsics on clang.
Timothy B. Terriberry [Sat, 21 Mar 2015 18:24:27 +0000 (11:24 -0700)]
Use a macro to fix AVX intrinsics on clang.

Using an always_inline function instead, clang reports
  error: argument to '__builtin_ia32_permti256' must be a constant integer

2 years agoUse a brighter block edge color in dark spots.
Benjamin M. Schwartz [Sat, 21 Mar 2015 17:04:55 +0000 (13:04 -0400)]
Use a brighter block edge color in dark spots.

BUG=33

Signed-off-by: Nathan E. Egge <negge@dgql.org>
2 years agoFix chroma_types in dump_video
Suhas Nandakumar [Sat, 21 Mar 2015 16:53:26 +0000 (11:53 -0500)]
Fix chroma_types in dump_video

Signed-off-by: Timothy B. Terriberry <tterribe@xiph.org>
2 years agoCorrect help message for enabling analyzer.
Nathan E. Egge [Sat, 21 Mar 2015 16:55:47 +0000 (12:55 -0400)]
Correct help message for enabling analyzer.

2 years agoIssue 32 Fix
Suhas Nandakumar [Sat, 21 Mar 2015 16:26:43 +0000 (11:26 -0500)]
Issue 32 Fix

Signed-off-by: Timothy B. Terriberry <tterribe@xiph.org>
2 years agoAdded interlacing header (missed earlier)
Suhas Nandakumar [Sat, 21 Mar 2015 15:06:42 +0000 (10:06 -0500)]
Added interlacing header (missed earlier)

2 years agoFix Y4M header to match in state.c and dump_video.c
Suhas Nandakumar [Sat, 21 Mar 2015 15:02:29 +0000 (10:02 -0500)]
Fix Y4M header to match in state.c and dump_video.c

2 years agoAdd DECCTLs for retrieving the MV grid.
Thomas Daede [Tue, 17 Mar 2015 20:55:40 +0000 (13:55 -0700)]
Add DECCTLs for retrieving the MV grid.

2 years agoFixes CfL for 4:4:4
Jean-Marc Valin [Wed, 18 Mar 2015 20:48:04 +0000 (16:48 -0400)]
Fixes CfL for 4:4:4

We shouldn't alias the CfL buffer for 4:4:4. This worked by accident when
Haar DC was added (and DCTs computed up-front), but even the original commit
that added the aliasing was broken for 4:4:4.

2 years agoTake equal_mvs into account in od_mv_est_bits
Guillaume Martres [Mon, 26 Jan 2015 18:17:02 +0000 (19:17 +0100)]
Take equal_mvs into account in od_mv_est_bits

For now, this has no effect because we use the same default
probabilities for every value of equal_mvs, but this should be useful
when we have more accurate default probabilities.

Also, explicitely document that this estimation does not depend on the
previous frame to avoid confusion.

2 years agoMake ab_compare scripts capable of comparing multiple codecs, taking options, etc.
Thomas Szymczak [Fri, 13 Mar 2015 21:53:47 +0000 (14:53 -0700)]
Make ab_compare scripts capable of comparing multiple codecs, taking options, etc.

2 years agoUse variable to choose between vp8 and vp9 in ab_compare_libvpx.sh.
Thomas Szymczak [Thu, 12 Mar 2015 22:51:21 +0000 (15:51 -0700)]
Use variable to choose between vp8 and vp9 in ab_compare_libvpx.sh.

2 years agoUse bisection search to match rates in ab_compare_*.sh scripts.
Thomas Szymczak [Thu, 12 Mar 2015 22:44:44 +0000 (15:44 -0700)]
Use bisection search to match rates in ab_compare_*.sh scripts.

2 years agoAdding a 32-point lapping filter.
Nathan E. Egge [Thu, 12 Mar 2015 03:41:54 +0000 (23:41 -0400)]
Adding a 32-point lapping filter.

Added a 32-point lapping filter optimized for 1D coding gain using AR95.
Updated the coefficient ordering for the 32x32 bands by training on data
 collected from subset3 using the new 32-point lapping.
Tuned the quantization matrix for the 10 bands in a 32x32 block.

subset1:

         RATE (%)  DSNR (dB)
    PSNR -0.01551  0.00091
 PSNRHVS -0.33888  0.02433
    SSIM -0.81205  0.03764
FASTSSIM -2.49985  0.08521

subset3:

         RATE (%)  DSNR (dB)
    PSNR -0.02078  0.00120
 PSNRHVS -0.40810  0.02858
    SSIM -0.93040  0.04233
FASTSSIM -2.68366  0.10445

video1-short:

         RATE (%)  DSNR (dB)
    PSNR -3.15239  0.14884
 PSNRHVS -1.08304  0.07259
    SSIM -2.64729  0.10882
FASTSSIM -1.75571  0.09164

ntt-short-1:

         RATE (%)  DSNR (dB)
    PSNR -2.24747  0.08457
 PSNRHVS -0.07304  0.00454
    SSIM -1.79033  0.05243
FASTSSIM -1.42222  0.04681

2 years agoplayer_example: pace playback to file's framerate
Tristan Matthews [Mon, 9 Mar 2015 20:38:59 +0000 (16:38 -0400)]
player_example: pace playback to file's framerate

Fixes #17

2 years agoconfigure: add OD_CFLAGS for user CFLAGS
Tristan Matthews [Tue, 10 Mar 2015 03:59:16 +0000 (22:59 -0500)]
configure: add OD_CFLAGS for user CFLAGS

These will be appended to CFLAGS
Usage: OD_CFLAGS=-DRAINBOW_VOMIT ./configure

Fixes #20.

2 years agoconfigure: add --enable-check-asm option
Tristan Matthews [Mon, 9 Mar 2015 21:52:21 +0000 (16:52 -0500)]
configure: add --enable-check-asm option

2 years agoconfigure: add --enable-dct-check-overflow (fixes #5)
Tristan Matthews [Mon, 9 Mar 2015 21:04:11 +0000 (16:04 -0500)]
configure: add --enable-dct-check-overflow (fixes #5)

2 years agoUpdate the lapped transform draft.
Nathan E. Egge [Tue, 10 Mar 2015 00:05:02 +0000 (20:05 -0400)]
Update the lapped transform draft.

Included section on intra-prediction experiments and lapping with
 multiple block sizes.

2 years agoUpdate the coding-tools draft.
Timothy B. Terriberry [Mon, 9 Mar 2015 23:44:04 +0000 (16:44 -0700)]
Update the coding-tools draft.

This adds a few details on the 32-point transform and contains some
 other minor edits.

2 years agoPVQ draft update
Jean-Marc Valin [Mon, 9 Mar 2015 21:58:10 +0000 (17:58 -0400)]
PVQ draft update

Mainly addresses comments from Yushin

2 years agoanalyzer: constify some methods
Tristan Matthews [Thu, 5 Mar 2015 21:37:00 +0000 (16:37 -0500)]
analyzer: constify some methods

2 years agoFixing bug in band flag decctl.
Nathan E. Egge [Thu, 5 Mar 2015 17:39:53 +0000 (12:39 -0500)]
Fixing bug in band flag decctl.

Only luma band flags are now extracted using daala_decode_ctl with
 control code OD_DECCTL_SET_FLAGS_BUFFER.

2 years agoAdding visualization of the per band flags.
Nathan E. Egge [Thu, 5 Mar 2015 02:15:53 +0000 (21:15 -0500)]
Adding visualization of the per band flags.

Updating the stream analyzer to display the skip and no-ref flags per
 band as overlays on the decoded frame.

2 years agoAdding decctl to extract per band flags.
Nathan E. Egge [Thu, 5 Mar 2015 02:13:06 +0000 (21:13 -0500)]
Adding decctl to extract per band flags.

Adding a decoder control code to extract the skip and no-ref flags for a
 frame per band per block.

2 years agoAdding image doubling feature to stream analyzer.
Nathan E. Egge [Thu, 5 Mar 2015 01:56:57 +0000 (20:56 -0500)]
Adding image doubling feature to stream analyzer.

This adds menu and keyboard shortcuts that allow you to scale the decoded
 frame up to 4x the original size.

2 years agoDon't trample over someone else's temporary buffer in od_mv_est_sad8.
Thomas Daede [Tue, 3 Mar 2015 23:04:39 +0000 (15:04 -0800)]
Don't trample over someone else's temporary buffer in od_mv_est_sad8.

2 years agoAdding wxWidgets autoconf macros.
Nathan E. Egge [Tue, 3 Mar 2015 22:44:30 +0000 (17:44 -0500)]
Adding wxWidgets autoconf macros.

2 years agoconfigure: fix message about wx
Tristan Matthews [Tue, 3 Mar 2015 22:13:14 +0000 (17:13 -0500)]
configure: fix message about wx

2 years agoVS2008 and VS2010 Static builds, minimal modifications to daala src
randomguy [Tue, 3 Mar 2015 22:34:35 +0000 (14:34 -0800)]
VS2008 and VS2010 Static builds, minimal modifications to daala src

2 years agoAdding wxWidgets based stream analyzer.
Nathan E. Egge [Tue, 3 Mar 2015 21:26:56 +0000 (16:26 -0500)]
Adding wxWidgets based stream analyzer.

An extremely simple stream analyzer that can open Daala ogv files and
 step through them a frame at a time.
The block size decisions are extracted using daala_decode_ctl and can
 overlayed on the decoded frame through a UI menu or by pressing Alt-B.
By default the stream analyzer is not built, but can be enabled by
 running: ./configure --enable-analyzer

2 years agoAdding zigzag.h to noinst_HEADERS.
Nathan E. Egge [Tue, 3 Mar 2015 14:19:15 +0000 (09:19 -0500)]
Adding zigzag.h to noinst_HEADERS.

2 years agoCapitalizing partition constants.
Nathan E. Egge [Tue, 3 Mar 2015 14:06:45 +0000 (09:06 -0500)]
Capitalizing partition constants.

2 years agoAdding decctl to extract the block size array.
Nathan E. Egge [Sat, 28 Feb 2015 02:56:45 +0000 (21:56 -0500)]
Adding decctl to extract the block size array.

2 years agoDefine _BSD_SOURCE and _DEFAULT_SOURCE to make all versions of glibc happy
Thomas Daede [Tue, 24 Feb 2015 22:00:40 +0000 (14:00 -0800)]
Define _BSD_SOURCE and _DEFAULT_SOURCE to make all versions of glibc happy

2 years agoFix AVX2 detection to be sure that OS support exists
Thomas Daede [Tue, 24 Feb 2015 23:40:38 +0000 (15:40 -0800)]
Fix AVX2 detection to be sure that OS support exists

2 years agoDCT test prints what assembly optimizations it is using before each run
Thomas Daede [Tue, 24 Feb 2015 20:48:47 +0000 (12:48 -0800)]
DCT test prints what assembly optimizations it is using before each run

2 years agoFixes a crash on long file names
Jean-Marc Valin [Tue, 17 Feb 2015 21:52:39 +0000 (16:52 -0500)]
Fixes a crash on long file names

2 years agoChange lapping so it is applied recursively.
Nathan E. Egge [Tue, 24 Feb 2015 14:09:53 +0000 (09:09 -0500)]
Change lapping so it is applied recursively.

Apply the lapping within a superblock recursively so that block boundaries
 are lapped before the interior of the block is lapped.  This removes
 discontinuities produced when a block is split but its neighbor is not.
Updated the filter tests to use the new lapping order.

subset1:

          RATE (%)  DSNR (dB)
    PSNR -0.30295   0.01718
 PSNRHVS -0.12037   0.00855
    SSIM -0.23565   0.01081
FASTSSIM -0.00252   0.00013

video1-short:

          RATE (%)  DSNR (dB)
    PSNR -0.16842   0.00778
 PSNRHVS -0.09139   0.00606
    SSIM -0.17915   0.00722
FASTSSIM -0.05157   0.00265

2 years agoFix autoconf scripts to use the necessary compiler flags.
Thomas Daede [Fri, 13 Feb 2015 23:41:11 +0000 (15:41 -0800)]
Fix autoconf scripts to use the necessary compiler flags.

2 years agologging: fix leak/realloc usage
Tristan Matthews [Tue, 10 Feb 2015 08:12:30 +0000 (03:12 -0500)]
logging: fix leak/realloc usage

2 years agopvq: use od_ prefix for non-static functions
Tristan Matthews [Tue, 10 Feb 2015 04:56:03 +0000 (23:56 -0500)]
pvq: use od_ prefix for non-static functions

2 years agoSuperblocks split encoded separately from the decision
Jean-Marc Valin [Sun, 8 Feb 2015 19:46:31 +0000 (14:46 -0500)]
Superblocks split encoded separately from the decision

Will make it easier to have different decision functions

2 years agoRemove outdated comment
Guillaume Martres [Sun, 8 Feb 2015 21:44:08 +0000 (22:44 +0100)]
Remove outdated comment

2 years agoReorder MV and block size encoding
Jean-Marc Valin [Sun, 8 Feb 2015 17:51:21 +0000 (12:51 -0500)]
Reorder MV and block size encoding

This will make it easier to do the block size search and will make it possible
to use the MVs as context to block size encoding.

2 years agoMake --enable-dump-images also dump the lapped frames
Guillaume Martres [Sun, 8 Feb 2015 20:19:29 +0000 (21:19 +0100)]
Make --enable-dump-images also dump the lapped frames

2 years agoRemove _BSD_SOURCE defines as it is deprecated and produces warnings with glibc 2.20
Thomas Daede [Thu, 5 Feb 2015 15:16:16 +0000 (15:16 +0000)]
Remove _BSD_SOURCE defines as it is deprecated and produces warnings with glibc 2.20

2 years agoAdd 10-bit input support for y4m2png.c
Thomas Daede [Thu, 19 Jun 2014 21:34:30 +0000 (16:34 -0500)]
Add 10-bit input support for y4m2png.c

2 years agoAdd min and max constraint options for octave version of bd_rate
Thomas Daede [Mon, 26 Jan 2015 23:22:11 +0000 (17:22 -0600)]
Add min and max constraint options for octave version of bd_rate

2 years agoFix invalid read in motion vectors flags.
Jack Moffitt [Thu, 5 Feb 2015 11:42:57 +0000 (04:42 -0700)]
Fix invalid read in motion vectors flags.

od_mv_level2_ctx was reading out of bounds in some cases when setting up
the temporary pointers. Also makes conditionals more consistent.

2 years agoFix overflow on 32-point DCT with 8-point filter.
Nathan E. Egge [Wed, 4 Feb 2015 10:09:51 +0000 (05:09 -0500)]
Fix overflow on 32-point DCT with 8-point filter.

2 years agoblock size hack to avoid falling apart at low rate.
Jean-Marc Valin [Thu, 29 Jan 2015 21:41:45 +0000 (16:41 -0500)]
block size hack to avoid falling apart at low rate.

           RATE (%)  DSNR (dB)
    PSNR -5.48137  0.17495
 PSNRHVS -5.59883  0.24669
    SSIM -5.22271  0.14071
FASTSSIM -5.43776  0.14619

2 years agoInterpolating quantization matrices across rates
Jean-Marc Valin [Wed, 14 Jan 2015 20:05:38 +0000 (15:05 -0500)]
Interpolating quantization matrices across rates

2 years agoMore authors.
Nathan E. Egge [Mon, 2 Feb 2015 00:04:52 +0000 (19:04 -0500)]
More authors.

2 years agoAdding authors.
Nathan E. Egge [Sat, 31 Jan 2015 19:00:05 +0000 (14:00 -0500)]
Adding authors.

2 years agoFixes MV context wrt mv_res
Jean-Marc Valin [Tue, 27 Jan 2015 02:23:15 +0000 (21:23 -0500)]
Fixes MV context wrt mv_res

ntt-short:
           RATE (%)  DSNR (dB)
    PSNR -0.32242  0.01444
 PSNRHVS -0.37090  0.02225
    SSIM -0.30134  0.01109
FASTSSIM -0.33560  0.01199

2 years agoIncrease lambda and counter-balance with a higher weight to gain distortion
Jean-Marc Valin [Thu, 22 Jan 2015 20:46:43 +0000 (15:46 -0500)]
Increase lambda and counter-balance with a higher weight to gain distortion

This makes us use more aggressive RDO but avoids the quality degradation
by penalizing loss of contrast more than "same-contrast" distortion.

ntt-short:
           RATE (%)  DSNR (dB)
    PSNR -2.33514  0.10609
 PSNRHVS -4.12432  0.25316
    SSIM -2.86528  0.10765
FASTSSIM -4.61858  0.17025

video1-short:
           RATE (%)  DSNR (dB)
    PSNR -1.34414  0.06891
 PSNRHVS -3.13644  0.23550
    SSIM -1.58571  0.07253
FASTSSIM -3.39824  0.19835

subset1:
           RATE (%) DSNR (dB)
    PSNR -0.462803 0.0200659
 PSNRHVS -0.887587 0.0690104
    SSIM -0.440733 0.00847554
FASTSSIM -0.863134 0.0290241

2 years agoRemoved unused fxform32x32 / ixform32x32 functions.
Nathan E. Egge [Tue, 27 Jan 2015 08:40:50 +0000 (03:40 -0500)]
Removed unused fxform32x32 / ixform32x32 functions.

Updated test_32x32.c to call od_bin_fdct32x32 / od_bin_idct32x32 instead
 of od_bin_fxform32x32 / od_bin_ixform32x32.
Removed the build dependency on tf.c from dcttest.

2 years agoUpdate test_filters.c for 32x32 block transform.
Nathan E. Egge [Tue, 27 Jan 2015 07:28:41 +0000 (02:28 -0500)]
Update test_filters.c for 32x32 block transform.

Do not apply 16-point pre/post-filter on the interior of a 32x32 block
 now that we have 32-point DCT.

2 years agoAdd 32x32 DCT block transform.
Nathan E. Egge [Tue, 27 Jan 2015 06:35:03 +0000 (01:35 -0500)]
Add 32x32 DCT block transform.

Added a bit-exact, integer, reversible, orthonormal 32-point DCT based
 on Loeffler's factorization with 215 adds, 38 shifts and 87 fixed-point
 multiplies.
Added od_bin_fdct32x32() block transform function and replaced
 od_bin_fxform32x32().

subset1:

          RATE (%)  DSNR (dB)
    PSNR -0.24289   0.01383
 PSNRHVS  0.05884  -0.00412
    SSIM  0.22049  -0.01000
FASTSSIM  1.63877  -0.05250

video1-short:

          RATE (%)  DSNR (dB)
    PSNR -0.54963   0.02723
 PSNRHVS  0.28804  -0.02065
    SSIM -0.17445   0.00749
FASTSSIM  0.97014  -0.05261

2 years agoRemove exhaustive search in DCT dynamic range check.
Nathan E. Egge [Mon, 26 Jan 2015 22:39:52 +0000 (17:39 -0500)]
Remove exhaustive search in DCT dynamic range check.

Replace the exhaustive search used to find the dynamic range of an
 n-point DCT transform (minimum and maximum values per output
 coefficient) in check_transform() with code that "designs" DCT inputs
 guaranteed to be maximal (resp. minimal) for each coefficient.

2 years agoFixes Eclipse static analyser warnings introduced in 1fcca47
Jean-Marc Valin [Mon, 26 Jan 2015 14:36:34 +0000 (09:36 -0500)]
Fixes Eclipse static analyser warnings introduced in 1fcca47

2 years agoMakes MV coding context dependent on how many neighbours are the same
Jean-Marc Valin [Wed, 14 Jan 2015 21:30:04 +0000 (16:30 -0500)]
Makes MV coding context dependent on how many neighbours are the same

ntt-short:
           RATE (%)  DSNR (dB)
    PSNR -0.38320  0.01722
 PSNRHVS -0.44932  0.02704
    SSIM -0.36005  0.01329
FASTSSIM -0.40790  0.01463

video1-short:
           RATE (%)  DSNR (dB)
    PSNR -0.04063  0.00206
 PSNRHVS -0.04112  0.00301
    SSIM -0.03654  0.00164
FASTSSIM -0.03730  0.00211

2 years agoReducing the amount of visual pollution due to accounting
Jean-Marc Valin [Fri, 23 Jan 2015 16:17:24 +0000 (11:17 -0500)]
Reducing the amount of visual pollution due to accounting

2 years agoAdding ln and noref to k-tokenizer context
Jean-Marc Valin [Wed, 21 Jan 2015 20:36:35 +0000 (15:36 -0500)]
Adding ln and noref to k-tokenizer context

video1-short:
           RATE (%)  DSNR (dB)
    PSNR -0.16778  0.00856
 PSNRHVS -0.21216  0.01571
    SSIM -0.18969  0.00859
FASTSSIM -0.21407  0.01219

subset1:
           RATE (%) DSNR (dB)
    PSNR -0.14241 0.00839161
 PSNRHVS -0.218321 0.0156902
    SSIM -0.186802 0.00880359
FASTSSIM -0.241425 0.00825423

2 years agoAdd stub 32-point filters needed for DCT testing.
Nathan E. Egge [Thu, 22 Jan 2015 01:03:24 +0000 (20:03 -0500)]
Add stub 32-point filters needed for DCT testing.

2 years agoFixing comment on OD_NBSIZES.
Nathan E. Egge [Wed, 21 Jan 2015 22:00:34 +0000 (17:00 -0500)]
Fixing comment on OD_NBSIZES.

2 years agoAdding the true 32-point Type-II DCT basis constants.
Nathan E. Egge [Wed, 21 Jan 2015 20:09:56 +0000 (15:09 -0500)]
Adding the true 32-point Type-II DCT basis constants.

2 years agoUpdating AUTOCORR[] for use with 32x32 DCT testing.
Nathan E. Egge [Wed, 21 Jan 2015 19:34:36 +0000 (14:34 -0500)]
Updating AUTOCORR[] for use with 32x32 DCT testing.

2 years agoAddressing derf's comments in issue 564
Jean-Marc Valin [Mon, 19 Jan 2015 19:17:40 +0000 (14:17 -0500)]
Addressing derf's comments in issue 564

2 years agoBlock size visualization image dump in the encoder
Jean-Marc Valin [Thu, 15 Jan 2015 20:15:25 +0000 (15:15 -0500)]
Block size visualization image dump in the encoder

2 years agoAdd command to generate eps files in rd_plot.sh.
Nathan E. Egge [Wed, 14 Jan 2015 04:39:25 +0000 (23:39 -0500)]
Add command to generate eps files in rd_plot.sh.

2 years agoblock_size_enc: Fix the descriptions of {img,psy}_stats (they were swapped)
Guillaume Martres [Wed, 24 Dec 2014 00:28:50 +0000 (01:28 +0100)]
block_size_enc: Fix the descriptions of {img,psy}_stats (they were swapped)

2 years agoAdds AWCY submission during CI.
Jack Moffitt [Mon, 22 Dec 2014 17:08:25 +0000 (10:08 -0700)]
Adds AWCY submission during CI.

This adds '-branch BRANCH' as an option to submit_awcy.py so that the
script doesn't need to infer the branch (which is hard when the checkout
is a detached HEAD like Jenkins uses).

2 years agoUse the same quantizers with and without activity masking for 4x4
Jean-Marc Valin [Sun, 21 Dec 2014 03:39:10 +0000 (22:39 -0500)]
Use the same quantizers with and without activity masking for 4x4

Since activity masking is off for 4x4 anyway.
video1-short (OD_DISABLE_MASKING=1):
           RATE (%)  DSNR (dB)
    PSNR -0.30016  0.01547
 PSNRHVS -0.59764  0.04352
    SSIM -0.84765  0.03706
FASTSSIM -1.02380  0.05606

2 years agoFix Q7 bias check in the DCT tests.
Timothy B. Terriberry [Tue, 23 Dec 2014 00:18:32 +0000 (16:18 -0800)]
Fix Q7 bias check in the DCT tests.

When OD_COEFF_SHIFT is set to 0, the rounding offset in the
 quantization was +3 for positive values, but -4 for negative
 values.
This fixes the offset to be +/- 3 in both cases.

2 years agoDisable AWCY on CI. Still not working.
Jack Moffitt [Sat, 20 Dec 2014 01:26:56 +0000 (18:26 -0700)]
Disable AWCY on CI. Still not working.

2 years agoFixes block_size_analysis quality shift
Jean-Marc Valin [Thu, 18 Dec 2014 21:30:00 +0000 (16:30 -0500)]
Fixes block_size_analysis quality shift

2 years agoFixes a PVQ search bug where we'd put a pulse in y[m]
Jean-Marc Valin [Fri, 19 Dec 2014 22:02:01 +0000 (17:02 -0500)]
Fixes a PVQ search bug where we'd put a pulse in y[m]

Makes slight changes to the encoding decisions, but has no significant
impact on metrics.

2 years agoRe-enable submission to AWCY during CI.
Jack Moffitt [Fri, 19 Dec 2014 23:36:17 +0000 (16:36 -0700)]
Re-enable submission to AWCY during CI.

2 years agoSignaling the quantization matrix in the bitstream
Jean-Marc Valin [Wed, 17 Dec 2014 18:38:46 +0000 (13:38 -0500)]
Signaling the quantization matrix in the bitstream

subset1:
           RATE (%) DSNR (dB)
    PSNR 0.175964 -0.009966
 PSNRHVS 0.198646 -0.0118349
    SSIM 0.186638 -0.00879532
FASTSSIM 0.25646 -0.00827182

video1:
           RATE (%)  DSNR (dB)
    PSNR 0.01025  -0.00053
 PSNRHVS 0.01206  -0.00089
    SSIM 0.01025  -0.00047
FASTSSIM 0.01148  -0.00066

Conflicts:
src/pvq.c

2 years agoencoder logging shows # of bits spent per picture in addition to bytes.
yushin [Sat, 13 Dec 2014 01:34:37 +0000 (17:34 -0800)]
encoder logging shows # of bits spent per picture in addition to bytes.

2 years agoSmall decoder speedup by fixing aliasing issues
Jean-Marc Valin [Wed, 10 Dec 2014 06:00:24 +0000 (01:00 -0500)]
Small decoder speedup by fixing aliasing issues

2 years agoSpeeds up OD_DUMP_IMAGES encoders by compressing PNGs normally
Jean-Marc Valin [Tue, 9 Dec 2014 23:38:47 +0000 (18:38 -0500)]
Speeds up OD_DUMP_IMAGES encoders by compressing PNGs normally

2 years agoUsing actual k-tokenizer rate in PVQ RDO
Jean-Marc Valin [Thu, 4 Dec 2014 23:29:13 +0000 (18:29 -0500)]
Using actual k-tokenizer rate in PVQ RDO

subset1:
           RATE (%) DSNR (dB)
    PSNR -0.362096 0.0227787
 PSNRHVS -0.767835 0.0560247
    SSIM -0.495929 0.0216287
FASTSSIM -0.369065 0.012262

video1-short:
           RATE (%)  DSNR (dB)
    PSNR -1.12440  0.05763
 PSNRHVS -0.33475  0.02480
    SSIM -1.28665  0.05854
FASTSSIM -0.36200  0.02063

2 years agoDumping the number of bits per symbol from the entropy coder
Jean-Marc Valin [Fri, 28 Nov 2014 04:13:55 +0000 (23:13 -0500)]
Dumping the number of bits per symbol from the entropy coder

Let's maximize that.

2 years agoPVQ refactor: moves all rate heuristics to od_pvq_rate()
Jean-Marc Valin [Tue, 25 Nov 2014 21:29:58 +0000 (16:29 -0500)]
PVQ refactor: moves all rate heuristics to od_pvq_rate()

No change in actual behaviour

2 years agoautotools: fix make distcheck
Tristan Matthews [Mon, 8 Dec 2014 18:44:50 +0000 (13:44 -0500)]
autotools: fix make distcheck

Regression from 8a20bea6e881a747743d4e6f6604a52e6915dd4c

2 years agoCorrect typo in previous commit.
Jack Moffitt [Mon, 8 Dec 2014 17:32:07 +0000 (10:32 -0700)]
Correct typo in previous commit.

2 years agoDon't check corner level 3 MVs.
Jack Moffitt [Sat, 6 Dec 2014 19:20:17 +0000 (12:20 -0700)]
Don't check corner level 3 MVs.

This bug never triggered since the encoder is careful to set these
corner level 3 MV flags to invalid. We were erroneously looking at them
even though they were always invalid and would have coded a tristate and
perhaps peeked outside the grid to do so.

Spotted by Tim during review of https://review.xiph.org/451/

2 years agoScripts to run a randomized comparison test.
Timothy B. Terriberry [Wed, 30 Apr 2014 23:04:02 +0000 (16:04 -0700)]
Scripts to run a randomized comparison test.

This is very rough initial work.
The goal is to be able to test multiple versions of the same image
 against a reference, and randomize the order the images are
 presented as well as the order each version is presented.
These scripts produce a bare-bones webpage and a set of numbered
 images in a directory which can be tarred up and distributed, along
 with a key for descrambling the numbers, and a script that can
 process rankings against the key to give unscrambled totals.

There is currently no means to enter the test results in the web page.
We should probably be looking at quality measured on some scale
 instead of just rankings.
There is currently no way to declare a tie.
The page itself should probably be split into multiple pages (one per
 set of images) with keybindings for easy navigation.

2 years agoAdd AVX2, SSE2, and SSE4.1 8x8 DCT implementation
Andreas Gal [Wed, 3 Sep 2014 20:32:32 +0000 (13:32 -0700)]
Add AVX2, SSE2, and SSE4.1 8x8 DCT implementation

2 years agoJointly signalling whether each of the directions should be skipped
Jean-Marc Valin [Fri, 28 Nov 2014 03:23:32 +0000 (22:23 -0500)]
Jointly signalling whether each of the directions should be skipped

subset1:
           RATE (%) DSNR (dB)
    PSNR -0.0609499 0.00364128
 PSNRHVS -0.0845392 0.00576046
    SSIM -0.0620935 0.00300164
FASTSSIM -0.0871825 0.00281497

video1-short:
           RATE (%)  DSNR (dB)
    PSNR -0.02604  0.00133
 PSNRHVS -0.02885  0.00214
    SSIM -0.00334  0.00015
FASTSSIM 0.02953  -0.00168

2 years agofixes some comments
Jean-Marc Valin [Tue, 25 Nov 2014 06:41:34 +0000 (01:41 -0500)]
fixes some comments

2 years agoMoves pvq.c functions to encoder/decoder-specific files
Jean-Marc Valin [Tue, 25 Nov 2014 06:30:53 +0000 (01:30 -0500)]
Moves pvq.c functions to encoder/decoder-specific files

No change to the functions themselves

2 years agoMore simplifications to pvq_synthesis_partial().
Jean-Marc Valin [Sat, 22 Nov 2014 06:19:15 +0000 (01:19 -0500)]
More simplifications to pvq_synthesis_partial().

Again, not bit-exact, but equivalent.

2 years agoMore PVQ cleanup.
Jean-Marc Valin [Sat, 22 Nov 2014 05:37:36 +0000 (00:37 -0500)]
More PVQ cleanup.

Folds quality scaling directly inside od_gain_compand() and od_gain_expand().
Not bit-exact, but equivalent.

2 years agoconfigure: only require libpng when needed
Tristan Matthews [Thu, 27 Nov 2014 02:05:21 +0000 (21:05 -0500)]
configure: only require libpng when needed