- 18 Feb, 2017 7 commits
-
-
Jean-Marc Valin authored
The result is identical to enabling both deringing and CLPF Change-Id: I71db5ba9e21fcaf11ad87e94841eaf80be58c0a8
-
Steinar Midtskogen authored
The ATTRIBUTE_PACKED caused something to break in MB_MODE_INFO. boundary_info got corrupted and moving InterpFilter around in MB_MODE_INFO could cause a segfault or the problems to go away (for instance by moving InterpFilter to the end of the struct). Perhaps something in MB_MODE_INFO is sensitive to alignment. This should be investigated further and get fixed or documented, but for now remove the attribute. Change-Id: Ic4326ab98fe784d9b7d2b47d8f086b8429cedee9
-
Jingning Han authored
Change-Id: I3fa9d24f2a61dd1b4a234fb1cfea679af06ebdb5
-
Jingning Han authored
Remove redundant table access. Change-Id: Ib45f9b0bafe2a0c57449e787d60e70d35f19f6c7
-
Tom Finegan authored
x86 and x86_64 support is now working for most platforms. Remove the automatic fallback to a generic unoptimized build, and require users to explicitly request generic to build a generic library and tools. BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=76 Change-Id: I7b36394dc28aa9b729d2b2504146d02f017c9a0b
-
Nathan E. Egge authored
When run with --enable-ec_adapt, forward updates to the tx_size_prob array will not be made. objective-1-fast: master-ec_adapt-e568e6f0@2017-02-17T15:30:27.109Z -> tx_size-ec_adapt@2017-02-17T15:31:49.504Z PSNR | PSNR Cb | PSNR Cr | PSNR HVS | SSIM | MS SSIM | CIEDE 2000 -0.0113 | -0.0112 | -0.0113 | -0.0114 | -0.0114 | -0.0114 | -0.0112 master-ec_adapt-robust-e568e6f0@2017-02-17T20:29:45.315Z -> tx_size-ec_adapt-robust@2017-02-17T20:33:06.405Z PSNR | PSNR Cb | PSNR Cr | PSNR HVS | SSIM | MS SSIM | CIEDE 2000 -0.0244 | -0.0243 | -0.0243 | -0.0245 | -0.0245 | -0.0245 | -0.0243 Change-Id: I5873c5d14e3f3868997775f85fa743d2d55d81b7
-
hui su authored
When ext-intra or filter-intra is enabled, the transform type was inferred from prediction mode as in VP9. Should use mbmi->tx_type instead. Change-Id: I6a8e356285a8461d67e69d38df40541d34bade04
-
- 17 Feb, 2017 11 commits
-
-
Urvang Joshi authored
We use a single enum instead of multiple #defines. - Ensures better type checking - Enum values are generated implicitly, and hard-coded #defines are not required. - We use ATTRIBUTE_PACKED to indicate that the enum should still use the smallest integral type. Change-Id: I7532428da31744d3441b363bd932a7f233ee7ab5
-
Yaowu Xu authored
Replace obselete size "4" with correct one "tile_size_bytes". This fixes a decoder crash. BUG=aomedia:352 Change-Id: I5b1c606a4d5be946acc68b3cfe0d0603a5591c44
-
Debargha Mukherjee authored
Replaces division with multiplication in self-guided filter. The guided filter requires computation of: n^2.s^2/(n^2.s^2 + n^2.e). This is now implemented by computation of n^2.s^2/n^2.e followed by using a lookup table for the function f(x) = x/(x+1). To compute n^2.s^2/n^2.e, we use an integer multiplication based implementation which becomes feasible since n^2.e can only take a few values and their corresponding multipliers can be pre-computed. There is also another divison by n, that is also integerized. Change-Id: Id7b81bbafead0b8f04a1853ec69b9dec423bb66a
-
Debargha Mukherjee authored
Adds functinoality for least-squares, RANSAC as well as encoding and decoding with new constrained homographies that warp blocks to horizontal and/or vertical trapezoids. This is for future experimentation. None of the models are actually enabled in the code. Change-Id: I1936018c6b11587d6fd83c3a2c63548cb641b33f
-
Thomas Daede authored
Change-Id: I7909756e6a7d2da817b3354d6a8cb341cdc5bf98
-
Nathan E. Egge authored
This commit produces a bit-exact bitstream because prior calls to code the tx_size using aom_write_tree() would automatically convert the aom_tree_index on the fly to a CDF. The tx_size_cdf[]'s are now computed once per frame. Based on recent tests, this patch reduces decode time by 4%. Change-Id: I920dbf036b8a9574ea6e65ae5f9c43eef1c3f864
-
Yushin Cho authored
Which was a workaround to balance the quality between luma and chroma when PVQ is enabled, by 1) skipping PVQ DC RDO for chroma and 2) using smaller lambda value (x0.5) for intra prediction of chroma, intended to spend more bits and thus improve quality for chroma. The change in metric for 5 frames of objective-1-fast is: PSNR PSNR-HVS SSIM CIEDE-2000 PSNR Cb PSNR Cr MS-SSIM -1.45 -1.54 -1.46 4.62 13.71 14.87 -1.47 For still images (subset1) PSNR PSNR-HVS SSIM CIEDE-2000 PSNR Cb PSNR Cr MS-SSIM VMAF -1.52 -1.54 -1.60 2.56 11.92 12.17 -1.52 -1.66 Change-Id: I31c4d7a7de2939f6004c112649f7303f0e944156
-
Jean-Marc Valin authored
Low-latency: masterfix-ll-dering+clpf@2017-02-14T02:31:30.023Z -> masterfix-ll-dering-nosecond@2017-02-16T21:30:38.937Z PSNR | PSNR Cb | PSNR Cr | PSNR HVS | SSIM | MS SSIM | CIEDE 2000 -0.1151 | -0.2440 | -0.1287 | -0.0454 | -0.1130 | -0.0632 | -0.1206 High-latency: masterfix-dering-clpf@2017-02-16T21:28:58.511Z -> dering-nosecond+clpf@2017-02-15T23:46:08.501Z PSNR | PSNR Cb | PSNR Cr | PSNR HVS | SSIM | MS SSIM | CIEDE 2000 -0.0340 | -0.0883 | -0.0130 | -0.0104 | -0.0026 | 0.0245 | 0.0215 Change-Id: I3e8f34b1971d3ec280c5695a6fcfb7d7b270b2d9
-
Angie Chiang authored
So far the overall performance drop by lowres: 0.027% midres: 0.049% hdres: roughly 0.07% Change-Id: If3dc7619d91cb97b6d494b33f36112af45efcd8f
-
Urvang Joshi authored
Change-Id: I8a23fcf0839c2c2b1d638c3e0fc9d4e5a09f1269
-
Rostislav Pehlivanov authored
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
-
- 16 Feb, 2017 10 commits
-
-
Thomas Davies authored
Since token coding has changed the relationship between EOB values and non-zero values, coeff costs and trellis quant need to change to be more accurate. Change-Id: I27ef400e8290db4c5faa9c21a253575eea7955c4
-
Joe Young authored
When the "dy" variable is between -1 and 0 (base2 == -1) we should interpolate between the upper-left(-1,-1) and left(-1,0) samples, instead of just taking the left sample. Coding gain improves a bit with this change. BUG=aomedia:357 Change-Id: If520f71b22115e79120499c21f8d6925c1fa24be
-
Yaowu Xu authored
This fixes a enc/dec mismatch. BUG=aomedia:354 Change-Id: I727c27a412c21695eb3c084f8dd688163615efe3
-
Tom Finegan authored
Working with ninja, make, and xcode generators using the following args at cmake generation time: -DAOM_TARGET_CPU=x86 -DCMAKE_OSX_ARCHITECTURES=i386 -DCONFIG_PIC=1 BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=76 Change-Id: I830db21f7458417cb8048818e5681a78698a6068
-
Nathan E. Egge authored
Rename the aom_read_tree_bits() function to match aom_read_tree_as_cdf(). Change-Id: I779f544615b1c19bb1f781c1f7a0f59dda7bd466
-
Nathan E. Egge authored
It is now possible to use daala_ec without ec_multisymbol by running: ./configure --enable-experimental --disable-ec_mulitsymbol. Change-Id: I55a0473b887846f01ef832059cdbe31aebebce05
-
Thomas Davies authored
Symbol count is maintained in the position after the last CDF value. Change-Id: I1882e48bfb1404ea7b83ef410298484939601796
-
Nathan E. Egge authored
When DAALA_EC is enabled, calls to aom_read_tree() and aom_write_tree() would automatically convert the aom_tree_index and aom_prob into a CDF and call the aom_read_cdf() or aom_write_cdf(), which causes an error if DAALA_EC is enabled without EC_MULTISYMBOL. This patch moves the conversion functions from daalaboolreader.h and daalaboolwriter.h into bitreader.h and bitwriter.h respectively, and only calls the conversion functions if EC_MULTISYMBOL is enabled. This allows DAALA_EC to be enabled without EC_MULTISYMBOL and is a bitstream change when both ANS and EC_MULTISYMBOL are enabled as calls to read and write trees will automatically be converted into calls that read and write cdfs. Change-Id: Id2f9aa9b5113292998cadfe69e4ba547324643ac
-
clang-format authored
Change-Id: Ib1b5dde5d4c6479c968cd7d7a4a1d01abae1fcf6
-
James Zern authored
Change-Id: Ia3b00907f98330ecaf28832b2c0a68e42cf93d6e
-
- 15 Feb, 2017 5 commits
-
-
Zoe Liu authored
Change-Id: I532e46b3947ca3f5898a2da61fb6b82c2f4bd5c6
-
Tom Finegan authored
BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=76 Change-Id: I3179fe9ec45ff1aab06cc8828d2bb34c141cca55
-
Tom Finegan authored
MSVC only. Use the AVX/AVX2 flags only for AVX and AVX2. Ignore the SSE flags since they're not needed with MSVC. BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=76 Change-Id: I0f3ac40ffb1f9c53a16272f0781df176317732f6
-
David Barker authored
When global-motion is enabled, a considerable amount of encoder time is spent in the functions in corner_match.c. This patch optimizes those functions to be 3.5-4x as fast, leading to an end-to-end encoder speed improvement (on 20 frames of tempete_cif.y4m) of: 200kbps: ~26% faster 800kbps: ~19% faster 2800kbps: ~12% faster Change-Id: I04d3f87484c36c41eb5a1e86e814f2accbe86297
-
Nathan E. Egge authored
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
-
- 14 Feb, 2017 7 commits
-
-
David Barker authored
Change-Id: If6b80d302a24db35f0e214865ddcdaae195dc032
-
Yushin Cho authored
Change-Id: Ic0d5a8ca3e3ef2a2a2d994fc57e291fc31a5cb2d
-
Debargha Mukherjee authored
Allows DomainTxfm filters to be turned off for experimentation. Also expands the parameter set for the Self guided filters. Change-Id: I68fdb8e079a2464d80b3a4a990005c49baaaf0b8
-
Debargha Mukherjee authored
Wedges were wrongly indexed when cb4x4 was on. Brings a bit of the gain back when ext-inter + cb4x4 are turned on together. Change-Id: Id2bd359e70546cf0ea9cf31656064711c9894177
-
Debargha Mukherjee authored
Fixes a mismatch introdcuded with ext-inter + motion-var in https://aomedia.googlesource.com/aom/+/42d9610a797dbc778797c04445578eba514d4099 Change-Id: I9d357b6db8fdbfccc7d95aaa196d5d0574ef431b
-
Tom Finegan authored
BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=76 Change-Id: Iced0b69e669aa39ff33a6ffa1dfc804d7ec9345f
-
James Zern authored
strip the default eol from the config header line, then a '\r' if there is one. this can occur if cmake used to output the header uses windows eol, but the perl used expects newlines for instance. Change-Id: I687415878b1a04fd94b12d7b3d3066f448630607
-