Граф коммитов

530 Коммитов

Автор SHA1 Сообщение Дата
Sebastien Alaiwan 71e87847eb Homogenize configuration option name.
Rename '--enable-aom-highbitdepth' to '--enable-highbitdepth'

Change-Id: I1de13c3508c30c552532993419d8ace326142ab6
2017-04-12 22:29:11 +00:00
Timothy B. Terriberry b1c5760ed8 Add ec_smallmul experiment.
This reduces the multiplier width of daala_ec from 16x15->31 to
8x15->23, which reduces hardware latency by an estimated 20% (and
area for this module by an estimated 40%).

These are the smallest logical changes required to achieve this,
but the approach will be optimized significantly in subsequent
commits.

When enabled:

ec_smallmul1c_base@2017-03-08T00:49:01.830Z ->
 ec_smallmul1c@2017-03-08T00:49:45.091Z

  PSNR | PSNR Cb | PSNR Cr | PSNR HVS |   SSIM | MS SSIM | CIEDE 2000
0.0203 |  0.0203 |  0.0204 |   0.0203 | 0.0203 |  0.0203 |     0.0202

Change-Id: Idbbd3743e9189146cb519d5b984bdabd69e3f4c0
2017-04-12 20:17:54 +00:00
Zoe Liu 2a7de6836c Revert "Add compound-singleref (compound mode using single ref)"
This reverts commit ed69b09f59.

Change-Id: I3f9453596e42c2a2a78f8de7326cb267d32e17a5
2017-04-11 01:37:21 +00:00
Zoe Liu ed69b09f59 Add compound-singleref (compound mode using single ref)
This new coding tool is targeted to complete following two tasks:
(1) Remove the inter mode NEWFROMNEARMV;
(2) Add new inter coding modes that provide compound prediction but
    using single reference frame - initially NEAREST_NEARMV from
    single reference.

Change-Id: Ifadf91147d0b12c2f62cfd79a72ce0c37c4ee949
2017-04-10 15:49:24 -07:00
Jingning Han e335c6719e Enable cb4x4 by default
Change-Id: Icda2f6bae803fe73090261c81ac9a0f65d55d8f8
2017-04-10 19:33:24 +00:00
Thomas Davies eb649729bf Enable new_tokenset by default and fix experiment compatibility.
Change-Id: Ifd55343b701eb753537b9711abd377adcedde8ec
2017-04-04 11:18:21 +01:00
Thomas Davies 493623ea84 Enable ec_adapt by default and fix experiment compatibilities.
EXT_TILE: allocate variables on the heap due to the potentially
large number of tiles.

ANS: initialise tile contexts.

EXT_INTER, MOTION_VAR, WARPED_MOTION: fix compilation.

Change-Id: I43a9d01c2442d97b6a8875712f77d932dce3740d
2017-04-03 20:55:45 +00:00
Thomas Davies e60ce83169 Add NEW_MULTISYMBOL experiment.
This experiment is for converting binary symbols in the baseline
into non-binary symbols. EC_MULTISYMBOL should continue to be used
by experiments with their own signalling for compatibility.

Change-Id: Idc11a469b1806948107c0d6966235f3053c43519
2017-03-27 19:26:58 +00:00
Jean-Marc Valin 7677d431a1 Enable cdef by default
high-latency, cpu-used=0:

   PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
-2.0680 | -0.9789 | -0.7987 |  -0.7414 | -1.6257 | -0.8961 |    -2.0220

Low-latency, cpu-used=0:

   PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
-3.9175 | -2.1697 | -2.5191 |  -2.4382 | -3.4157 | -2.5755 |    -3.6688

Low-latency, cpu-used=4:

   PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
-7.5800 | -4.3697 | -4.3494 |  -5.4149 | -7.8724 | -6.0894 |    -7.3975

Change-Id: Ib784ed088fa537cf47d87477954c2d5047b3c42c
2017-03-24 18:20:59 +00:00
Alex Converse ce32f705a8 configure: use -Wundef for C sources
Change-Id: I1cc0d4b54263264fd1ffffb4cf33833ea841acde
2017-03-23 19:08:20 +00:00
Debargha Mukherjee 37f6fe61df Add config flags and macros to control ext-inter
Adds a dependent config flag 'interintra' to turn on/off interintra
modes altogether.
Adds a dependent config flag 'wedge' to turn on/off wedge compound
for both interinter and interintra.

Adds another macro to change wedge predictors to use
only 0, 1/2, or 1 weights.

From now, use
--enable-ext-inter --enable-wedge --enable-interintra to get the
same behavior as the old --enable-ext-inter.

