- 24 Apr, 2017 1 commit
-
-
Luc Trudeau authored
Adds the CfL experiment flag and computes a block-level DC_PRED that is required by CfL in order to compute alpha_cb and alpha_cr. The rate-distorsion impact of computing DC_PRED at the prediction block level for chroma planes is rather small Subset 1: master_no_cdef@2017-04-18T20:37:05.712Z -> block_DCPRED_no_cdef@2017-04-18T20:38:07.381 PSNR | PSNR Cb | PSNR Cr | PSNR HVS | SSIM | MS SSIM | CIEDE 2000 0.0712 | 0.0337 | -0.1692 | 0.0693 | 0.0814 | 0.0710 | -0.0063 Note: CDEF was disabled because of problematic asserts. Change-Id: I44d1cde8605b108366f4bd4cedbf5159dbbb5880
-
- 20 Apr, 2017 3 commits
-
-
Alex Converse authored
BUG=aomedia:449 Change-Id: I8d1a0342e11877e466a1fb771f9a1941598c95d5
-
Zoe Liu authored
Change-Id: I815d37986119b20ff386c640fe60e41aef785be3
-
Yunqing Wang authored
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
-
- 14 Apr, 2017 1 commit
-
-
Sarah Parker authored
This creates a central function which defines when a block should be warped. It also refactors the WARPED_MOTION code so that all calls to av1_warp_plane happen in the same location. No change in performance. Change-Id: Icaf9ec7700d34523809258594bb9843bb2975f46
-
- 12 Apr, 2017 2 commits
-
-
Rename '--enable-aom-highbitdepth' to '--enable-highbitdepth' Change-Id: I1de13c3508c30c552532993419d8ace326142ab6
-
Jingning Han authored
Explicitly release the locally allocated memory space in encode_frame_to_data_rate(). This resolves an memory space leak issue. BUG=aomedia:431 Change-Id: I46f4b38b46ed951d42c622e88ce00afc566e7eae
-
- 10 Apr, 2017 2 commits
-
-
Fergus Simpson authored
The resizing functions in resize.h and resize.c are useful for the frame super-res experiment. These functions will be needed in both the encoder and decoder, so the files have been moved into av1/common. Change-Id: I66154b7ec0eade0df460c4f4cf8eaa5f663c8904
-
Jingning Han authored
The loop filter parameters change due to many experiments. The multi-thread loop filter is built on certain assumptions that would require changes in many table contents. Temporarily disable the multi-thread loop filter pass and only maintain the single frame reference during the development process. Change-Id: I33a6a7a6fc4299f8fc414ae7f28c5a463af1e12b
-
- 07 Apr, 2017 2 commits
-
-
Jingning Han authored
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
-
Yushin Cho authored
Change-Id: I2011f113cf6a66a766c1c754b4d47e913ba54689
-
- 05 Apr, 2017 1 commit
-
-
Yushin Cho authored
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
-
- 03 Apr, 2017 1 commit
-
-
Thomas Davies authored
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
-
- 31 Mar, 2017 1 commit
-
-
James Zern authored
quiets -Wshorten-64-to-32 warnings ported from libvpx: 710483308 vp9: normalize vpx_enc_frame_flags_t usage Change-Id: Ice037acb675d1d81bfedf2dfcfa91a8a29a19dfd
-
- 30 Mar, 2017 1 commit
-
-
Debargha Mukherjee authored
Handles a rare divisin by 0 case. Also adds a check on global motion parameters to disable if the parameters obtained are outside the range that the shear supports. This fixes a rare assert failure. Also changes the recode loop threshold somewhat. Change-Id: I4c6e74b914ac653cd9caa0563d78b0a19a2a8627
-
- 29 Mar, 2017 1 commit
-
-
Debargha Mukherjee authored
Improves and simplifies costing for global motion to use the actual bits used to communicate the global motion parameters. Removes some of the old hacks. This patch also includes necessary refactoring to incorporate reference based coding of the motion parameters to follow. lowres results: -1.489% (up from -1.333%) Change-Id: I994dc97046011de4261633ccb0c9d71e374f2c5a
-
- 23 Mar, 2017 1 commit
-
-
Jean-Marc Valin authored
Chroma now has a list of strenghts too, with the superblock signalling shared between luma and chroma. low-latency, cpu=4: PSNR | PSNR Cb | PSNR Cr | PSNR HVS | SSIM | MS SSIM | CIEDE 2000 -0.0114 | -1.4626 | -1.4745 | -0.0423 | 0.0430 | -0.0001 | -0.7416 Change-Id: I389c77f1d80020f810e45f8502c656ad9d397c8c
-
- 22 Mar, 2017 1 commit
-
-
Jean-Marc Valin authored
We now signal joint strengths and use a greedy algorithm for the search. low-latency, cpu-used=4: ll4-cdef@2017-03-22T03:42:10.815Z -> ll4-cdef-newsearch-var-header-newlambda-refine4@2017-03-22T15:56:46.471Z PSNR | PSNR Cb | PSNR Cr | PSNR HVS | SSIM | MS SSIM | CIEDE 2000 -0.0792 | 0.3551 | 0.4393 | -0.0108 | -0.1338 | -0.0141 | 0.1452 Change-Id: I619ae1c7c7d7ec04fe993cabc5773b07c3f5b201
-
- 21 Mar, 2017 1 commit
-
-
Angie Chiang authored
This a simple implementation. We will use a more precise buffer size for tcoeff once the experiment functions correctly. Change-Id: Ib561974f21ee1b8d72ce407882ea2be3cf0b069f
-
- 17 Mar, 2017 1 commit
-
-
Steinar Midtskogen authored
* Dering and clpf were merged into a single pass. * 32x32 and 128x128 filter block sizes for clpf were removed. * RDO for dering and clpf merged and improved: - "0" no longer required to be in the strength selection - Dering strength can now be 0, 1 or 2 bits per block LL HL PSNR: -0.04 -0.01 PSNR HVS: -0.27 -0.18 SSIM: -0.15 +0.01 CIEDE 2000: -0.11 -0.03 APSNR: -0.03 -0.00 MS SSIM: -0.18 -0.11 Change-Id: I9f002a16ad218eab6007f90f1f176232443495f0
-
- 16 Mar, 2017 2 commits
-
-
Rostislav Pehlivanov authored
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
-
Angie Chiang authored
Doing tokenize in the last step of RD loop and then doing packing tokens in bitstream packing phase is hard for debugging. Therefore, we create a frame-level buffer to store the txfm coeffs from the reconstruction in RD loop and then in bitstream packing phase, we can code the txfm coeffs directly. Change-Id: I999470eef6e038317a91585df2bdfc20aca3573e
-
- 15 Mar, 2017 1 commit
-
-
Thomas Davies authored
The initial CDF for each frame is stored in the frame context. CDFs for actual coding are stored in the tile structures, and these are what get adapted. The initial CDF is replaced by an average CDF derived from these tile CDFs. This is carried forward to future frames when backward adaptation is on. CDFs are no longer set from the 8 bit probabilities in backwards adaptation. For now, 8 bit probabilities are maintained for use in the encoder and for symbols which do not have a CDF. Change-Id: I106b30510bfad1fa57d077f7702acc1864378a09
-
- 09 Mar, 2017 1 commit
-
-
Debargha Mukherjee authored
The restoration tilesize can be now chosen as either 256, 128 or 64 at the frame header. Change-Id: I852fc42afedc053484d657bdca522de73aaacd67
-
- 08 Mar, 2017 1 commit
-
-
hui su authored
Change-Id: Ie20bd0b05bbf3128933f10787aade7b63c98b52a
-
- 07 Mar, 2017 2 commits
-
-
Fangwen Fu authored
Change-Id: I378eb5b2c03a4c30d261128bcf9ef00ea987ed40
-
hui su authored
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
-
- 06 Mar, 2017 1 commit
-
-
Debargha Mukherjee authored
Removes redundant deblocking filtering operations and buffer copies, during search for the restoration filters. Also, makes the order of cdef and loop-restoration consistent. BUG=AOMEDIA:373 Change-Id: I571e331f9dfadfd2c1494f279e50510ec212ea29
-
- 27 Feb, 2017 2 commits
-
-
Alex Converse authored
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
-
Alex Converse authored
Change-Id: Id3824c09cbaae814df1d8fb029215f28e8c7a6b1
-
- 18 Feb, 2017 1 commit
-
-
Jean-Marc Valin authored
The result is identical to enabling both deringing and CLPF Change-Id: I71db5ba9e21fcaf11ad87e94841eaf80be58c0a8
-
- 17 Feb, 2017 2 commits
-
-
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
-
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
-
- 14 Feb, 2017 1 commit
-
-
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
-
- 12 Feb, 2017 1 commit
-
-
David Barker authored
The WienerInfo struct requires a 16-byte alignment on x86, since it contains filter coefficients which are loaded using SSE aligned load instructions. But on 32-bit x86, the default alignment of aom_malloc/aom_realloc is only 8 bytes, leading to occasional segfaults. To fix this, rather than using aom_realloc to resize WienerInfo structures, we always free and re-allocate them using aom_memalign BUG=aomedia:345 Change-Id: Ib1b2a42d4a2fa215dcc81ea481c51271ab068a37
-
- 04 Feb, 2017 1 commit
-
-
Fangwen Fu authored
Change-Id: I1050b69045407381d4626b65a0bf6f35957a66f4
-
- 03 Feb, 2017 1 commit
-
-
Ryan Lei authored
This commit renames deblocking_across_tiles to loopfilter_across_tiles, to get ready for dering and clpf integration. Change-Id: Id25b051da9b1e5cb92f35a9619662597462d9537
-
- 25 Jan, 2017 1 commit
-
-
hui su authored
Minor performance changes 0.03% better on lowres 0.01% better on midres Change-Id: I7a7168f3a2a4d17a03353841a416eff6edf1e241
-
- 23 Jan, 2017 2 commits
-
-
Fangwen Fu authored
Change-Id: Ieb2922c3df4ef4f8514b8a6df6f9a8fc45ef3cf4
-
Emil Keyder authored
This follows the naming for the other frame types, and allows libaom to be compiled against other libraries that also #define NONE. Change-Id: Ic2e2814587bbc5ea67385a9af775396d29b7dde0
-