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

24 Коммитов

Автор SHA1 Сообщение Дата
Alex Converse cc54efdde8 intrabc: Use max mesh range (256) at speed zero
BD-RATE PSNR twitch-1 1st KF: -0.1334
BD-RATE PSNR wikipedia 1st KF: -8.8791

Change-Id: I882af1d317ebdd3017c23fb884fc624282a2a55f
2017-06-08 22:36:32 +00:00
Thomas Daede 1206a685dc Re-add encoder speed 8, but without VAR_BASED_PARTITION.
Partial revert of "Remove encoder speed 8 in AV1"
6c29f464e4.

Change-Id: I474e26700047854353347ce97cc7d545e3ca0642
2017-05-09 22:17:17 +00:00
Debargha Mukherjee 2a9d746c09 Add speed feature to control global motion compute
Adds a speed feature to control which references to use
to compute global motion.
Also adds logic to not compute duplicate sets of
parameters when reference frames point to the same
buffers.
Includes some renaming of functions to set good speed
features to make things clearer.

Change-Id: I641d33441fde98af18cad8d4db49cf7d5d153ead
2017-05-05 22:26:21 +00:00
Alex Converse 3a169875f4 intrabc: Relax exhaustive mesh search constraints
Overall:
   PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
-0.1042 | -0.0564 | -0.0941 |  -0.1142 | -0.1115 | -0.1071 |    -0.0795

On wikipedia_420.y4m:
   PSNR | PSNR HVS |    SSIM | CIEDE 2000 | PSNR Cb | PSNR Cr | MS SSIM
-2.9491 |  -3.3248 | -3.2374 |    -2.8735 | -2.9295 | -2.4755 | -3.3194

Change-Id: Icf95d4afcb13118db41d51b5f7fb80e48908509a
2017-05-02 18:06:14 +00:00
Yunqing Wang 6c29f464e4 Remove encoder speed 8 in AV1
Speed 8 called rd_use_partition(), that was from VP9 and was not well
maintained. This patch removed speed 8 in av1 and the unit test.

BUG=aomedia:478

Change-Id: I1379b0327c0283a096680607de0e2b774cea88d0
2017-04-28 18:13:42 +00:00
Yunqing Wang ff4fa0687f Add the motion vector unit test
This unit test was ported from VP9. To prevent the motion vector out of
range bug, added a motion vector unit test. In the 4k video encoding,
always forced to use extreme motion vectors and also encouraged to use
INTER modes. In the decoding, checked if the motion vector was valid,
and also checked the encoder/decoder mismatch.

Change-Id: I1c72ea7c32a3cec9c67f1bbdc168e60507e57516
2017-04-26 03:49:46 +00:00
Alex Converse 6c5d698914 Scale up exhaustive_search_thresh to work with 128x128 partitions
Also use int instead of int64_t since sf->exhaustive_searches_thresh is
an int and we only make it smaller.

Change-Id: I38c9ebd97f085cb7ce5094dfc98942bb2171ee0f
2017-04-21 02:21:33 +00:00
Yunqing Wang d8cd55f4dd ext_tile: add 2 tile encoding modes
Added 2 tile encoding modes:
TILE_NORMAL mode supports the large-scale tile coding up to 1024 x 1024
tiles;
TILE_VR mode supports the large-scale tile coding and also the decoding
of a single tile.

TILE_NORMAL mode allows the non-vr content to be encoded in multiple tiles
without using the coding tool that are designed for vr applications.

Change-Id: Id804806a1bbcb916b7f5dc7e2c5509d88f3defcb
2017-04-20 00:10:33 +00:00
Thomas Daede 8082614e81 Remove rt deadline.
The "good" speed levels are universally better than the "rt" ones,
running faster to achieve the same quality.

rt mode also turned off alt refs and lag-in-frames, but these
are still accessible separately (and the low latency test case
explicitly sets them).

Some features were used by the rt scale and not the good scale.
Two additional "good" levels, 7 and 8, were added to accomidate
these features and not reduce test coverage.

Change-Id: I3a6a78ddb664511762c197bc41f3a9909665b565
2017-04-17 23:17:34 +00:00
Zoe Liu c670e82f11 A temporary fix on the RAM issue for upsampled referencing
When ext-refs is on, the encoding of HD videos, e.g. 1080p sequences
will cause the failure to allocate up-sampled frame buffers. This CL
temporarily turn off the use of upsampled references when ext-refs is
on for any video resolution larger than 720 in either dimension. A
more effective scheme for up-sampled referencing should be later
considered.

With the fix, the AWCY performance gains of ext-refs, vs baseline are:

PSNR Y
Average -2.55%
1080p   -2.81%
360p    -2.38%
720p    -3.10%

Change-Id: Ica5e75d82190cd68e64c536503e3559f1cfdbdd1
2017-04-12 23:30:49 +00:00
Thomas Daede 6eca835fff Remove "best" deadline parameter from aomenc.
This option increases runtime by 20% and is only marginally
better than good cpu-used=0:

   PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
-0.3382 | -0.3911 | -0.4875 |  -0.2982 | -0.2992 | -0.3164 |    -0.3686

It is also not well integrated with speed_features.c, which is
the main reason for the removal.

Change-Id: If88c50367f63b860ad57f650869b978ec7734aad
2017-03-21 20:15:38 +00:00
Thomas Daede 18f77adf55 Additionally limit upscaled references to <= 720 for profile!=0.
The previous limit was <=1080p, which was sufficient to keep RAM
usage below 3GB for the 8 bit path, but turns out to be insufficient
for the 10 bit path.

