- 22 May, 2017 8 commits
-
-
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 17 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
-
Jingning Han authored
When the above and left neighbor blocks are coded in the sub8x8 block size, use 4x4 level prediction block to produce the reference for obmc. Change-Id: Ic19f6e3b3880cebd153078823a3b77b04e28053b
-
Jonathan Matthews authored
Exposed by Change-Id: I048c6e9cc790520247cc21ae9b92a9c8d84d00a7 BUG=aomedia:525 Change-Id: Ia83f8a8efcf0eac4912f247f38887c0dd533da85
-
Jingning Han authored
Fix a bug introduced in the previous commit that effectively disables chroma-sub8x8. Change-Id: I521fdc1f15f5bed5272081217e70d1e2549c7ecd
-
Urvang Joshi authored
This is similar to the ones for 32x32, 32x16 etc. Change-Id: Iec97f4dc2b0109d39a14e9d8e2d5241a79b9e529
-
Fergus Simpson authored
The superres scale was not initialized correctly, which prevented regular resizing if CONFIG_FRAME_SUPERRES was set. This patch initializes superres scaling to 1:1 so it won't interfere with anything else. Change-Id: I9e3c89e91a4eb66146b9b924e8c19d0ed44a8dc4
-
Debargha Mukherjee authored
Frame level guided filters are now used as an option for chroma components in addition to the Wiener filter. Change-Id: Ie33299d22c15b69741ede55686177b7b8ce8e2b3
-
Jingning Han authored
Use a single struct for tokenization and level map coding. Change-Id: Id685992b7db5964ee204c4b0b90379df50c56546
-
Jingning Han authored
Properly scale the chroma block size accroding to the YUV format. BUG=aomedia:522 Change-Id: I2c42763394eea6383f81443bf1098fe05f448bd5
-
hui su authored
Change-Id: Id6078c5e3c82bc382af7b576133beb9026797a9b
-
Fangwen Fu authored
Change-Id: Ib0bb35ff31bf317bb7eb09a1738649137f791589
-
Fangwen Fu authored
* set dependent tile to be default * make dependent tile to work with supertx Change-Id: I2bcc73c6e6df46ca0c2fbdae7c4f2944738fff79
-
David Barker authored
Use a variant of joint_motion_search to improve the motion search for compound blocks (both average and masked types) with only one NEWMV component. Change-Id: I7cae812dced24acde638ae49869e6986557ce7dd
-
Sarah Parker authored
This adds the proper cfgs to av1_{inv/fwd}_txfm1d_cfg for the identity transform so all hbd transforms can use the same codepath. This has no impact on performance since the new identity transforms that correspond with the cfgs are not yet being called. Once this is checked in, we should be able to delete all deprecated transform functions and have a single code flow for all hbd transforms. BUG=aomedia:524 Change-Id: I3d1bfbc8bc29b367e8ddf7dcd27525af0bd31067
-
Jingning Han authored
Change-Id: I33e78f2677083df7b7385f4a2989e9d599bbf5c7
-