- 28 Jun, 2017 1 commit
-
-
Jingning Han authored
Support the transform block kernel coding for rectangular transform block size in var-tx. This integrates txk-sel with var-tx. Change-Id: I9a8edd84812168f56c79b78cc9af34f6304b1d54
-
- 27 Jun, 2017 1 commit
-
-
Wei-Ting Lin authored
Define the syntax and entropy coding templates for NCOBMC_ADAPT_WEIGHT. The actual values of the default probabilities and the index tree structure need to be fine tuned. In this experiment all mv's in a superblock are sent first as in the ncobmc case. Change-Id: I68d50d3d27346c2847ea449a1168c6a99fbb4d3d
-
- 26 Jun, 2017 3 commits
-
-
Yushin Cho authored
Change-Id: Idafef140d3425a9a9f66cb8864a804c4d2a89a70
-
Yushin Cho authored
The var-tx has its own suite of tx size/type RD search functions, which recursively split the partition into square tx blocks. The Daala-dist requires access to 8x8 pixels (both decoded and predicted) since it measures the distortion for multiple of a 8x8 pixels. Thus, if tx block is smaller than 8x8, it waits until all of sub8x8 blocks are RD searched (with MSE) then replaces the MSE of 8x8 pixels with daala-dist's calculated distortion for 8x8 pixels. It is also applied to luma pixels only. Change-Id: Ic4891e89b4ef05cf880aa26781d2d06ccf3142de
-
Yushin Cho authored
- If invisible pixels, av1_daala_dist() simply use source pixles for dst. - Added av1_daala_dist_diff() which inputs diff signal instead of dst. - Refactored daala_dist code so that av1_daala_dist() and _diff() is called inside av1's distortion calculation functions, pixel_sse() and sum_squares_visible(). Change-Id: Id857db52fe19856d92c46a9e84ac2962c01ae045
-
- 21 Jun, 2017 2 commits
-
-
Timothy B. Terriberry authored
cb4x4 itself should not require these sizes. This simplifies compatibility with other experiments, since we can first make them work with cb4x4 (which is now on by default), and then worry about chroma_sub8x8 and chroma_2x2 (which is not) in separate steps. Encoder and decoder output should remain unchanged. Change-Id: Iff2a5494cab3b7d96f881e8bd9cd4bf18c817cfa
-
Fergus Simpson authored
Without tempmv-signaling configured, using the previous frame's MVs requires that the last frame was a show frame. With tempmv-signaling configured, cm->show_last_frame is not checked when calculating use_prev_frame_mvs. This patch adds that check and resolves mismatches seen with random resizing and random superres. Includes a couple fixes too - cm's last_width, last_height, and last_show_frame were updated under different conditions. Now they're all updated at the same time. Change-Id: Ibdfb196cb6e9d002fd57cb4df10a899b60faac00
-
- 20 Jun, 2017 1 commit
-
-
Luc Trudeau authored
CfL performs an extra loop iteration during luma mode selection. Recent changes have broken the extra iteration. Remove previous approach. New approach adds the extra iteration right before uv parameter selection. Interesting fact, If the best luma intra mode already has worse RD performance than the best inter mode found so far (if any), then the entire chroma intra search is skipped, including the extra iteration. Results on Subset1 (compared to 3e18e4ae with CfL) PSNR | PSNR Cb | PSNR Cr | PSNR HVS | SSIM | MS SSIM | CIEDE 2000 -0.3090 | -2.7271 | -2.3521 | -0.3369 | -0.3463 | -0.3525 | -1.1868 Change-Id: If67b0badd2c8ea25c61685483d39d622c1729b18
-
- 19 Jun, 2017 1 commit
-
-
Zoe Liu authored
The tool of ext-comp-refs adds the uni-directional compound reference prediction. In details, 3 pairs of uni-direcitonal compound references are added for the comp ref prediction: (LAST_FRAME, LAST2_FRAME), (LAST_FRAME, GOLDEN_FRAME), and (BWDREF_FRAME, ALTREF_FRAME). This new tool of ext-comp-refs will eventually overwrite one-side-compound and have the two coding tools to merge to one. It achieves -0.35 ~ -0.55% coding gains in BDRate, compared against AV1 baseline with the default experiments on, but without one-sided-compound. It achieves -0.2% ~ -0.3% coding gains when one-sided-compound is on. It achieves larger gains on higher resolution. Change-Id: Icbdb16e97b96aaebaf2213f5f72d5331e2e358eb
-
- 17 Jun, 2017 1 commit
-
-
Di Chen authored
Reset xd->mi and x->mbmi_ext for the superblock after the first scanning pass. Change-Id: Iae9142ff2b1a2b576f54dc545b58fe37c97cecac
-
- 16 Jun, 2017 1 commit
-
-
Sarah Parker authored
-0.242% gain on cam_lowres Change-Id: Ib9ba2f7dfc7d10b8066bd3f70eeafa7faac8a607
-
- 15 Jun, 2017 3 commits
-
-
Urvang Joshi authored
This was initialized from a const and never modified. But was still passed around and stored in multiple structs. Removed these 'rddiv' member variables and now RDOPT() and RDOPT_DBL() always use the const RDDIV_BITS directly. Change-Id: I1a8dfd2c8fa857d466ad1207b4f0dd6ec07eafb8
-
Zoe Liu authored
This patch will not cause any performance change regardless of whether speed_refs is on or off. This coding tool is targeted to speed up the encoder side reference frame selection process. The essential idea is to have two scanning passes for each superblock of size 64x64 and this CL lays out the initial framework but no reference frame selection is done yet: First scanning pass - To simplify the partition and the mode candidates (e.g. considering nearestmv / nearmv / zeromv only) and identify the best reference frame prediction candidates; Second scanning pass - Use the best reference frame candidate(s) obtained from the first pass to encode the current superblock. Change-Id: I11266d468de3077271a5e866eebd341a8014d136
-
Arild Fuldseth (arilfuld) authored
Fix a bug where the encoder sets reference_mode = COMPOUND_REFERENCE even if the frame contains some 4x4 blocks (but no larger blocks) that are single reference. This occurs only in corner cases, typically for very small frame sizes (e.g. 16x8). BUG=aomedia:575 Change-Id: I5caedaa753a56e9f9b48995c1d2e0a0886aa4366
-
- 13 Jun, 2017 2 commits
-
-
Zoe Liu authored
Now the single ref comp mode should work with WEDGE and COMPOUND_SEGMENT. For motion_var, the OBMC_CAUSAL mode uses the 2nd predictor if the neighboring block is single ref comp mode predicted. This patch removes the mode of SR_NEAREST_NEWMV and leaves four single ref comp modes in total: SR_NEAREST_NEARMV SR_NEAR_NEWMV SR_ZERO_NEWMV SR_NEW_NEWMV Change-Id: If6140455771f0f1a3b947766eccf82f23cc6b67a
-
Yushin Cho authored
Daala-dist replaces the luma distortion of sub8x8 partitions with its own distortion thus requires to split the luma distortion only. Doing so, there has been a bug that INT_MAX64 value comes when the sub8x8 parition is skipped. This happened because the existing code does not initialize the rd_stats_y or tmp_rd_stats_y, i.e. rd_stat struct for luma only in several places. Change-Id: If229b53bb7a6cff0b8751138a32b1dcf02665624
-
- 12 Jun, 2017 3 commits
-
-
Fergus Simpson authored
This patch implements the post-encode and post-decode upscaling for the frame superresolution experiment to work. Upscaling happens after cdef and before loop restoration. For now, this patch forces on random-superres. The patch also cleans up some broken rate control hooks from VP9 days, to be brought back later when the resize and superres tools are stable. Change-Id: If0a8f69224dfaa0f4ae7703bd429ea2af953c7a6
-
Yue Chen authored
Refactoring: split prediction+extension for each plane, so we can handle luma/chroma supertx pred in different ways. Compatibility fix: fix conflicts with cb4x4 and chroma_sub8x8, now for chroma sub8x8 supertx, only the top-left(basic cb4x4) or the the bottom-right(cb4x4 + chroma_sub8x8) predictor will be used without any blending within a 8x8 unit. Change-Id: I6cf7b12768a82d3c7e01811ada02de84af9bd8ac
-
Zoe Liu authored
Check the availability of the reference frames at the frame level at both encoder and decoder, and if a reference frame is not available for a specific video frame, remove the signaling of such reference frame info at the block level. This patch adds the consideration of the bit saving inside the RD optimization loop. Change-Id: I4c22f1b843b21c7d2b47e118c99c3ad615a3d4e4
-
- 06 Jun, 2017 1 commit
-
-
Luc Trudeau authored
This change does not impact the bitstream 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 Change-Id: I6e131e91bad5efa345ed2542ae970eb6122eff51
-
- 05 Jun, 2017 1 commit
-
-
Sarah Parker authored
This terminates the computation for the warp error once the frame error exceeds the best frame error found so far to avoid unneccessary computation. Change-Id: I094a0b3e13f8b91610e051cb91d20a815879dd80
-
- 02 Jun, 2017 2 commits
-
-
Alex Converse authored
First keyframe BD-RATE objective-1-fast: PSNR | PSNR Cb | PSNR Cr | PSNR HVS | SSIM | MS SSIM | CIEDE 2000 -0.3705 | -0.3232 | -0.3812 | -0.3782 | N/A | -0.3412 | N/A First keyframe BD-RATE twitch-1: PSNR | PSNR Cb | PSNR Cr | PSNR HVS | SSIM | MS SSIM | CIEDE 2000 -0.2479 | -0.2477 | -0.2467 | -0.2567 | -0.2486 | -0.2508 | -0.2487 Change-Id: Iea6c895c6fe9e9764887a8968f6e5330903969d3
-
Jingning Han authored
Remove the special rate-distortion optimization loop for sub8x8 block size from vp9. Change-Id: I62c6cf537a54769f26f2d4938ebed5fed2c84741
-
- 01 Jun, 2017 1 commit
-
-
Yushin Cho authored
The place where av1_daala_dist() is applied for sub8x8 partition is moved from sub8x8 mode decision functions to rd_pick_partition(). BD-Rate change by daala-dist with '--disable-var-tx' is: (AWCY, objective-1-fast, high delay mode) PSNR | PSNR Cb | PSNR Cr | PSNR HVS | SSIM | MS SSIM | CIEDE 2000 15.1558 | 12.9585 | 14.4662 | -3.8651 | -1.7102 | -9.2956 | 10.8686 In MSE probe mode: PSNR | PSNR Cb | PSNR Cr | PSNR HVS | SSIM | MS SSIM | CIEDE 2000 0.0429 | 0.0435 | 0.1651 | -0.0415 | 0.0850 | 0.0122 | 0.0546 Change-Id: I3b2ea916d41c48e433eb641adf44552e4725c198
-
- 31 May, 2017 2 commits
-
-
Jingning Han authored
Make the txfm_above and txfm_left be processed in the unit of miniumum transform block size. Scale the transform block step size with respect to the mode_info step size. Change-Id: Iee4421e005db742cd4ff7899215560063e5f68e5
-
Jingning Han authored
Resolve the enc/dec mismatch issue when filter intra is turned on, in addition to chroma-sub8x8, ext-tx, and ext-inter experiments. BUG=aomedia:570 Change-Id: Idf0875763ce24bd8d4022f7338fc86debf4dfd0c
-
- 30 May, 2017 1 commit
-
-
Thomas Daede authored
BUG=aomedia:526 Change-Id: I5d9b86a36f412ded2d6f20e198d2f4de4f97aaeb
-
- 29 May, 2017 1 commit
-
-
Arild Fuldseth (arilfuld) authored
Change-Id: I05b2c8c116b5e3287be2703e840a28f6dda9c42a
-
- 27 May, 2017 1 commit
-
-
Debargha Mukherjee authored
Fixes AV1/AltRefForcedKeyTestLarge.Frame1IsKey test. Change-Id: I457b5c1dacb9fd2294c650d11821d6a1930d04dc
-
- 26 May, 2017 2 commits
-
-
Jingning Han authored
Account for intra tx size case when coding block is in skip mode. Change-Id: I030bc05d890c4a7c8d4628a7f9bdebaba6083a03
-
Yi Luo authored
- Add av1_build_quantize() function so that quantization related unit test would be able to access quant/dequant table without starting an encoder instance and directly accessing cpi. Change-Id: I8ba429e5deb7a4e7f967996aaec1d20bff0feb3c
-
- 25 May, 2017 3 commits
-
-
Debargha Mukherjee authored
Change-Id: I904283119d8f2c1099e6ec2953ea1c10c5e3b280
-
Jingning Han authored
This commit resolves a rare enc/dec mismatch issue due to the intracacy of using rectangular transform block size for intra coded blocks. BUG=aomedia:562 Change-Id: I10c52339a995a89bafa3a3330469ee3f2b784768
-
Nathan E. Egge authored
This patch forces DAALA_EC on by default and removes the dkbool coder. Change-Id: Icd2ff08efd7bf467adf554344111473cb357adf8
-
- 24 May, 2017 1 commit
-
-
Jingning Han authored
This resolves a potential race issue in multi-threading test when chroma-sub8x8 is enabled. Change-Id: I443f4af10e55046b04d6d739f7594dd8bda5c830
-
- 22 May, 2017 1 commit
-
- 21 May, 2017 3 commits
-
-
Timothy B. Terriberry authored
Currently the "transform units" used to measure transform sizes in some parts of the code are based on the smallest defined transform size. cb4x4 currently defines a 2x2 transform size, even when chroma_2x2 is not enabled, which means that the scale of the transform units was always double that of MODEINFO units. Several areas of the code were hard-coding this assumption instead of converting from one to the other using appropriate constants. Change-Id: Ibc55671aa5bc3ad272cb8a036f9c4f9621df85ab
-
Timothy B. Terriberry authored
reset_skip_context() was always clearing the entropy contexts for all three color planes, using a block size that corresponded with the luma plane. However, when chroma_2x2 is disabled, then for sub-8x8 luma block sizes, the corresponding chroma block size is always 4x4, and the skip flag only affects the chroma blocks corresponding to the upper-left luma block. This patch makes reset_skip_context() reset the contexts that actually correspond to the chroma blocks that are skipped (if any). It also moves reset_skip_context() to av1_reset_skip_context() in blockd.c, because blockd.h gets included before onyx_int.h, which declares the required is_chroma_reference() function. reset_skip_context() was too large and used in too many places to be a reasonable candidate for inlining, anyway. AWCY results on objective-1-fast: cb4x4-fix-base@2017-05-11T06:26:50.159Z -> cb4x4-fix-reset_skip@2017-05-11T06:28:45.482Z PSNR | PSNR Cb | PSNR Cr | PSNR HVS | SSIM | MS SSIM | CIEDE 2000 0.0301 | 0.1068 | 0.1463 | 0.0359 | 0.0260 | 0.0347 | 0.0479 A regression (near the noise range), but without this fix, the line buffer size required by the entropy contexts will be doubled. Change-Id: I12fa6e60d9c1c7c85927742775a346ea22b3193f
-
Timothy B. Terriberry authored
Create named constants for the minimum TX_SIZE used in the luma plane, as well as the minimum allowed TX_SIZE for which we have to explicitly code a selection (i.e., one larger than the minimum luma TX_SIZE). Then, use these constants consistently with tx_size_to_depth() to index the tx_size counts in FRAME_COUNTS, and also consistently use TX_SIZE named constants to index the tx_size_implied counts. Failing to index these counts correctly can, e.g., cause tx_mode to be chosen incorrectly. Change-Id: I706a62a33e2282e67c97a68bade87fb8023ec13b
-
- 19 May, 2017 1 commit
-
-
Fangwen Fu authored
* set dependent tile to be default * make dependent tile to work with supertx Change-Id: I2bcc73c6e6df46ca0c2fbdae7c4f2944738fff79
-