Change-Id: I7a19261928a4e1a71f5f297125651113a2465d3d
2017-03-18 00:55:31 +00:00
Rostislav Pehlivanov 74021a5a64 Implement twopass support for the xiphrc system
This commit implements support for twopass encoding using the xiphrc
experimental rate control system. Most of the code and logic comes
from the theora project encoder.

Currently support is limited to the bitrate targeting mode of the
rate control system and while it does visibly improve quality and does
bring rate closer to the target than the one pass mode there's still
tuning and bug fixing to be done.

Change-Id: Iae0d65bbce5ddfbb95b436e2238a43d6100a23b3
2017-03-16 21:40:48 +00:00
clang-format 55ce9e0f35 apply clang-format
Change-Id: Ib1b5dde5d4c6479c968cd7d7a4a1d01abae1fcf6
2017-02-15 22:27:12 -08:00
Angie Chiang 8fd2d7aa69 Remove speed feature use_lp32x32fdct
Change-Id: I6ce654b582f2a9d45a40bf22ba597b47d418a0be
2017-01-04 11:08:21 -08:00
Yi Luo e4e93b632d Disable upsampled references for best and realtime quality deadline
- For resolution > 1080p, this CL also disables upsampled
  references for best and realtime quality deadline besides
  good quality deadline.
  The following CL only disabled the good quality deadline:
  https://chromium-review.googlesource.com/#/c/405761/

- The issue was found by a segmentation fault happened in 4K
  --best mode encoding test. Current CL fixes the encoder
  segmentation fault temporarily.

- Another bug is filed:
  https://bugs.chromium.org/p/aomedia/issues/detail?id=108
  to track down the segmentation fault.

BUG=aomedia:107

Change-Id: I6f4bf14762b8e92d7b501d752167414cf37a6b26
2016-12-08 20:00:34 +00:00
Debargha Mukherjee 153e1f8641 Add default 64x64 scan orders and entropy models
Adds 64x64 default scan orders
Adds 64x64 coefficient entropy models (just copy the 32x32 ones)
Entropy context updates for 64x64 transform
Various misc. changes to support 64x64 transforms

Change-Id: I2c0bc4ba540886dd196e87a78b205407ad3e866b
2016-11-18 02:56:09 +00:00
Thomas Daede a9e96d4000 Disable upsampled references for resolutions above 1080p.
Upsampled references currently increase the size of references by
64 times. This patch limits the memory used by the encoder to
about 3GB when encoding high bit depth content.

This should be re-evaluated in the future, if doing 8-tap
resampling in the motion search becomes reasonably fast, or if
the upsampled references are reduced in size (by omitting some
subpel positions and interpolating them instead).

Change-Id: I6d84ff0d6202ec46f4fa53e268e68aa808e5df85
2016-11-01 17:39:16 -07:00
Brennan Shacklett d4add7aca9 Remove encode_breakout and related speed features
Seems to be dead code

Change-Id: I17b3edc9e82d6a1da172a686522358a6b1a630e9
2016-10-25 08:56:55 -07:00
Jingning Han 775d99f07e Offset speed feature setting index
Change-Id: If201cbd4175842f68e6dcfb0414ff16ca07e0881
2016-10-19 22:55:44 +00:00
Jingning Han 3f16725ff2 Take out some early termination speed features
Drop some speed features used in speed 2 and above, during the
algorithm development process. This helps simplify the codebase.

Change-Id: I3b2f5560d90b00d2d8fd57c2cb36f6ddd3f228e4
2016-10-18 11:26:11 -07:00
Yaowu Xu 2ab7ff05f1 Change to use AOM copyright notice
Change-Id: I2b2b70e756b7eb9611b7b33b7d5f19b3b30e0a50
2016-09-02 19:52:03 +00:00
Yaowu Xu f883b42cab Port renaming changes from AOMedia
Cherry-Picked the following commits:
0defd8f Changed "WebM" to "AOMedia" & "webm" to "aomedia"
54e6676 Replace "VPx" by "AVx"
5082a36 Change "Vpx" to "Avx"
7df44f1 Replace "Vp9" w/ "Av1"
967f722 Remove kVp9CodecId
828f30c Change "Vp8" to "AOM"
030b5ff AUTHORS regenerated
2524cae Add ref-mv experimental flag
016762b Change copyright notice to AOMedia form
81e5526 Replace vp9 w/ av1
9b94565 Add missing files
fa8ca9f Change "vp9" to "av1"
ec838b7  Convert "vp8" to "aom"
80edfa0 Change "VP9" to "AV1"
d1a11fb Change "vp8" to "aom"
7b58251 Point to WebM test data
dd1a5c8 Replace "VP8" with "AOM"
ff00fc0 Change "VPX" to "AOM"
01dee0b Change "vp10" to "av1" in source code
cebe6f0 Convert "vpx" to "aom"
17b0567 rename vp10*.mk to av1_*.mk
fe5f8a8 rename files vp10_* to av1_*

Change-Id: I6fc3d18eb11fc171e46140c836ad5339cf6c9419
2016-08-31 18:19:03 -07:00
Yaowu Xu c27fc14b02 Port folder renaming changes from AOM
Manually cherry-picked commits:
ceef058 libvpx->libaom part2
3d26d91 libvpx -> libaom
cfea7dd vp10/ -> av1/
3a8eff7 Fix a build issue for a test
bf4202e Rename vpx to aom

Change-Id: I1b0eb5a40796e3aaf41c58984b4229a439a597dc
2016-08-31 17:26:24 -07:00