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

19847 Коммитов

Автор SHA1 Сообщение Дата
Yaowu Xu 1e2aae1ae7 Use correct segment
Segmment based lossless flag is used in select transform size, this
commit fixes a bug where wrong segment_id is used in such selection.

BUG=aomedia:350

Change-Id: Ibc981c779739849bac00447155180abbd319eb28
2017-02-27 16:59:28 -08:00
Yaowu Xu cdf8a14e85 Move asserts into correct scope
The macro used in assert is defined under CONFIG_VAR_TX. This fixes a
build issuse when --enable-var-tx and --enable-rd-debug are both on.

Change-Id: I497fe4a8b1fa6c7b05ac2b41c97522f7bdedc0ce
2017-02-28 00:52:35 +00:00
Angie Chiang 44701f2cff Remove redundant return in set_offsets
Change-Id: Idf8f03052a7e21b8a273986204038545573d7962
2017-02-27 14:36:02 -08:00
Debargha Mukherjee f6dd3c6827 Better block center in gm_get_motion_vector fn
Also supports homography models for future experiments.

Change-Id: I4510540f54133e063891ed491c95c087222f7810
2017-02-27 21:57:19 +00:00
Adrian Grange d152fc044b Remove unnecessary #ifdef
The line of code is already within the scope
of an #if CONFIG_EC_MULTISYMBOL.

Change-Id: I62e28c8586f5d04a1e1be4ea5a2551d3123fde9f
2017-02-27 20:52:08 +00:00
Debargha Mukherjee 094c9439d9 Adds macro to test cb4x4 w/o sub8x8 txtype search
USE_TXTYPE_SEARCH_FOR_SUB8X8_IN_CB4X4 macro added to turn
tx_type search on/off for sub8x8 in cb4x4 mode.

The purpose is mainly to analyze the coding gains from cb4x4
but this later can be made into a speed feature as well.

Change-Id: Ic22026c373eebba87f324689ac5686a2844315b6
2017-02-27 20:50:13 +00:00
Debargha Mukherjee e6eb3b53c3 Integerize warped motion computation
Integerizes computation of the least squares for warped motion.
The model is restricted to only Affine. Affine seems easiest
to compute and integerize since it can be split into two 3-dim
least squares problems, as opposed to rotation-zoom which needs
a 4-dim least-squares problem to be solved.
The current implementation requires only one division per block.

BDRATE impact is mminimal. The upgrade to the affine model improves
coding efficiency but integerization also degrades efficiency a
little. Overall there is a net gain of about -0.07% BDRATE on
the lowres set.
BDRATE lowres: -1.113% with ----enable-warped-motion vs. without
(up from -1.044%).

Change-Id: I6b9216ac0737d76f59054293eabee48e17739ec4
2017-02-27 20:49:42 +00:00
Tom Finegan 4db04d3678 Move cmake build setup for testing into test/test.cmake.
- Move source list vars.
- Split source list vars into common/decoder/encoder sources.
- Move target definitions into function.
- Split targets into common/decoder/encoder targets.
- Update CMakeLists.txt to include test.cmake and call
  setup_aom_test_targets() at the appropriate time.

BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=76

Change-Id: Icd9ce67593c2de7ebd5c8ef921e31517b6d20945
2017-02-27 12:06:40 -08:00
Yaowu Xu 7640f5f396 Remove const from int ext_tx_set
The variable was later assigned value in the function.

Change-Id: I93f283a134499a050b46d9dcd6f0c0b4e8d54049
2017-02-27 18:39:32 +00:00
Angie Chiang 7fcfee4080 Prefer using get_tx_size()
Change-Id: Ifcdd3ce2953c1ecb1d0962da412a4b5ba2cda912
2017-02-27 18:19:41 +00:00
Yaowu Xu 345a22db54 Correct a macro
--enable-lowbitdepth defines the flag CONFIG_LOWBITDEPTH, not
CONFIG_AOM_LOWBITDEPTH.

Change-Id: Ifa1c12847bee4978d08d010f4fc3601d75e59c31
2017-02-27 18:07:57 +00:00
Sebastien Alaiwan 58f801755e Remove dead option from configure script.
Change-Id: I93bfff59810fe2d8e880012de02921ae857f300b
2017-02-27 17:16:10 +00:00
Alex Converse 7f094f10aa Remove aom_realloc()
It only handles the realloc constraint (preserving low elements) by
serendipity, and we don't actually rely on that behavior anyway.
Meanwhile the calls may do extra copying that gets immediately clobbered
by the callers.

Cherry-pick from libvpx:
3063c3760 Remove vpx_realloc()

