daala.git
2 years agoChange daala_decode_header_in to simplify usage. return-headers-remaining
Jack Moffitt [Fri, 27 Mar 2015 16:15:01 +0000 (10:15 -0600)]
Change daala_decode_header_in to simplify usage.

Previously daala_decode_header_in returned 0 once it encountered a video
packet, but this required packet peeking since you'd always read one
packet too far while processing headers. Now the funtion returns the
remaining headers to read, and 0 when processing the final header.

This means we can't send arbitrary numbers of headers now, but this
functionality was never used in Theora; we don't expect to use it in
Daala either.

2 years agoanalyzer: disable View when no file is loaded
Tristan Matthews [Fri, 27 Mar 2015 06:22:39 +0000 (02:22 -0400)]
analyzer: disable View when no file is loaded

Fixes #71

2 years agoRemove modified but unreferenced variables.
Nathan E. Egge [Fri, 27 Mar 2015 14:42:51 +0000 (10:42 -0400)]
Remove modified but unreferenced variables.

2 years agoRemove theora things from Makefile.am (fixes #68)
Thomas Szymczak [Thu, 26 Mar 2015 19:55:57 +0000 (15:55 -0400)]
Remove theora things from Makefile.am (fixes #68)

Signed-off-by: Tristan Matthews <tmatth@videolan.org>
2 years agord_collect.sh: fix typo
Tristan Matthews [Thu, 26 Mar 2015 18:41:17 +0000 (14:41 -0400)]
rd_collect.sh: fix typo

2 years agoMove keyboard shortcuts from ALT to CTRL.
Nathan E. Egge [Thu, 26 Mar 2015 16:28:54 +0000 (12:28 -0400)]
Move keyboard shortcuts from ALT to CTRL.

Update quit to Ctrl-Q and close to Ctrl-W.

2 years agodump_video: fix leak
Tristan Matthews [Thu, 26 Mar 2015 04:57:54 +0000 (00:57 -0400)]
dump_video: fix leak

2 years agoFix errors in motion vector export DECCTL.
Thomas Daede [Tue, 24 Mar 2015 18:35:05 +0000 (11:35 -0700)]
Fix errors in motion vector export DECCTL.

2 years agoDisabling Open menu item after loading a video.
Nathan E. Egge [Tue, 24 Mar 2015 11:13:49 +0000 (07:13 -0400)]
Disabling Open menu item after loading a video.

Right now the analyzer lacks support for opening a new video without
 closing the binary and running it again.  This disables the open menu
 so the user is forced to do this until we fix this bug.

2 years agoRemoving block size image dump since the analyzer now shows it
Jean-Marc Valin [Tue, 24 Mar 2015 04:10:42 +0000 (00:10 -0400)]
Removing block size image dump since the analyzer now shows it

2 years agoAdds a bilinear smoothing filter to reduce blocking artefacts
Jean-Marc Valin [Wed, 18 Mar 2015 21:58:00 +0000 (17:58 -0400)]
Adds a bilinear smoothing filter to reduce blocking artefacts

2 years agoRemoves OD_DUMP_COEFFS from main branch
Jean-Marc Valin [Mon, 23 Mar 2015 18:25:00 +0000 (14:25 -0400)]
Removes OD_DUMP_COEFFS from main branch

2 years agoRDO distance metric update (not bit-exact)
Jean-Marc Valin [Mon, 23 Mar 2015 15:50:42 +0000 (11:50 -0400)]
RDO distance metric update (not bit-exact)

2 years agoFixes hardcoded 32s
Jean-Marc Valin [Mon, 23 Mar 2015 15:26:58 +0000 (11:26 -0400)]
Fixes hardcoded 32s

2 years agoCleaning up RDO DC and DC rate saving
Jean-Marc Valin [Mon, 23 Mar 2015 04:16:43 +0000 (00:16 -0400)]
Cleaning up RDO DC and DC rate saving

2 years agoMore fixes to address Tim's comments
Jean-Marc Valin [Mon, 23 Mar 2015 01:50:20 +0000 (21:50 -0400)]
More fixes to address Tim's comments

2 years agoMoving RDO pixel buffers to the state
Jean-Marc Valin [Sun, 22 Mar 2015 22:30:37 +0000 (18:30 -0400)]
Moving RDO pixel buffers to the state

2 years agoTurns OD_FILT_SIZE into a macro as requested by Tim
Jean-Marc Valin [Sun, 22 Mar 2015 21:27:27 +0000 (17:27 -0400)]
Turns OD_FILT_SIZE into a macro as requested by Tim

2 years agoFixed lapping cleanup and making it possible to re-enable variable lapping
Jean-Marc Valin [Sun, 22 Mar 2015 20:57:24 +0000 (16:57 -0400)]
Fixed lapping cleanup and making it possible to re-enable variable lapping

2 years agoCoding style fixes
Jean-Marc Valin [Thu, 12 Mar 2015 14:40:52 +0000 (10:40 -0400)]
Coding style fixes

2 years agoUpdates 4-point CFL scaling for fixed lapping
Jean-Marc Valin [Wed, 11 Mar 2015 19:18:21 +0000 (15:18 -0400)]
Updates 4-point CFL scaling for fixed lapping

2 years agoAdds quantization matrices
Jean-Marc Valin [Tue, 24 Feb 2015 17:48:02 +0000 (12:48 -0500)]
Adds quantization matrices

This adds compensation for the magnitude of the basis functions. Since we're
now using fixed lapping, the magnitudes are always the same for a certain block
size, making it possible to compensate. We now also have per-coefficient
quantization matrices. The same quantization matrix is used for quantizing
and for weighting the coefficient distortion in the block size RDO. We
also introduce compensation for the scaling of the Haar DC basis functions.

2 years agoImplements RDO block size selection for Haar DC
Jean-Marc Valin [Tue, 24 Feb 2015 21:23:42 +0000 (16:23 -0500)]
Implements RDO block size selection for Haar DC

This code takes into account the distortion and rate from Haar DC to add
RDO for intra frames. This is made possible because the combination of 4 DC
basis functions of size NxN is exactly equal (outside of rounding error) to
the DC basis function of size 2Nx2N.

2 years agoDo not allow splitting a skipped region
Jean-Marc Valin [Thu, 19 Feb 2015 20:58:13 +0000 (15:58 -0500)]
Do not allow splitting a skipped region

There are cases where a split would cause all blocks to be skipped but not
splitting causes the block not to be skipped. In those situations, the block
size RDO metric (which can't perfectly match the quantization RDO) will
sometimes prefer skipping the split blocks, which is silly. We should
never split in this situation, although we can choose whether to skip the
unsplit block or code it. Right now we choose to code it since 1) it's simpler
and 2) the quantizer RDO is probably more trustworthy for now.

2 years agoTool for computing basis functions
Jean-Marc Valin [Tue, 17 Feb 2015 04:42:24 +0000 (23:42 -0500)]
Tool for computing basis functions

Used to compute the compensation for the unequal magnitudes of the synthesis
functions.

2 years agoReal block size RDO
Jean-Marc Valin [Mon, 9 Feb 2015 15:11:09 +0000 (10:11 -0500)]
Real block size RDO

The idea is that we can split a block with lapping, code the split block, then
undo the lapping so we can compare "apples-to-apples" with the unsplit block.
This is only for inter at this point and considers only luma.

2 years agoMake chroma use 4-point lapping only for 4:2:0
Jean-Marc Valin [Thu, 19 Feb 2015 18:50:42 +0000 (13:50 -0500)]
Make chroma use 4-point lapping only for 4:2:0

Otherwise, using 4x4 blocks with 8-point lapping causes way too much ringing.

2 years agoDon't do up-front filtering+DCT for inter
Jean-Marc Valin [Sun, 15 Feb 2015 21:16:51 +0000 (16:16 -0500)]
Don't do up-front filtering+DCT for inter

Refactoring for up-coming RDO changes

2 years agoUpdating quantization matrices to take into account the new filters
Jean-Marc Valin [Thu, 19 Feb 2015 19:24:45 +0000 (14:24 -0500)]
Updating quantization matrices to take into account the new filters

2 years agoImplements recursive filtering with fixed size for each level
Jean-Marc Valin [Fri, 13 Feb 2015 22:11:01 +0000 (17:11 -0500)]
Implements recursive filtering with fixed size for each level

We Use 8-point lapping everywhere, except 4-point inside the split of 8x8 blocks
into 4x4 blocks. For this reason, the basis functions for 4x4 are now
asymmetric. The advantage is that lapping no longer depends on the neighbours.

2 years agoAdded skipping frames to example encoder
Scott Anderson [Sun, 22 Mar 2015 02:51:16 +0000 (15:51 +1300)]
Added skipping frames to example encoder

https://github.com/xiph/daala/issues/22

Signed-off-by: Timothy B. Terriberry <tterribe@xiph.org>
2 years agoMove comment to correct loop.
Nathan E. Egge [Sun, 22 Mar 2015 18:43:16 +0000 (14:43 -0400)]
Move comment to correct loop.

2 years agoAdd an option to display padding in the analyzer.
Benjamin M. Schwartz [Sat, 21 Mar 2015 19:25:34 +0000 (15:25 -0400)]
Add an option to display padding in the analyzer.

Signed-off-by: Nathan E. Egge <negge@dgql.org>
2 years agoFixing bug displaying cursor position.
Nathan E. Egge [Sat, 21 Mar 2015 23:24:36 +0000 (19:24 -0400)]
Fixing bug displaying cursor position.

Updated the offending lines to match daala coding style.

2 years agoAdded cursor position to stream analyzer.
Suhas Nandakumar [Sat, 21 Mar 2015 22:13:05 +0000 (17:13 -0500)]
Added cursor position to stream analyzer.

Signed-off-by: Nathan E. Egge <negge@dgql.org>
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