Change-Id: I2e787e6994163b6b859a9d6431b87c4217834ddc
2017-03-20 23:36:58 +00:00
Sarah Parker 81915f5d5a Enable rect-tx by default
Change-Id: I51f31083988d7d5c574067c1a3aa98b7949adcee
2017-03-15 17:39:56 +00:00
Fergus Simpson 6ee201dbc1 frame_superres: Add experimental flag
Frame Super-Resolution is an experiment currently under development.
This commit just adds an experimental flag for it.

The goal of the experiment is to compress a downsampled version of a
frame instead of the full resolution one when bandwidth is limited. The
decoder will need to upsample and filter the frame it recieves after
decoding. It is thought that this will result in a visually superior
result in low bandwidth scenarios.

Change-Id: Ia8af8692cffd133db3838693fd85ded2442b078c
2017-03-15 16:55:45 +00:00
James Zern 66ee4402d0 aom_encoder: enable floating point exceptions
with --enable-debug (CONFIG_DEBUG) when available

BUG=aomedia:388

Change-Id: I5dd0718d6bd0ba17bc1b52d5842e250244d2d1d8
2017-03-11 14:52:22 -08:00
James Zern 4ab325c32d Revert "aom_encoder: enable floating point exceptions"
This reverts commit 48c10c7d91.

Reason for revert: this incorrectly detects feenableexcept for
i686-w64-mingw32 (at least), causing the link to fail

BUG=aomedia:388

Change-Id: I141fec2285bd67d1312f1eb6be528cc69108cd27
2017-03-11 22:12:40 +00:00
James Zern 48c10c7d91 aom_encoder: enable floating point exceptions
with --enable-debug (CONFIG_DEBUG) when available

BUG=aomedia:388

Change-Id: I3b67aedc519043e3215b4ee41503b34297aa32ce
2017-03-11 02:03:19 +00:00
Ryan Lei 41fc0c66ca add 15 tap filter in the parallel_deblocking experiment
this change added back the original 15 tap filter from VP9 back into
the parallel_deblocking experiment. when transform size of both blocks
along the edge is greater than 16x16, 15 tap filter is used.

Change-Id: Ieae0393b66b1168572292bcebabd2707058b7f1d
2017-03-10 17:22:29 +00:00
Tom Finegan 443e6aeb69 Support the analyzer on all targets.
Move the analyzer setup to process_toolchain() in configure to
ensure the {CXX,LD}FLAGS are picked up for all targets.

Change-Id: I037f52406c19a42ddd848adad2f43d3a49b00ded
2017-03-10 16:32:20 +00:00
Urvang Joshi 4487747736 [Reland] Enable ALT_INTRA experiment by default.
This tool was adopted in the AOM codec WG call on 03/03/2017.

Resubmitting, now that the log2() use has been removed:
https://aomedia-review.googlesource.com/#/c/8463/

Change-Id: Iec4cff00ea901ab3ed6ed703599ef41c3f860ca1
2017-03-10 01:19:54 +00:00
Nathan E. Egge 2693ca5283 Add frame inspection data to the analyzer.
Change-Id: I753b51a1ae9759086198c7433410717296f61c20
2017-03-09 21:57:05 +00:00
Tom Finegan 0a4bc8d39c Remove the av1_postproc flag.
It was touched only in configure, and then only for dist dir naming.
No source level changes.

Change-Id: I5b6134ad800c74d0f022441553da99ab97311b79
2017-03-09 20:52:55 +00:00
Nathan E. Egge 1a0d5ea03e Add analyzer to build system.
Change-Id: I93da53eae42d91419cc5bb4d55e7ce87eadd2551
2017-03-09 19:50:56 +00:00
Alex Converse d5f51b33e1 Auto-detect wxwigets
Change-Id: I9f9140ed187cd82517481df95c5c98eebffa51a0
2017-03-09 16:21:32 +00:00
Nathan E. Egge f4fa01e9a9 Port Daala stream analyzer to AV1.
This ports the wx-widgets stream analyzer from Daala to AV1.
Currently, this supports playback, zooming, and printing bit accounting
 statistics to stdout.
The configure script does not yet build the analyzer, to compile it:
 g++ -I. examples/analyzer.cc video_reader.c ivfdec.c tools_common.c \
 libaom.a `wx-config --cppflags` `wx-config --libs` -o analyzer

Change-Id: I0e4288d52a103850b255f226f398892cc50d29e8
2017-03-09 16:21:32 +00:00
Yaowu Xu 2729178bee Revert "Enable ALT_INTRA experiment by default."
This reverts commit 8e55c2ebc7.

This change causes unit tests to fail (test_intra_pred_speed)
/ crash (x86-linux-gcc) with no experiments enabled.

BUG=aomedia:384

