- 18 May, 2017 1 commit
-
-
Debargha Mukherjee authored
Change-Id: I640cf08ac583ff5092a18e81cd0e33f05609db6b
-
- 08 May, 2017 1 commit
-
-
Urvang Joshi authored
This experiment extends ALT_INTRA by adding two new modes: smooth horizontal and smooth vertical. Improvement on *intra frames* in BDRate (PSNR): =============================================== AWCY (high latency): -0.46% (Also, -1.0% or more on PSNR Cb,Cr and APSNR Cb,Cr). AWCY (low latency): -0.43% (Also, -0.88% to -0.94% on PSNR Cb,Cr and APSNR Cb,Cr). Google sets: lowres: -0.454 midres: -0.484 hdres: -0.525 Improvement on *video overall* in BDRate (PSNR): ================================================ AWCY (high latency): -0.15% Google sets: lowres: -0.085 midres: -0.079 Change-Id: I9f4e7c1b8ded1fe244c72838f336103ccc715d50
-
- 05 May, 2017 1 commit
-
-
Debargha Mukherjee authored
Adds a speed feature to control which references to use to compute global motion. Also adds logic to not compute duplicate sets of parameters when reference frames point to the same buffers. Includes some renaming of functions to set good speed features to make things clearer. Change-Id: I641d33441fde98af18cad8d4db49cf7d5d153ead
-
- 17 Apr, 2017 1 commit
-
-
Thomas Daede authored
The "good" speed levels are universally better than the "rt" ones, running faster to achieve the same quality. rt mode also turned off alt refs and lag-in-frames, but these are still accessible separately (and the low latency test case explicitly sets them). Some features were used by the rt scale and not the good scale. Two additional "good" levels, 7 and 8, were added to accomidate these features and not reduce test coverage. Change-Id: I3a6a78ddb664511762c197bc41f3a9909665b565
-
- 11 Apr, 2017 1 commit
-
-
Zoe Liu authored
Change-Id: I246da885154303d139f5d97c53ebfc55d6dc82ca
-
- 04 Jan, 2017 1 commit
-
-
Angie Chiang authored
Change-Id: I6ce654b582f2a9d45a40bf22ba597b47d418a0be
-
- 28 Nov, 2016 1 commit
-
-
Urvang Joshi authored
This is added as part of ALT_INTRA experiment. This uses interpolation between top row and estimated bottom row; as well as left column and estimated right column to generate the predicted block.The interpolation is done using a predefined weight array. Based on experiments, the currently chosen weight array was created to represent a quadratic curve, but can be tuned further if needed. Improvement from baseline on Derf set: ALL Keyframes: 1.279% Improvement from existing ALT_INTRA: ALL Keyframes: 1.146% Change-Id: I12637fa1b91bd836f1c59b27d6caee2004acbdd4
-
- 25 Oct, 2016 1 commit
-
-
Brennan Shacklett authored
Seems to be dead code Change-Id: I17b3edc9e82d6a1da172a686522358a6b1a630e9
-
- 18 Oct, 2016 1 commit
-
-
Jingning Han authored
Drop some speed features used in speed 2 and above, during the algorithm development process. This helps simplify the codebase. Change-Id: I3b2f5560d90b00d2d8fd57c2cb36f6ddd3f228e4
-
- 09 Sep, 2016 1 commit
-
-
James Zern authored
this matches style guidelines and stabilizes successive runs of clang-format across the tree. remaining types should be address in successive commits. Change-Id: I6ad3f69cf0a22cb9a9b895b272195f891f71170f
-
- 02 Sep, 2016 1 commit
-
-
Yaowu Xu authored
Change-Id: I2b2b70e756b7eb9611b7b33b7d5f19b3b30e0a50
-
- 01 Sep, 2016 2 commits
-
-
Yaowu Xu authored
Cherry-Picked the following commits: 0defd8f2 Changed "WebM" to "AOMedia" & "webm" to "aomedia" 54e66767 Replace "VPx" by "AVx" 5082a369 Change "Vpx" to "Avx" 7df44f17 Replace "Vp9" w/ "Av1" 967f722f Remove kVp9CodecId 828f30ce Change "Vp8" to "AOM" 030b5ffc AUTHORS regenerated 2524caee Add ref-mv experimental flag 016762be Change copyright notice to AOMedia form 81e55269 Replace vp9 w/ av1 9b94565b Add missing files fa8ca9f2 Change "vp9" to "av1" ec838b76 Convert "vp8" to "aom" 80edfa01 Change "VP9" to "AV1" d1a11fb9 Change "vp8" to "aom" 7b582513 Point to WebM test data dd1a5c8d Replace "VP8" with "AOM" ff00fc0f Change "VPX" to "AOM" 01dee0bb Change "vp10" to "av1" in source code cebe6f0c Convert "vpx" to "aom" 17b05679 rename vp10*.mk to av1_*.mk fe5f8a8a rename files vp10_* to av1_* Change-Id: I6fc3d18eb11fc171e46140c836ad5339cf6c9419
-
- 12 Aug, 2016 1 commit
-
-
clang-format authored
Change-Id: I58a42ced5b8a4338524434ff3356850b89aa705a
-
- 29 Jun, 2016 1 commit
-
-
Debargha Mukherjee authored
Change-Id: I22f1299545d4c75d80e72d479be66f66ea142ef1
-
- 08 Jun, 2016 1 commit
-
-
Jingning Han authored
The assumption doesn't hold true in the current codebase. Remove this speed feature to simplify the codebase. Change-Id: I9b69f484c9b7cd612b825047cc5b2fce63ee0af7
-
- 31 May, 2016 2 commits
-
-
hui su authored
Seperate prediction mode and tx type search for inter modes. Enabled for speed >=1. baseline: speed increase 40% compression drop 0.30%/0.29% on lowres/midres ext-tx: speed increase 160% compression drop 1.08%/0.95% on lowres/midres Change-Id: Ieb34b1ee80df6980d16e26a5783e08cc0deae55b
-
hui su authored
Add a speed feature to seperate prediction mode and tx type search for intra modes: search for best intra prediction mode with fixed default tx type first, then choose the best tx type for the selected mode. Coding performance drop: baseline lowres 0.10% midres 0.08% hdres 0.14% with ext-tx lowres 0.14% midres 0.25% hdres 0.20% Speed improvement is 20% for baseline and 17% for ext-tx. It is turned on for speed >= 1. Change-Id: Ia5e8d39e8a4e2e42c521bfde938f8b6a98ab24f9
-
- 16 May, 2016 1 commit
-
-
Debargha Mukherjee authored
Increases number of wedges for smaller block and removes wedge coding mode for blocks larger than 32x32. Also adds various other enhancements for subsequent experimentation, including adding provision for multiple smoothing functions (though one is used currently), adds a speed feature that decides the sign for interinter wedges using a fast mechanism, and refactors wedge representations. lowres: -2.651% BDRATE Most of the gain is due to increase in codebook size for 8x8 - 16x16. Change-Id: I50669f558c8d0d45e5a6f70aca4385a185b58b5b
-
- 03 May, 2016 1 commit
-
-
Debargha Mukherjee authored
lowres: -1.72% Change-Id: I4c883097caac72fab8e01945454579891617145e
-
- 28 Apr, 2016 1 commit
-
-
Debargha Mukherjee authored
lowres: improves by 0.1% Change-Id: I245019916bf47c6e24bc8c3953b86715ab0193c9
-
- 07 Apr, 2016 1 commit
-
-
Geza Lore authored
The uncompressed frame header contains a bit to signal whether the frame is encoded using 64x64 or 128x128 superblocks. This can vary between any 2 frames. vpxenc gained the --sb-size={64,128,dynamic} option, which allows the configuration of the superblock size used (default is dynamic). 64/128 will force the encoder to always use the specified superblock size. Dynamic would enable the encoder to choose the sb size for each frame, but this is not implemented yet (dynamic does the same as 128 for now). Constraints on tile sizes depend on the superblock size, the following is a summary of the current bitstream syntax and semantics: If both --enable-ext-tile is OFF and --enable-ext-partition is OFF: The tile coding in this case is the same as VP9. In particular, tiles have a minimum width of 256 pixels and a maximum width of 4096 pixels. The tile width must be multiples of 64 pixels (except for the rightmost tile column). There can be a maximum of 64 tile columns and 4 tile rows. If --enable-ext-tile is OFF and --enable-ext-partition is ON: Same constraints as above, except that tile width must be multiples of 128 pixels (except for the rightmost tile column). There is no change in the bitstream syntax used for coding the tile configuration if --enable-ext-tile is OFF. If --enable-ext-tile is ON and --enable-ext-partition is ON: This is the new large scale tile coding configuration. The minimum/maximum tile width and height are 64/4096 pixels. Tile width and height must be multiples of 64 pixels. The uncompressed header contains two 6 bit fields that hold the tile width/heigh in units of 64 pixels. The maximum number of tile rows/columns is only limited by the maximum frame size of 65536x65536 pixels that can be coded in the bitstream. This yields a maximum of 1024x1024 tile rows and columns (of 64x64 tiles in a 65536x65536 frame). If both --enable-ext-tile is ON and --enable-ext-partition is ON: Same applies as above, except that in the bitstream the 2 fields containing the tile width/height are in units of the superblock size, and the superblock size itself is also coded in the bitstream. If the uncompressed header signals the use of 64x64 superblocks, then the tile width/height fields are 6 bits wide and are in units of 64 pixels. If the uncompressed header signals the use of 128x128 superblocks, then the tile width/height fields are 5 bits wide and are in units of 128 pixels. The above is a summary of the bitstream. The user interface to vpxenc (and the equivalent encoder API) behaves a follows: If --enable-ext-tile is OFF: No change in the user interface. --tile-columns and --tile-rows specify the base 2 logarithm of the desired number of tile columns and tile rows. The actual number of tile rows and tile columns, and the particular tile width and tile height are computed by the codec ensuring all of the above constraints are respected. If --enable-ext-tile is ON, but --enable-ext-partition is OFF: No change in the user interface. --tile-columns and --tile-rows specify the WIDTH and HEIGHT of the tiles in unit of 64 pixels. The valid values are in the range [1, 64] (which corresponds to [64, 4096] pixels in increments of 64. If both --enable-ext-tile is ON and --enable-ext-partition is ON: If --sb-size=64 (default): The user interface is the same as in the previous point. --tile-columns and --tile-rows specify tile WIDTH and HEIGHT, in units of 64 pixels, in the range [1, 64] (which corresponds to [64, 4096] pixels in increments of 64). If --sb-size=128 or --sb-size=dynamic: --tile-columns and --tile-rows specify tile WIDTH and HEIGHT, in units of 128 pixels in the range [1, 32] (which corresponds to [128, 4096] pixels in increments of 128). Change-Id: Idc9beee1ad12ff1634e83671985d14c680f9179a
-
- 22 Mar, 2016 1 commit
-
-
Yaowu Xu authored
Change-Id: Ia055d03656ad1580447eced8687949583fdf4089
-
- 18 Mar, 2016 1 commit
-
-
Sarah Parker authored
Not getting good results for this feature, will try again when transforms are frozen. Change-Id: Id12396786cb9369ad34d0bd845f7beba3a037726
-
- 12 Mar, 2016 1 commit
-
-
Yunqing Wang authored
Using the up-sampled reference frames in sub-pixel motion search is enabled as a speed feature for good-quality mode speed 0 and speed 1. Change-Id: Ieb454bf8c646ddb99e87bd64c8e74dbd78d84a50
-
- 04 Mar, 2016 1 commit
-
-
Sarah Parker authored
This sets up the interface for 3 speed features that progressively eliminate a greater number of transforms in ext tx using pre-trained support vector machines. Each speed feature still needs to be implemented. Change-Id: Ia508aeadc0cffdc080fb227f357a5d1dfbca08e2
-
- 26 Feb, 2016 1 commit
-
-
Debargha Mukherjee authored
Includes various cosmetic changes and refactoring including naming the sharp filters differently (since they are no longer 8-tap). Change-Id: Ida5a19ca0daa9f6a64a6734394c685b2a4a2564a
-
- 23 Feb, 2016 1 commit
-
-
Geza Lore authored
Change-Id: Ib29f510289716b5ab5c7d74d32a450c190308a83
-
- 28 Jan, 2016 1 commit
-
-
clang-format authored
Change-Id: Ib8c9eb6263d6eba6b9d7b2e402b7e83a78c86be9
-
- 22 Jan, 2016 1 commit
-
-
Yue Chen authored
Combinations of different mv modes for two reference frames are allowed in compound inter modes. 9 options are enabled, including NEAREST_NEARESTMV, NEAREST_NEARMV, NEAR_NEARESTMV, NEAREST_NEWMV, NEW_NEARESTMV, NEAR_NEWMV, NEW_NEARMV, ZERO_ZEROMV, and NEW_NEWMV. This experiment is mostly deported from the nextgen branch. It is made compatible with other experiments Coding gain of EXT_INTER(derflr/hevcmr/hevchd): 0.533%/0.728%/0.639% Change-Id: Id47e97284e6481b186870afbad33204b7a33dbb0
-
- 15 Jan, 2016 1 commit
-
-
Yue Chen authored
NEW2MV is enabled, representing a new motion vector predicted from NEARMV. It is mostly ported from nextgen, where it was named NEW_INTER. A few fixes are done for sub8x8 RDO to correct some misused mv references in the original patch. A 'bug-fix' for encoding complexity is done, reducing the additional encoding time from 50% to 20%. In sub8x8 case, the old patch did motion search for every interpolation filter (vp9 only searches once). This fix also slightly improves the coding gain. This experiment has been made compatible with REF_MV and EXT_REFS. Coding gain (derflr/hevcmr/hevchd): 0.267%/0.542%/0.257% Change-Id: I9a94c5f292e7454492a877f65072e8aedba087d4
-
- 08 Dec, 2015 1 commit
-
-
paulwilkins authored
This change has been imported from VP9 and alters the nature and use of exhaustive motion search. Firstly any exhaustive search is preceded by a normal step search. The exhaustive search is only carried out if the distortion resulting from the step search is above a threshold value. Secondly the simple +/- 64 exhaustive search is replaced by a multi stage mesh based search where each stage has a range and step/interval size. Subsequent stages use the best position from the previous stage as the center of the search but use a reduced range and interval size. For example: stage 1: Range +/- 64 interval 4 stage 2: Range +/- 32 interval 2 stage 3: Range +/- 15 interval 1 This process, especially when it follows on from a normal step search, has shown itself to be almost as effective as a full range exhaustive search with step 1 but greatly lowers the computational complexity such that it can be used in some cases for speeds 0-2. This patch also removes a double exhaustive search for sub 8x8 blocks which also contained a bug (the two searches used different distortion metrics). For best quality in my test animation sequence this patch has almost no impact on quality but improves encode speed by more than 5X. Restricted use in good quality speeds 0-2 yields significant quality gains on the animation test of 0.2 - 0.5 db with only a small impact on encode speed. On most natural video clips, however, where the step search is performing well, the quality gain and speed impact are small. Change-Id: Iac24152ae239f42a246f39ee5f00fe62d193cb98
-
- 09 Nov, 2015 1 commit
-
-
Johann authored
Javan Whistling Duck release. Change-Id: If44c9ca16a8188b68759325fbacc771365cb4af8
-
- 10 Sep, 2015 3 commits
-
-
Jingning Han authored
This condition is not effectively in use. The actual reference frame masking is done in other route. Change-Id: Ia59c843bcac7243dada92f0f67658d7ce43df5e8
-
Jingning Han authored
Change-Id: Ic39d4523e78863c816b0fc85f56ea5ae5e0b3310
-
Jingning Han authored
Take out speed features that affect the compression performance to simplify the coding route. This commit removes the motion field mode search used in speed 3. Change-Id: Ifdf6862cb1ece8261125a56d9d89bcef60758c00
-
- 26 Aug, 2015 1 commit
-
-
Yunqing Wang authored
Code cleanup. Change-Id: I668bd5a4e5fbe96969d51d9ee777fc5f1d8abfe6
-
- 13 Aug, 2015 2 commits
- 12 Aug, 2015 1 commit
-
-
Jingning Han authored
Remove the vp9_ prefix from vp10 file names. Change-Id: I513a211b286a57d6126fc1b0fbfd6405120014f1
-