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

20318 Коммитов

Автор SHA1 Сообщение Дата
Debargha Mukherjee d49c5c414c Reduce max mv allowed for local warp
Reduces value from 512 to 256.

Change-Id: Ia1f924e8b0f38baee812740d7f90e6b95c6df15f
2017-04-10 17:17:04 +00:00
Jingning Han 6fc515e851 Make choose_partitioning support cb4x4
This resolves unit test AV1/AqSegmentTest failure issue in higher
speed settings.

Change-Id: I3dfe804bb47796f254bbd87e266d190fe75b85c8
2017-04-10 16:53:39 +00:00
Angie Chiang 228cc18fb7 Replace dist_has_residue by enum OUTPUT_STATUS
Change-Id: I816cada620c6fcff30955cf0e62766ce601eedaf
2017-04-09 18:44:51 +00:00
Debargha Mukherjee 1e6e130672 Add clamping to local warp parameters
Change-Id: I1665b3812726fd40326a4ac3da79dc316529e17e
2017-04-08 07:11:50 +00:00
Timothy B. Terriberry 29cdf70f04 new_multisymbol: Fix another illegal CDF value.
Thanks to Alex Converse for the report.

Change-Id: I47f6cb6de52ca31ab92de6d74a11a16063a8023f
2017-04-08 05:53:21 +00:00
Steinar Midtskogen 95a2f869c4 Make CDEF handle 4:2:2 and 4:4:0 properly
Change-Id: I6570518c16d0d7707ddf4e8e8ad1b756eb5a7648
2017-04-08 03:35:52 +00:00
Jean-Marc Valin 40c6ffc0f0 Fixes mi_wide_l2 vs mi_high_l2 errors
That should help 4:2:2

Change-Id: I299e43db5b75880294c501bc0ad322823e70590c
2017-04-08 00:42:36 +00:00
Yi Luo 49378566e5 Add extended partition size in txfm_partition_context()
Change-Id: I66fdc495b337debbc8599c9b9ae124cb27758b92
2017-04-07 23:26:31 +00:00
Jingning Han 589055540e Fix intra boundary condition for YUV444 in cb4x4
Unify the intra boundary condition in the cb4x4 mode for all the
YUV 420/422/444 formats.

Change-Id: I97f048d5d69cbe91b6b53ef2192b2d9418d2a845
2017-04-07 23:23:29 +00:00
Sarah Parker f178329191 Add gm parameter coding based on ref parameters
Change-Id: Ic2344a6475b967fa07f70b3ffad2714de657bb49
2017-04-07 22:39:42 +00:00
Jingning Han 9d53302c36 Fix active map setting in cb4x4 mode
Scale the block size in the active map with respect to the
effective mode_info size. This resolves an active map unit
test failure issue due to out-of-bound address access.

Change-Id: Idcd5c318cb475c4e43cc2a41d90028246bf25f37
2017-04-07 22:07:44 +00:00
Debargha Mukherjee 65bd6da060 Minor change in shifting for warp affine int
Change-Id: I5546263d3b3ce4c1b9b70175bc4e6a301b1c8463
2017-04-07 21:49:57 +00:00
Angie Chiang 62e54cd34a Expand av1_encode_block_intra in block_rd_txfm
This will make the code a bit complicated, but it will facilitate
lv_map experiment

Change-Id: Ic2d4d2caac4d138aacc8a9e86e2f1b029395f1fc
2017-04-07 21:45:47 +00:00
Yushin Cho 749c057ae3 Fix pvq for ext-tile
Change-Id: I2011f113cf6a66a766c1c754b4d47e913ba54689
2017-04-07 19:19:52 +00:00
Urvang Joshi 982d985297 Remove an obsolete comment about intra mode tree.
Change-Id: Ie3cbc3161c202724c0c0d500c908206f3639ac4d
2017-04-07 18:57:39 +00:00
Yue Chen ff61610f31 Simply calculation of sample projections in WM+GM
Directly use mbmi->mv[0] since the displacment of block center has
been calculated according to GM/WM model and stored in mbmi->mv[0].

Change-Id: I09bc88832d80197fccbb1df1518ad33fafa9756f
2017-04-07 18:30:59 +00:00
Debargha Mukherjee 604d846a04 Do not warp for warped-motion neighbors with obmc
Adds an option to disable warp when obmc is used with a
warped motion neighbor.
This change will reduce the line buffer requirement for
mode/mv information since the warping parameters no longer
need to be stored.

Results: 0.05% increase in BDRATE on lowres

Change-Id: I98bd2dcdbbcd47e44f199803ed8996b0f3fd1756
2017-04-07 18:26:42 +00:00
Jingning Han d3a6443df0 Rework sub8x8 chroma reference check to support non-420 format
Make is_chroma_reference() account for all the YUV420, 444, and
422 formats.

Change-Id: Ia87e51894493dcea86843194a34e5de05799248a
2017-04-07 18:05:52 +00:00
Angie Chiang 5106e283af Add dst_has_residue to dist_block()
Instead of using inter/intra to determine the dst buffer has
residue or not, we use dst_has_residue.

This will provide us more flexibility to do experiment.