Change-Id: I8dfa89e4a81084b084889c27bd272fdf85184e8d
2017-02-27 16:59:25 +00:00
Alex Converse 232e38475c loop_restoration: Cleanup allocations
Change-Id: Id3824c09cbaae814df1d8fb029215f28e8c7a6b1
2017-02-27 16:59:25 +00:00
Steinar Midtskogen 4305e6be8e CLPF: Add quality dependent damping in the constrain function
PSNR YCbCr:  -0.17%     -0.03%     -0.40%
APSNR YCbCr: -0.17%     -0.02%     -0.39%
PSNRHVS:     -0.06%
SSIM:        -0.17%
MSSSIM:      -0.07%
CIEDE2000:   -0.12%

Change-Id: I69a4b6a4e18c22c3930069396540a6fee45cb30d
2017-02-27 08:06:02 +00:00
James Zern ee4b3a80db blockd,decodeframe.c: remove unused tu_num_y var
Change-Id: Idd4a7ff49c594e8d1c7cb057967fe7bf75770dfb
2017-02-25 16:10:28 +00:00
James Zern 4ef9a13020 entropy.c,build_head_cdfs: remove dead store
Change-Id: Ie27b46248a3555c1182a97592d7aa7209acfae3c
2017-02-25 16:07:46 +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
Timothy B. Terriberry 4e6a8f301d Fix signed left-shifts added in e93acb2d22.
Since we now require C99, this is undefined behavior.
Thanks to Luc Trudeau for the report and Alex Converse for the
suggestion on how to make the macro safe for all integer sizes.

Change-Id: I99a1342dfedb3e17a6869269be317c2ed26bfe9b
2017-02-25 03:45:27 +00:00
Angie Chiang cea11f2aee Add transform coefficient decode function
Change-Id: I222b5ce9ee1a1c1aac5620b94835967dd9a014c1
2017-02-25 01:05:48 +00:00
Jingning Han 8cf83640eb Use bottom and right blocks' mv for referencing
This commit enables the motion vector referencing system to use
the motion information of blocks to the bottom and right of the
collocated block. This improves the compression performance by
0.3% for lowres, midres, and hdres sets.

Change-Id: I03b3fb21f3a8698880ca9ceb945fa3e32531acdb
2017-02-25 00:47:30 +00: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
James Zern 751f26a4f9 aom_dsp/get_prob: relocate den == 0 test
to get_binary_prob(). the only other caller mode_mv_merge_probs() does
its own test on 0.

cherry-picked from libvpx:
93c823e24 vpx_dsp/get_prob: relocate den == 0 test

Change-Id: Ie0604ad405a97ed754e4b88c6d580eb4894ea0f6
2017-02-24 23:43:30 +00:00
James Zern 563101967a aom_dsp/get_prob: make clip_prob branchless
+ inline the function directly as there was only one consumer
(get_prob())

this is an attempt to reduce the amount of branches to workaround an amd
bug. this change is mildly faster or neutral across x86-64, arm.

http://support.amd.com/TechDocs/44739_12h_Rev_Gd.pdf
665 Integer Divide Instruction May Cause Unpredictable Behavior

cherry-picked from libvpx:
7481edb33 vpx_dsp/get_prob: make clip_prob branchless

Change-Id: I433059c61ce43ec5058cc16ca590d186bfa8aab5
2017-02-24 23:43:30 +00:00
Alex Converse 19d78227d3 Resolve -Wshorten-64-to-32 warnings in prob.h.
cherry-picked from libvpx:
d089ac4dd Resolve -Wshorten-64-to-32 warnings in prob.h.

Change-Id: Ib8ace4d969daf7af915aba89393d5d7740f6e373
2017-02-24 23:43:30 +00:00
Angie Chiang 80b82269d0 Add lv_map transform coefficient coding function
Change-Id: I70c3659940b5090f030c795df5148ac508e19d2d
2017-02-24 23:20:46 +00:00
Angie Chiang 971a596387 Add txb_common.h
This file includes common context generating functions of lv_map.

Change-Id: I7aea78e48cd5003738445b5635120cbc3825ef05
2017-02-24 23:20:46 +00:00
Angie Chiang bd57fc5542 Add probability/count tables for lv_map experiment
Change-Id: Ie73bb51d4a24c2ff719758c38e303db92e6f4500
2017-02-24 23:20:46 +00:00
Tom Finegan 1d848474ff Make updates to aom app targets in cmake additive.
Don't smash the value when assigning in CMakeLists.txt in
case the list needs an update from elsewhere in the build.

Change-Id: Icf1720f6bb4508e6a557c16dc229170f82d740b9
2017-02-24 14:22:00 -08:00
Luc Trudeau 98bc74ca5f Remove redundant loop in ctx_reset
Merges two consecutive loops that iterated over TX_SIZES. There's no
impact to the bitstream. The 4 used as the termination threshold in the
second loop is equivalent to TX_SIZES.