Change-Id: I5c8c51a9fe33287c2a4d8b9985ca97388b8790c8
2017-03-09 07:41:53 +00:00
Tom Finegan f80a5e22cf Remove temporal denoising flags.
- Remove {av1_,}temporal_denoising feature from configure.
- Remove CONFIG_{AV1_,}TEMPORAL_DENOISING from cmake build.

Change-Id: I5ed823c0fcc9a2e1be8ce495fe55c321da206c51
2017-03-08 23:02:21 +00:00
Urvang Joshi 8e55c2ebc7 Enable ALT_INTRA experiment by default.
This tool was adopted in the AOM codec WG call on 03/03/2017.

Change-Id: I253e9cf0bd7471940f6bf5ef7f9cceb9ee72c708
2017-03-08 22:34:34 +00:00
Tom Finegan 58833e6046 Remove the multi_res_encoding flag support from build system.
Does nothing; clean up patch.

Change-Id: Ic96f9a70dc2d947b406cd50cd00878ce8b2c1ca0
2017-03-07 09:31:58 +00:00
Tom Finegan 3cc079179a Remove vestigial remnants of dequant_tokens experiment.
Change-Id: Ida916960e1291a560d96e9ebcbea602c78392d8d
2017-03-07 09:31:58 +00:00
Tom Finegan 4afb425bc4 Remove vestigial remnants of dc_recon experiment.
Change-Id: I4553666b3f162b7a4017a9c6b81bac24a0206cd6
2017-03-07 09:31:58 +00:00
hui su 0d103578b8 Fork the entropy experiment
Split it into two experiments:
q_adapt_probs: multiple initial coeff prob tables based on q-index
subframe_prob_update: multiple backward prob updates within frame

Change-Id: I78041ebd4ba34afc9152f6861225f63c2e8eb686
2017-03-07 01:29:20 +00:00
Thomas Davies 74b2643e95 Enable tile groups by default.
ext-tile is incompatible, so when it is enabled, tile groups
will be disabled.

Change-Id: Ibf1728a7b576c7c6ad92a2a0de3145a8ecbed6d8
2017-03-03 16:08:01 +00:00
Nathan E. Egge 2cf03b1a1a Add a simple frame data inspection API.
This patch adds a decoder control that exposes frame data via a simple
 callback.

Change-Id: Icae73ae6b5da8a7783db9fadb1fff4a85d77174b
2017-03-03 00:27:36 +00:00
Sebastien Alaiwan 58f801755e Remove dead option from configure script.
Change-Id: I93bfff59810fe2d8e880012de02921ae857f300b
2017-02-27 17:16:10 +00:00
zhipin deng eb019b877c add --enable-mv-compress to reduce the storage of temporal mv candidate
Change-Id: I5a2469d10f7295f1b8a6bea64e36b8325c8dca22
2017-02-25 20:35:04 +08:00
Jingning Han 6683a21368 Add tpl_mv experiment flag
Add temporal motion vector referencing experiment flag.

Change-Id: I9a0fced67f4f94071bd6a38eacf9e4f311099c79
2017-02-25 00:47:30 +00:00
Angie Chiang c21acce2b9 Add lv_map experimental flag
This is for level-map coefficient coding experiment

Change-Id: Id16c64da3749c91558824f98bdfe4c4982cd03cc
2017-02-24 18:54:47 +00:00
Fangwen Fu 33bcd117ec improving palette throughput
* code the palette color index using 45 wavefront
* interleave the coeff and palette color index in
  transform block level
* the above change does not change code efficiency

Details: 
The 45 wavefront scan allows to compute the ctx of
the diagonal samples' indices  at the same time. 
Interleaving palette indices and palette residual
on a transform block basis means that the entropy
 decoding and further processing of the palette 
residual is not delayed by the entropy decoding 
of all the color indices of the palette encoded 
block.
Change-Id: Ie9f576002a9a68394b99c23b01e9730df06df070
2017-02-24 18:23:58 +00:00
Sebastien Alaiwan 9837813785 Allow disabling the 8-bit (low-bitdepth) operating path.
This allows compiling a codec using the same operating path (the generic
"high-bitdepth" one), regardless of the profile of the input bitstream.
For now, keep the 16-bit (generic) pixel operating path disabled by default.

Change-Id: Idd31a842b801a82c4918b1cfa7cc0bff5b11d060
2017-02-24 17:51:36 +00:00
Alex Converse 343c1399eb ec_multiysmbol: Enable by default
daala_ec now works without ec multisymbol, ec_multisymbol was accepted
at the face to face meeting. Enable ec_multisymbol on its own and not as
a carryover with daala_ec.

Change-Id: I2f9d2523decd0641be6bc476c78cfd60f2e83a02
2017-02-24 17:18:45 +00:00
Jingning Han 282f411139 Add chroma_2x2 experimental flag
Support 2x2 chroma block size.