Change-Id: Ib1de1076cf1ea327df9003a9a149957ecb4c0a3c
2017-04-07 18:00:27 +00:00
Angie Chiang a4fa1909d8 Expand choose_tx_size_fix_type
This CL actually makes the code more complicated but it will allow
us to break the framework of searching tx_size with fixed tx_type

I will find a way to simplify the code later.

Change-Id: Iae933a40d0c7eb9ec65b34ebfd9d543423f304aa
2017-04-07 18:00:27 +00:00
Angie Chiang 2d147c1603 Add skip_txfm_search() for transform prunning code
This will make choose_tx_size_fix_type() more straightforward

Change-Id: Iaf2344f5742666104b08c3e3673223e197bf482e
2017-04-07 18:00:27 +00:00
Steinar Midtskogen daab348db1 Restrict dering thresholds and add damping to RDO
High latency, cpu-used=0:
   PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
-0.0947 |  0.0968 |  0.1203 |  -0.0325 | -0.0648 | -0.0290 |    -0.0099

Low latency, cpu-used=0:
PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
-0.0635 |  0.1315 | -0.0771 |  -0.0122 | -0.0598 |  0.0111 |    -0.0362

High latency, cpu-used=4:
   PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
-0.1178 |  0.0026 |  0.1003 |  -0.0609 | -0.1287 | -0.1119 |    -0.1249

Low latency, cpu-used=4:
   PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
-0.0404 |  0.0547 |  0.0976 |   0.0042 | -0.0585 | -0.0234 |    -0.0245

Change-Id: I48bcdb4d3d27512160ae1e1a36308dd62cf54c59
2017-04-07 04:49:00 +00:00
Debargha Mukherjee fdbe3f7ba2 Allow both Wiener or sgrproj to be forced on
Minor refactoring to force only Wiener or Sgrproj to be
used for luma.

Change-Id: I81d6f5dbf0fbc07252b9c57b43a035b90c5699af
2017-04-07 04:42:49 +00:00
Michael Bebenita 2c2e561649 Add tile support to inspection API
Change-Id: I7b6847adb031d1c866742eec0c512ef9cc26f2c8
2017-04-07 03:28:43 +00:00
Yue Chen 8636da613b Disable OBMC + compound
Disable OBMC mode if the current block uses compound prediction.
Results if we only disable this combination for small
block sizes are also listed.

Loss of gain (lowres/midres/AWCYHL)
no compound :         0.230%/0.105%/0.15%
no compound <= 8x8:   0.043%/-0.016%/0%
no compound <= 16x16: 0.153%/0.029%/0.05%


Change-Id: I94c9d704172dd02e53f3b2004a8032a4f1265057
2017-04-06 22:27:52 +00:00
Urvang Joshi 1c2479747c av1_has_bottom() Bugfix.
This function was incorrectly using transform width instead of height.
The bug wasn't caught yet, because all calls to this function currently
use square transform sizes only.

Change-Id: Id206c64aa26a8deecbbf90844220ad2f93230c15
2017-04-06 22:23:49 +00:00
James Zern 859931ed9d variance_neon: sync variance*() w/c,sse2
removes some unnecessary casts and adds a few explicit uint32 ones for
larger sizes to quiet -Wshorten-64-to-32 warnings

ported from libvpx:
e372bfd5a variance_neon: sync variance*() w/c,sse2

Change-Id: I63c5fce8e62c426d5cf5c10a66a113c119a43518
2017-04-06 22:21:47 +00:00
David Barker 521383ae59 Add SSSE3 highbd warp filter
Change-Id: Ic3b8508c3364aecff1b2f53c7246a5e381b63018
2017-04-06 22:00:10 +00:00
Angie Chiang 607550ea0f Fix seg fault introduced in dist_block()
BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=420

Change-Id: I20ae2fda1e545018329373bc3c29764cfd6935e9
2017-04-06 20:56:04 +00:00
Angie Chiang 44d7e669bd Use av1_inverse_transform_block in encode_block
Change-Id: I7eaff4fd5ee24d6e1138ad8d241dbb63a697961f
2017-04-06 20:56:04 +00:00
Yushin Cho 08195cc6f5 Use av1_inverse_transform_block() whenever possible
Change-Id: I8ab3e3b15a3ee4890d80595fbde554bfb4ac365a
2017-04-06 17:40:58 +00:00
Jingning Han 679a6be8ee Fix compiler error in sub8x8mc
Change-Id: Iab9c6dce5157b5e6ed1fa1046c28a8ebda90e73b
2017-04-06 16:49:13 +00:00
David Barker 2bcf280e7b Prepare for vectorizing highbd warp filter
This applies the same refactorings to highbd_warp_plane
which were applied to warp_plane a while ago, and lays the
groundwork for the relevant tests.

Change-Id: Ic4c00bce1accc5a3624bba0c3b4b325e69a42c1a
2017-04-06 16:46:09 +00:00
Timothy B. Terriberry 417f58a664 new_multisymbol: Fix some illegal CDF values.
The probability of several of the symbols used for extra bits for
category 6 tokens, which as far as I can tell are legal to code,
was set to zero, and in one case even negative.

