summaryrefslogtreecommitdiff
path: root/aom_dsp/sad.c
Commit message (Collapse)AuthorAge
* Remove CONFIG_AV1 preproc symbol.Tom Finegan2018-05-26
| | | | | | | Unconditinally enable all blocks it guarded, and remove blocks active only when it was disabled. Change-Id: Id39ac68829dfcee5f8d3766e5dc59de148f7c678
* cmake: generate rtcd headers in config subdir.Tom Finegan2018-05-23
| | | | | | | Move rtcd header outputs to config subdir of config dir, and update include sites. Change-Id: I25c5f1808a091f3727934adc274637ebdcdcb1cf
* cmake: Output aom_config in config sub dir.Tom Finegan2018-05-23
| | | | | | | | | | Does away with somewhat confusing usage of "./aom_config.h" in include statements while keeping linters silent. aom_config.asm, aom_config.c, and aom_config.h are now written to the config sub dir. Change-Id: I99e2422d6ca8b20b9cdf2feee83a866c273e47b0
* Remove av1_full_sad_searchKyle Siefring2018-04-11
| | | | | | | | | This code is only used in libvpx's vp8 encoder, therefore it is unlikely to be used for encoding av1. BUG=aomedia:1726 Change-Id: Iec2b29d7c44c2b1bb504e25f3a74fb9e7c233662
* Remove funcs/arrays/enums related to 128X32 or 32X128 blockYue Chen2018-03-22
| | | | | | 128x32 and 32x128 is not longer supported Change-Id: I6878b834f8600ba75d00cc43c674cec9304c028d
* Remove CONFIG_JNT_COMP macroDeepa K G2018-03-05
| | | | | | | | This tool is fully adopted. Turn off CONFIG_RD_DEBUG to avoid build issues. Change-Id: I126f7aff749963e2549514bf144adfe6e8f68051
* Remove CONFIG_EXT_PARTITION_TYPES config flagDebargha Mukherjee2018-02-28
| | | | | | This tool is fully adopted. Change-Id: I51a89d62c97dff0fd6bdbd5bd9c39aa04936b4fe
* Remove CONFIG_EXT_PARTITION config flagDebargha Mukherjee2018-02-28
| | | | | | This experiment is fully adopted. Change-Id: I87faae61532a5caf34616ed693857eae5330a340
* Remove the use of macro "CONFIG_HIGHBITDEPTH"Yaowu Xu2017-12-27
| | | | Change-Id: I523d9a89493895eb6a7af1df30a39f36ca9f159f
* JNT_COMP: add SIMD and interface for high bit-depthCheng Chen2017-12-18
| | | | | | | | | | | | | | | | | | Add high bit-depth macro definitions: highbd_jnt_sad highbd_8(10/12)_jnt_sub_pixel_avg. Add SIMD functions: aom_highbd_jnt_comp_avg_pred_sse2 aom_highbd_jnt_comp_avg_upsampled_pred_sse2 This patch also solves the seg fault caused by low bit-depth and high bit-depth paths BUG=aomedia:967 BUG=aomedia:944 Change-Id: Iea69f114e81ca226a30d84a540ad846f1b94b8d6
* Split big file into twoSebastien Alaiwan2017-11-25
| | | | | | | | The file sad.c alone takes 35 seconds to compile. This often happens to be on the build critical path. Split it into two source files so they can be compiled in parallel. Change-Id: I35636d8a3da9d67edb8dbf202fd5e7a687a6aaa9
* JNT_COMP: add ssse3 implementations for sad_avgCheng Chen2017-11-22
| | | | | | | | | Add ssse3 implementations for the sad_avg c function at low bit-depth. With this, aom_jnt_sad c functions can all have simd implementations. This CL follows existing MACRO definitions for multiple combinations of block sizes. Change-Id: I882343684026525f5589a239337cfac2dd411e11
* JNT_COMP: Refactor codeCheng Chen2017-11-06
| | | | | | | | | | | | | | | The refactoring serves two purposes: 1. Separate code paths for jnt_comp and original compound average computation. It provides function interface for jnt_comp while leaving original compound average computation unchanged. In near future, SIMD functions can be added for jnt_comp using the interface. 2. Previous implementation uses a hack on second_pred. But it may cause segmentation fault when the test clip is small. As reported in Issue 944. This refactoring removes hacking and make it possible to address the seg fault problem in the future. Change-Id: Idd2cb99f6c77dae03d32ccfa1f9cbed1d7eed067
* Help msvc 2017 compiler to generate correct codeYaowu Xu2017-11-01
| | | | | | | | This loop is wrongly vectorized by the MSVC2017 compiler, this change is a work-around for the compiler bug. Change-Id: Ie4c8403965c3e4cd6d70eb3dbc92148f5272f0ab (cherry picked from commit 5b33d7184bf319d9c10e34ef0fdcdd244d2fdb56)
* Remove experimental flag of MOTION_VARSebastien Alaiwan2017-10-31
| | | | | | | This experiment has been adopted, we can simplify the code by dropping the associated preprocessor conditionals. Change-Id: I2dce80e1e1b2116708b6ba9feeacaacc12af8fc4
* Remove compile guards for CONFIG_EXT_INTERSebastien Alaiwan2017-10-02
| | | | | | | This experiment has been adopted, we can simplify the code by dropping the associated preprocessor conditionals. Change-Id: Ic077963f72e8cc2ae9872b58c8a0241988384110
* Add 32x128/128x32 block sizesRupert Swarbrick2017-09-29
| | | | Change-Id: Ieb28f40d85e4db4af33648c32c406dd2931ceb89
* ext-partition-types: Add 64x16 and 16x64 bsizesRupert Swarbrick2017-08-04
| | | | Change-Id: I0c3772110e9fa62ac687bd99e290b5006bf3bd6c
* ext-partition-types: Add 4:1 partitionsRupert Swarbrick2017-07-12
| | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for 4:1 rectangular blocks to various common data arrays, and adds new partition types to the EXT_PARTITION_TYPES experiment which will use them. This patch has the following restrictions, which can be lifted in future patches: * ext-partition-types is incompatible with fp_mb_stats and supertx for the moment * Currently only 32x32 superblocks can use the new partition types There's a slightly odd restriction about when we allow PARTITION_HORZ_4 or PARTITION_VERT_4. Since these both live in the EXT_PARTITION_TYPES CDF, read_partition() can only return them if both has_rows and has_cols is true. This means that at least half of the width and height of the block must be visible. It might be nice to relax that restriction but that would imply a change to how we encode partition types, which seems already to be in a state of flux, so maybe it's better to wait until that has settled down. Change-Id: Id7fc3fd0f762f35f63b3d3e3bf4e07c245c7b4fa
* ext-inter: Further cleanupDavid Barker2017-05-24
| | | | | | | | | | | | | | | | | * 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
* ext-inter: Delete dead codeDavid Barker2017-05-23
| | | | | | | | | | | | | | | | | | | | | 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
* ext-inter: Use joint_motion_search for masked compoundsDavid Barker2017-05-18
| | | | | | | | Add functions which take both components of a masked compound and compute the resulting SAD/SSE. Extend joint_motion_search to understand masked compounds, and use it to evaluate NEW_NEWMV modes. Change-Id: I782199a20d119a6c61c6567df157508125ac7ce7
* Homogenize configuration option name.Sebastien Alaiwan2017-04-12
| | | | | | Rename '--enable-aom-highbitdepth' to '--enable-highbitdepth' Change-Id: I1de13c3508c30c552532993419d8ace326142ab6
* Renamings for OBMC experimentYue Chen2016-10-13
| | | | | | | To get ready for pulling AV1 to nextgenv2 Replace the experimental flag by MOTION_VAR. Rename major variables. Change-Id: If6cf4f37b9319c46d8f90df551cc7295d66ca205
* Change to use aom copyright noticeYaowu Xu2016-09-02
| | | | | | This minimize code differences between AOM master and nextgenv2 Change-Id: If144865bdf3ef0818e7aac11018b9e786444c550
* Port renaming changes from AOMediaYaowu Xu2016-08-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Cherry-Picked the following commits: 0defd8f Changed "WebM" to "AOMedia" & "webm" to "aomedia" 54e6676 Replace "VPx" by "AVx" 5082a36 Change "Vpx" to "Avx" 7df44f1 Replace "Vp9" w/ "Av1" 967f722 Remove kVp9CodecId 828f30c Change "Vp8" to "AOM" 030b5ff AUTHORS regenerated 2524cae Add ref-mv experimental flag 016762b Change copyright notice to AOMedia form 81e5526 Replace vp9 w/ av1 9b94565 Add missing files fa8ca9f Change "vp9" to "av1" ec838b7 Convert "vp8" to "aom" 80edfa0 Change "VP9" to "AV1" d1a11fb Change "vp8" to "aom" 7b58251 Point to WebM test data dd1a5c8 Replace "VP8" with "AOM" ff00fc0 Change "VPX" to "AOM" 01dee0b Change "vp10" to "av1" in source code cebe6f0 Convert "vpx" to "aom" 17b0567 rename vp10*.mk to av1_*.mk fe5f8a8 rename files vp10_* to av1_* Change-Id: I6fc3d18eb11fc171e46140c836ad5339cf6c9419
* Port folder renaming changes from AOMYaowu Xu2016-08-31
Manually cherry-picked commits: ceef058 libvpx->libaom part2 3d26d91 libvpx -> libaom cfea7dd vp10/ -> av1/ 3a8eff7 Fix a build issue for a test bf4202e Rename vpx to aom Change-Id: I1b0eb5a40796e3aaf41c58984b4229a439a597dc