- 24 May, 2017 5 commits
-
-
Jingning Han authored
Properly reset mi_row and mi_col values per plane. Change-Id: Ic624f286c8ee2521403557bc1d685752166b1947
-
Jingning Han authored
The chroma-sub8x8 is mainly designed for YUV420 format. When the format is YUV444, it falls back to regular block size behavior. Change-Id: Ibedc4f1d59e7bf717384ede9423f22678d54c0fa
-
Nathan E. Egge authored
When merging NEW_TOKENSET into EC_MULTISYMBOL a bug was introduced when EC_MULTISYMBOL == 1 and EC_ADAPT == 0. This patch reverts that change and replaces CONFIG_EC_MULTISYMBOL with the equivalent flag (CONFIG_DAALA_EC || CONFIG_ANS). BUG=aomedia:550 Change-Id: I164df42121ca0959247af34e65287b1d230346f7
-
Yue Chen authored
BUG=aomedia:560 Change-Id: Ie399d61162ab33e35fa0cb04206904e3af1bbb2d
-
David Barker authored
* Rename the 'masked_compound_*' functions to just 'masked_*'. The previous names were intended to be temporary, to distinguish the old and new masked motion search pipelines. But now that the old pipeline has been removed, we can reuse the old names. * Simplify the new ext-inter compound motion search pipeline a bit. * Harmonize names: Rename aom_highbd_masked_compound_sub_pixel_variance* to aom_highbd_8_masked_sub_pixel_variance*, to match the naming of the corresponding non-masked functions Change-Id: I988768ffe2f42a942405b7d8e93a2757a012dca3
-
- 23 May, 2017 7 commits
-
-
James Zern authored
Change-Id: I0a244e3c2a8730febeede1f7f17c25978b3f4930
-
Urvang Joshi authored
Also, add some asserts so that such mistakes don't happen later on. Change-Id: I61c5f1bcb4db5903f961c94086f1103deead3d85
-
Urvang Joshi authored
BUG=aomedia:557 Change-Id: Ie6a5b91460e4e47dd659ec470ffd849feb4ac8f6
-
Tom Finegan authored
Move them from build/cmake/aom_configure.cmake to the CMakeLists.txt at the root of the repository. Change-Id: Ib39764abe0c3456414ba157ebc18fd7a052db0df
-
Ryan Lei authored
horizontal dependent tile and tile group should be able to be enabled indepeendently. add comment to explain the expected behavior. Change-Id: Id6988fb9ab7a404d608ea075ba7e9faf3acd5381
-
David Barker authored
Add SSE2 lowbd and SSSE3 highbd versions of the filters introduced in https://aomedia-review.googlesource.com/c/11962/ . These filters are equivalent in speed to the SSE2 implementations of the regular convolve filter. The average time to filter a 64x64 block is: lowbd C: 52us lowbd SSE2: 5.6us highbd C: 53us highbd SSSE3: 5.8us Also add a correctness test based on the warp filter tests. Change-Id: Ia0d81100e8a414bbfc2b5f664d751cf24765299e
-
David Barker authored
Patches https://aomedia-review.googlesource.com/c/11987/ and https://aomedia-review.googlesource.com/c/11988/ replaced the old masked motion search pipeline with a new one which uses different SAD/SSE functions. This resulted in a lot of dead code. This patch removes the now-dead code. Note that this includes vectorized SAD/SSE functions, which will need to be rewritten at some point for the new pipeline. It also includes the masked_compound_variance_* functions since these turned out not to be used by the new pipeline. To help with the later addition of vectorized functions, the masked_sad/variance_test.cc files are kept but are modified to work with the new functions. The tests are then disabled until we actually have the vectorized functions. Change-Id: I61b686abd14bba5280bed94e1be62eb74ea23d89
-
- 22 May, 2017 10 commits
-
-
Jingning Han authored
The obmc assumes minimum processing block size to be 8x8. BUG=aomedia:554 Change-Id: Ic0415f433e8e463fffb13559703a315f317607d3
-
Jingning Han authored
Change-Id: I4756594a6975ad0fff1f4ff64f1cf02876757f02
-
Tom Finegan authored
Use CONFIG_AV1_{DE,EN}CODER to control decoder and encoder support inclusion instead. BUG=aomedia:76,aomedia:508 Change-Id: Ib150ae382b301885589f30d9b6e98d3bfdd1afce
-
Urvang Joshi authored
Change-Id: I3eebf3811964c682309784d9bbdfb00790fde871
-
Timothy B. Terriberry authored
This was not clamping the chroma block size to at least 4x4, even though it is getting contexts for coding the transform residual (which is at least 4x4). Thus it would copy too few contexts. This is an encoder-only change. It should not change the current encoder output, because we currently store twice as many entropy contexts as actually required, so we'll copy 1 and then check 2 to see if either are non-zero. However, this will break when we eliminate the context doubling, as instead we'll copy 0 and check 1. Change-Id: I4087529d6b3e7cd5a226746625b90494790983e6
-
Luc Trudeau authored
When chroma_sub8x8 is enable the custom DC_PRED implemented in CfL uses chroma_up_available and chroma_left_available instead of up_available and left_available. It was mentioned in 3da18d60 that this fixes a rare enc/dec mismatch issue. Change-Id: Ie8920e956962846db15e24bcf7e7eaa13ccb8c12
-
Tom Finegan authored
BUG=aomedia:76,aomedia:549 Change-Id: I692f4ad86061e53f9dc4b9a45d4dd9a8bd0d82d5
-
Jingning Han authored
This commit resolves the encoding results disparity between single and multi-thread encoding. BUG=aomedia:553 Change-Id: I968972e6d53e1977384d1dfd2f006d04af074be6
-
Steinar Midtskogen authored
Change-Id: I59f78e6fa53b794026edbba709e1c02af0f76a5f
-
- 21 May, 2017 10 commits
-
-
Timothy B. Terriberry authored
These conditions in has_top_right() are never true when cb4x4 is enabled. The corresponding check in has_bottom_left() is already behind a similar #if. This is needed by a subsequent patch to move sub-4x4 block sizes behind their own configuration flag, since that changes the value of bw_unit, which might cause the condition to become true when it should not be. Encoder and decoder output should remain unchanged. Change-Id: I648654dfc265f911d83668d94dc927ebc0c70771
-
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: Iff437425f2c5abd02a82ff1c7c8002aefc2f75a6
-
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
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: I86057b85b7d4cd810d87da28f5eedc5b27597e29
-
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
-
Jingning Han authored
Clear the clang warnings when var-tx is enabled. Change-Id: I6b005124159b0607ec3284cc2e5ba287745a2541
-
hui su authored
BUG=aomedia:545 Change-Id: I8beacce0f87b52dfd614bcd8c88426839c4ba51d
-
Debargha Mukherjee authored
Unifies the chroma and luma paths for estimation of the restoration parameters. No change in bit-stream or results. Change-Id: I9998c269cc00ded8b94d0e660b5441a4f9b94848
-
Jingning Han authored
Use recursive transform block coding order. Change-Id: I6d4671fe669e8a1897e034973de181078272cbfd
-
- 20 May, 2017 5 commits
-
-
hui su authored
Encode a block line by line, horizontally or vertically. In the vertical mode, each row is predicted by the reconsturcted row above; in the horizontal mode, each column is predicted by the reconstructed column to the left. The DPCM modes are enabled automatically for blocks with horizontal or vertical prediction mode, and 1D transform types (ext-tx). Change-Id: I133ab6b537fa24a6e314ee1ef1d2fe9bd9d56c13
-
Timothy B. Terriberry authored
cb4x4 adds a new TX_2X2 to the TX_SIZES enum, which offsets the indexing of blockzero_probs. Add a set of default probabilities for this case (simply copied from the TX_4X4 probabilities). These will only be used if chroma_2x2 is enabled (though moving the other probabilities back to their correct offset will affect all other sizes). This is an encoder-only change. AWCY results on objective-1-fast: cb4x4-fix-reset_skip@2017-05-11T06:28:45.482Z -> cb4x4-fix-blockzero_probs@2017-05-11T06:29:26.242Z PSNR | PSNR Cb | PSNR Cr | PSNR HVS | SSIM | MS SSIM | CIEDE 2000 -0.1520 | -0.2682 | -0.0972 | -0.2342 | -0.1638 | -0.1701 | -0.3278 Change-Id: I5594f19af2935c8a8d43105a27ad33f6222ed7f2
-
Nathan E. Egge authored
Change-Id: Ia0eb3a3694fdbe9d33548ff4014b704b2f3db86a
-
Thomas Daede authored
BUG=aomedia:526 Change-Id: I8271a3c18ac9fa53b6304eb5e2a07ba787b05724
-
Jingning Han authored
Always use translational motion predictor for sub8x8 blocks. BUG=aomedia:552 Change-Id: I82bbf6c9d2a2e91783774966336f5e2bc87c3d13
-
- 19 May, 2017 3 commits
-
-
Timothy B. Terriberry authored
Since chroma_sub8x8 is a subset of chroma_2x2, both of these experiments should not be turned on at the same time. Change-Id: If54e0a3005d6fe26ade274700678558baf977f9c
-
Fergus Simpson authored
Before this commit set_frame_size decided on the frame size to use and then set it. It has been changed to just take an arbitrary size to make it more flexible. The decision of what size to use has been moved to the new set_scaled_size and existing av1_calculate_superres_size. setup_frame_size implements the old logic of getting the scaled size, then superres size, then setting the frame to use it. This change will make post-encode upscaling possible using set_frame_size since it can now be given a target resolution. Change-Id: I2f0f20740a54f751bc9963f279d6bcfdfb2722c2
-
Jingning Han authored
Change-Id: I6d3cdcc3ee39e82edb201833da20b7412cc29038
-