Change-Id: If6bd539b53889d75f974d444d666ed031faf18e0
2017-04-06 14:47:11 +00:00
Thomas Davies b2f32d8193 Make EXT_TILE work with EC_ADAPT.
Use tile contexts for coding in the EXT_TILE case too.

Change-Id: Iab7982682dfb8615d2f6af7c03d92c6910536bc9
2017-04-06 10:58:17 +00:00
Timothy B. Terriberry 439f230997 new_tokenset: Fix out-of-bounds reference.
cdf_head[i - 1] is not defined for i == 0.

Change-Id: Ia071cd9db939497be331978a0fc64c6fa0cd528d
2017-04-06 05:17:03 +00:00
Jingning Han 29a4120691 Make var-tx work with the re-designed cb4x4
Resolve tokenization and bit-stream packing issues in var-tx
when the re-designed cb4x4 is enabled.

Change-Id: I651f776104679eb7d4d0681f428490f668dc806a
2017-04-06 00:06:58 +00:00
Tom Finegan 8bb2c4a2bf Update cmake build defaults to match legacy build system.
BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=76

Change-Id: Iab6216378146b3e6349cbfc8598e518e5c1612af
2017-04-05 23:54:50 +00:00
Tom Finegan 57338fc84d Support CONFIG_WARPED_MOTION in the cmake build.
BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=76

Change-Id: Iba1c63b077e0874d0cb639a6e0c9d66cd423af00
2017-04-05 23:54:43 +00:00
Jean-Marc Valin 19339a7891 Fixing CDEF right and bottom tile boundaries
We just get the top and left flags from the next superblock

Change-Id: I2ea59541edaa46208f3328cc118ebdc7cc2cde08
2017-04-05 20:35:14 +00:00
Angie Chiang 8f6ddeca4c Clean-up block_rd_txfm
Merge the calculation of intra mode into dist_block()

Change-Id: I97ffc42ba0260355385fd636ca13ec6dd0949e9c
2017-04-05 12:21:26 -07:00
Angie Chiang c0cf6c0bc7 Use src_diff to calculate sse in dist_block
This will allow us to merge the dist/sse calculation of
inter/intra modes

Change-Id: I3047d4bd0a068250544c5c9d2b47a580c7e243e6
2017-04-05 19:20:36 +00:00
Tom Finegan c3d34ff96d Add some missing preproc flags to non-msvc cmake targets.
- -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0
- -D_FILE_OFFSET_BITS=64
- -D_LARGEFILE_SOURCE

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

Change-Id: I9b1430d3aebf1455c6401f2df3d571fc5bb0d264
2017-04-05 18:17:28 +00:00
Tom Finegan 0a4ef080a4 Add install rule to cmake build.
This omits pkg-config related bits, but works otherwise.

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

Change-Id: Ib49c5231824b235923fcc610eebf89bf4676b13e
2017-04-05 18:14:08 +00:00
Tom Finegan e4a747d2ba Allow control of cross compile prefix in cmake arm linux builds.
Via the CROSS CMake variable. Supported in the armv7 and arm64
cmake toolchain files.

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

Change-Id: I37587aeaf6e773c5f7b3f5fa67277ddc44c9195a
2017-04-05 18:12:50 +00:00
James Zern 05d9f5390d test/test.cmake: fix parse error
broken since:
05a12ea97 Refactored warp_filter_test to allow reuse by external tests.

Change-Id: I4e562e3e4e6d06ffebb579167b11267ae5630c98
2017-04-05 18:12:29 +00:00
Yushin Cho c49ef3a15f PVQ uses backward updated context in a tile
In the beginning of encoding and bitstream packing,
the frame context in common of codec is copied to the frame context
in each tile.
Initial prob and context is based on flat probability and
does not come from table at the moment.

The bd-rate change for the test set objective-1-fast
on awcy with high delay mode is:

PSNR   PSNR  HVS  SSIM  CIEDE 2000  PSNR Cb PSNR Cr MS SSIM
-0.77  -1.05      -0.74 -0.67       -0.67   -0.77   -0.88

Change-Id: Ic9105ac68aceb7486cb5f6f1c0b19df5853f2cb9
2017-04-05 17:57:38 +00:00
Yushin Cho b188ea1402 Add PVQ frame context in common and tiles.
In preparation for enabling backward updates of contexts for PVQ.
1. Default prob setting for PVQ,
which is based on flat probabilities at the moment.
2. At the end of encoding a frame, average probablities and expected values
of PVQ are copied to the frame context.

Change-Id: I1d087b98e6b0d55ebf8aef696dd986f88197cedf
2017-04-05 17:57:29 +00:00
Yushin Cho 1238137c3c Change PVQ's generic coder to use dyadic and ec_adapt adaptation
Change-Id: I23b035340ed16b85a12856256d3115f19700dfb3
2017-04-05 17:57:17 +00:00
Yushin Cho 52168e9d77 Change PVQ's gaintheta symbols to use dyadic and ec_adapt adaptation
Change-Id: I367d5561f53f60df42c3ff6f334b1441c85788bd
2017-04-05 17:57:03 +00:00