Change-Id: I2e06b26b23bc2e2286825c1acd5a607b47b154d7
2017-02-23 20:40:05 +00:00
Urvang Joshi 3abc277ace Enable palette by default.
"palette" experiment was adopted during the F2F meeting.

Change-Id: I8f6d6864b6d729935bd0d89d10b32194d4161e4b
2017-02-23 04:23:31 +00:00
Yushin Cho 97d102eaff Enable ec-adapt automatically if pvq is enabled
Change-Id: Ib3797b7e0ea6050225a56464042deaa856f6a72f
2017-02-22 01:01:07 +00:00
Jean-Marc Valin 0143513080 Merging the dering and clpf experiments into a single experiment: CDEF
The result is identical to enabling both deringing and CLPF

Change-Id: I71db5ba9e21fcaf11ad87e94841eaf80be58c0a8
2017-02-18 21:30:54 +00:00
Rostislav Pehlivanov 002e7b7a03 Implement a new rate control system
This commit implements a new rate control system which was ported from
Daala's rate control system (which was based off of Theora's rate
control system) to the encoder. Its aim is to address the weaknesses of
the current rate control system and eventually serve as its replacement.

This is still work in progress. So far this commit only implements
support for single pass encoding for constant quality and bitrate
targeting.
Additional commits which implement two-pass support and the rest to
match the feature set of the current rate control system are coming
soon.

The rate control system hasn't been fully tuned (and will likely need
additional tuning as the encoder's development progresses) and does
contain some "hacks", to convert the quality to a quantizer value
(empirical) and to tweak the quantizer in between golden frames (which
uses some code from the current rate control system as well as code
which attempts to model what that code does), the latter of which is
only in the constant quality codepath.

Bitrate targeting works much better than the current rate control
system's targeting and will actually closely match the rate specified by
the user without the current rate control system's bursty behaviour.

Change-Id: I588fbfd2e80a3d21ce7176903115d6a96ef1700a
2017-02-17 00:18:53 +00:00
Nathan E. Egge 912672b616 Allow EC_MULTISYMBOL to be disabled with DAALA_EC.
It is now possible to use daala_ec without ec_multisymbol by running:
 ./configure --enable-experimental --disable-ec_mulitsymbol.

Change-Id: I55a0473b887846f01ef832059cdbe31aebebce05
2017-02-16 11:40:53 -05:00
Nathan E. Egge 24f1a90441 Add flag for RAWBITS to use raw bits with DAALA_EC.
The use of raw bits is now disabled by default and can be turned on with:
 ./configure --enable-experimental --enable-rawbits
This commit has a negligible impact on rate.

subset1:

master@2017-02-14T18:57:22.282Z -> no_rawbits@2017-02-14T18:57:41.977Z

   PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
-0.0000 | -0.0000 | -0.0000 |  -0.0000 | -0.0000 | -0.0000 |    -0.0000

objective-1-fast:

master@2017-02-14T18:52:48.425Z -> no_rawbits@2017-02-14T18:52:04.489Z

   PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
-0.0001 | -0.0001 | -0.0001 |  -0.0001 | -0.0001 | -0.0001 |    -0.0001

Change-Id: I01e79e9f314565a64b224ca41047f7bd7fe33f70
2017-02-15 02:30:14 +00:00
Zoe Liu b05e5d10ce Add a new experiment of REF_ADAPT
Noticed that some ALTREF_FRAMEs could have used compound modes for its
prediction but have been labeled as SINGLE_REFERENCE mode in the frame
header. This experiment is to remove the COMPOUND_REFERENCE mode from
the frame-level reference mode choices and only leave SINGLE_REFERENCE
and REFERENCE_MODE_SELECT the two choices in the frame header.

When turning on both ext-refs and ref-adapt, compared against ext-refs
itself, a small gain is achieved. In PSNR, the bitrate saving gains are
as follows:

lowres: Avg -0.120%; BDRate -0.128%
midres: Avg -0.155%; BDRate -0.128%

Change-Id: I2cfff8a6b7eaa65ef863dbdbc4dd086d3b586f8c
2017-02-11 04:48:24 +00:00
Angie Chiang 76ebf7ce16 Turn on adapt_scan by default
Change-Id: Ibf160e83e7cb1c7dce8b40e7cbead48416440974
2017-02-10 17:45:35 +00:00
Alex Converse a9598cd6bf ec_multisymbol: Split off new new_tokenset experiment
The new_tokenset experiment replaces the unconstrained tokenset with a
multisymbol alphabet in an inventive way.

Tested configurations:
new_tokenset + ec_adapt, new_tokenset, ec_multisymbol

Change-Id: I846ab2e51c2a1dc3f2f9904ed8c47a8e98f853c5
2017-02-06 21:03:01 +00:00