Change-Id: Ic891d209b28f20907d53bcdd58139fe39c37b0fa
2017-02-24 20:55:39 +00:00
Thomas Davies 1bdcc775f6 Make entropy experiments compatible with TX6X64 and CB4x4.
Use correct probability initialisations for EC_ADAPT and
NEW_TOKENSET.

Change-Id: I28310d40eab544cd57a11ce88eb8b7ab31e69ec7
2017-02-24 20:31:07 +00:00
Thomas Davies 05fdc391f3 Use default CDF tables when initialising mv probs.
No change in BDR.

Change-Id: Ib6934b59de340e68dd983d9f53f8878588969acb
2017-02-24 19:21:58 +00:00
Thomas Davies 1d7db728ae Use default CDF tables when initialising mode probs.
No change in BDR.

Change-Id: I77551120a2e94dcbf818b039154495f0f9b21755
2017-02-24 19:21:48 +00:00
Michael Bebenita e68620049e Clear MMX FP state in PVQ code.
Not clearing the FP state was causing acos to return NaN on OSX / LLVM.
This was not causing problems Linux or AWCY.

Change-Id: I278d02839e4de858b5f55cfb380fa3968937995e
2017-02-24 19:18:00 +00:00
Thomas Davies 87aeeb8599 Use default CDF tables when initialising coef probs.
When creating the CDF head, do not use 8-bit probabilities
to make the CDF tables, but load them directly.

CDF tail values are created from the ONE_TOKEN relative
probability as before.

No change to BDR.

Change-Id: I7386b8952f6f69cc9b77aa1b2bee71cf8e3cc9ff
2017-02-24 19:05:01 +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
Thomas Davies f3eb840a56 EC_MULTISYMBOL: make all CDFs have a extra element.
This will make it easier to add native CDFs for all the
dependent experiments without excessive macros.

Change-Id: Iee4710f0fe1c1b4300f686cdf2c5b879a36de987
2017-02-24 11:34:10 +00:00
Luc Trudeau 005feb6bcc Add get_plane_type() helper function.
Adds the static inline function get_plane_type to convert a plane number
to the corresponding PLANE_TYPE.

There's no change to the bitstream, it only encapsulates the logic to
get the PLANE_TYPE.

Change-Id: I1199db3a32c89437d9c029ab5b2b2e62582a13a2
2017-02-24 02:58:19 +00:00
Angie Chiang d59fa2ae1b Use 10 tap for sharp interpolation filter
Performance drop
lowres 0.056%
midres 0.024%
hdres 0.02%

Change-Id: I52d067eefbfb87198319f9d50e3b4060f80a6abb
2017-02-24 02:05:33 +00:00
Angie Chiang 0a2c0cbc65 Let hbd conv func be flexible
This CL allow us to change filter coefficients easily for SIMD
implementation of high bitdepth convolution functions

Change-Id: I454a5c76d3ba9e4454118c6a9d87737b3aa24898
2017-02-24 02:05:33 +00:00
Jingning Han 2b0eeb16b1 Fix a compiling error in ext-tx and var-tx
Change-Id: Icd4cd42b1b9fa9066cda3e33e487298c8d802546
2017-02-23 15:57:11 -08:00
Jingning Han 1857cfa1e8 Remove recon_variance variable from MACROBLOCK
Skip redundant computation of recon_variance value.

Change-Id: I0ea1a3528f8bdc7095d9cc458ce0bd3a958989b4
2017-02-23 23:31:38 +00:00
Jingning Han b5bb3ff96c Remove unused av1_build_inter_predictors_sbp()
Change-Id: I43207cabac921fee77d19855abe49868dfd98bd1
2017-02-23 23:31:27 +00:00
Sarah Parker 5effe3fbc7 Avoid sending tx type for ext_tx reduced set for sub 8x8
This makes the handling of sub8x8 the same as when the
ext_tx reduced set is turned off.

Change-Id: I3123e473fc70469330bb49d960d02cb1aebc17cf
2017-02-23 22:34:58 +00:00
emilkeyder@google.com d8941da537 Remove inlier_map argument from ransac methods.
Change-Id: I111180626f51a866f6b3ba17d17156d74ad53d57
2017-02-23 21:13:40 +00:00
Jingning Han 31b6a4f9b2 Add chroma 2x2 block experiment
Support the use of 2x2 prediction and transform block size for
chroma components. This experiment builds on top of cb4x4. It
brings back the loss in performance gains due to 4x4 chroma
component constrain. The coding gains for lowres are up from 1.5%
to 2.5%.

Change-Id: I8e461e230c2d920f6df1af9d935ebe9dfa3820d9
2017-02-23 20:40:05 +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