{"push_id":928605471,"size":43,"distinct_size":43,"ref":"refs/heads/master","head":"e023cf3749249604a470cb6087ffb5a350b3d0d9","before":"09bc200118e980209b3dac4aa98cfa0236a5a31c","commits":[{"sha":"67076513267907b5601828ae6864cc063c8c7548","author":{"email":"a076b11c2cc63ccdc903dbe182e1eecc3cbbc094@gramner.com","name":"Henrik Gramner"},"message":"x86: Fix integral_init4/8h_avx2\n\nThe AVX2 implementation was using the wrong offsets. It went undetected due to\nthe checkasm test being incorrect.","distinct":true,"url":"https://api.github.com/repos/YamashitaRen/x264_YMod/commits/67076513267907b5601828ae6864cc063c8c7548"},{"sha":"5c4728d8dd82ba46901824470db1609ae0f2521d","author":{"email":"54669547a225ff20cba8b75a4adca540eef25858@martin.st","name":"Martin Storsjö"},"message":"aarch64: Fix integral_init4/8h_neon\n\nThe stride is the number of uint16_t elements and thus needs\nto be shifted.\n\nThis issue had slipped unnoticed since checkasm didn't actually\nverify the output of these functions.","distinct":true,"url":"https://api.github.com/repos/YamashitaRen/x264_YMod/commits/5c4728d8dd82ba46901824470db1609ae0f2521d"},{"sha":"63555e696a997ff795798d3357d770f8ab373cd9","author":{"email":"ba05f09cdcce69b879e1d2eacd26a5c6232e9b4d@jannau.net","name":"Janne Grunau"},"message":"aarch64: fix x264_mbtree_propagate_cost_neon\n\nThe branch conditon caused the loop to execute one time more than\nintended. Detected by a memory corruption on arm with the 1 to 1 port of\nthe function.","distinct":true,"url":"https://api.github.com/repos/YamashitaRen/x264_YMod/commits/63555e696a997ff795798d3357d770f8ab373cd9"},{"sha":"a0cd7d38acb6c31973228ab207e18344920e0aa3","author":{"email":"ac57ef526fa7e02bb07c086ae63db1e9f35c82e3@gmail.com","name":"Vittorio Giovara"},"message":"lavf: Use the prefixed name for pixel format enum","distinct":true,"url":"https://api.github.com/repos/YamashitaRen/x264_YMod/commits/a0cd7d38acb6c31973228ab207e18344920e0aa3"},{"sha":"3f89a6bbee061cb0361770cf5b8495448515a011","author":{"email":"54669547a225ff20cba8b75a4adca540eef25858@martin.st","name":"Martin Storsjö"},"message":"arm: Simplify x264_predict_8x8c_p_neon\n\nThis gets rid of a few unnecessary (and confusing) steps in\ncalculating the increment to i00.\n\ncheckasm timing      Cortex-A7    A8    A9\nintra_predict_8x8c_p_c      5525  4732  4755\nintra_predict_8x8c_p_neon   1719  1140  1262  (before)\nintra_predict_8x8c_p_neon   1663  1142  1255  (after)","distinct":true,"url":"https://api.github.com/repos/YamashitaRen/x264_YMod/commits/3f89a6bbee061cb0361770cf5b8495448515a011"},{"sha":"d2b04a26b26d02c41ffb05cf1a605dafe9e6fa59","author":{"email":"54669547a225ff20cba8b75a4adca540eef25858@martin.st","name":"Martin Storsjö"},"message":"arm: Use aligned loads in x264_coeff_last15_neon\n\nAfter subtracting 2, the pointer will be aligned.\n\ncheckasm timing      Cortex-A7    A8    A9\ncoeff_last15_c              423   375   230\ncoeff_last15_neon           350   420   404  (before)\ncoeff_last15_neon           350   400   394  (after)","distinct":true,"url":"https://api.github.com/repos/YamashitaRen/x264_YMod/commits/d2b04a26b26d02c41ffb05cf1a605dafe9e6fa59"},{"sha":"ef6034812162fc8b51bfd5e87387f405d1cc30cb","author":{"email":"54669547a225ff20cba8b75a4adca540eef25858@martin.st","name":"Martin Storsjö"},"message":"aarch64: Simplify the decimate_score functions\n\nAfter doing a left shift by the number of bits returned by clz,\nonly bits set to zero can be shifted out, so if the register\nwas nonzero to start with (which is checked), it can't become\nzero here.","distinct":true,"url":"https://api.github.com/repos/YamashitaRen/x264_YMod/commits/ef6034812162fc8b51bfd5e87387f405d1cc30cb"},{"sha":"ff71457d71c5c11ed825d848677cab09c7639012","author":{"email":"54669547a225ff20cba8b75a4adca540eef25858@martin.st","name":"Martin Storsjö"},"message":"aarch64: Remove leftover commented out code","distinct":true,"url":"https://api.github.com/repos/YamashitaRen/x264_YMod/commits/ff71457d71c5c11ed825d848677cab09c7639012"},{"sha":"89439b2c604c81e13eb3da9e692d2cdae5a18b53","author":{"email":"54669547a225ff20cba8b75a4adca540eef25858@martin.st","name":"Martin Storsjö"},"message":"arm: Optimize x264_deblock_h_chroma_neon\n\nShuffle both chroma components together as a 16 bit unit, and\ndon't write the unchanged columns (like in x264_deblock_h_luma_neon\nand in the aarch64 version of the function).\n\nThis causes a minor slowdown for x264_deblock_v_chroma_neon, but\nit is negligible compared to the speedup.\n\ncheckasm timing      Cortex-A7    A8    A9\ndeblock_chroma[1]_c         4817  4057  3601\ndeblock_chroma[1]_neon      1249  716   817   (before)\ndeblock_chroma[1]_neon      1249  766   845   (after)\n\ndeblock_h_chroma_420_c      3699  3275  2830\ndeblock_h_chroma_420_neon   2068  1414  1400  (before)\ndeblock_h_chroma_420_neon   1838  1355  1291  (after)","distinct":true,"url":"https://api.github.com/repos/YamashitaRen/x264_YMod/commits/89439b2c604c81e13eb3da9e692d2cdae5a18b53"},{"sha":"6efb57ada652fd015ec4cacffd09282632bb975b","author":{"email":"54669547a225ff20cba8b75a4adca540eef25858@martin.st","name":"Martin Storsjö"},"message":"arm: Implement x264_sub8x16_dct_dc_neon\n\ncheckasm timing      Cortex-A7      A8     A9\nsub8x16_dct_dc_c            6386    3901   4080\nsub8x16_dct_dc_neon         1491    698    917","distinct":true,"url":"https://api.github.com/repos/YamashitaRen/x264_YMod/commits/6efb57ada652fd015ec4cacffd09282632bb975b"},{"sha":"592e92e9a8e47c3f0d0017c8158df5a4830e0bbd","author":{"email":"ba05f09cdcce69b879e1d2eacd26a5c6232e9b4d@jannau.net","name":"Janne Grunau"},"message":"aarch64: Remove commas LLVM's assembler complains about","distinct":true,"url":"https://api.github.com/repos/YamashitaRen/x264_YMod/commits/592e92e9a8e47c3f0d0017c8158df5a4830e0bbd"},{"sha":"f2a6be92e5e42e8ef1daf74f63dbdbc4819d2070","author":{"email":"ba05f09cdcce69b879e1d2eacd26a5c6232e9b4d@jannau.net","name":"Janne Grunau"},"message":"aarch64: Fix coeff_level_run* macros with LLVM's assembler\n\nLLVM's integrated assembler does not treat symbols as integer constants.","distinct":true,"url":"https://api.github.com/repos/YamashitaRen/x264_YMod/commits/f2a6be92e5e42e8ef1daf74f63dbdbc4819d2070"},{"sha":"b16268ac0826d78455d0d704ea0fc8b1edc6b6bf","author":{"email":"ba05f09cdcce69b879e1d2eacd26a5c6232e9b4d@jannau.net","name":"Janne Grunau"},"message":"aarch64: Faster intra_predict_4x4_h\n\nUse multiplication with 0x01010101 for splats.\n\nOn a cortex-a53:\n                     gcc 4.9.2   llvm 3.6   neon (before)   neon (after)\nintra_predict_4x4_h: 162         147        160/155         139/135","distinct":true,"url":"https://api.github.com/repos/YamashitaRen/x264_YMod/commits/b16268ac0826d78455d0d704ea0fc8b1edc6b6bf"},{"sha":"aec81efd3fe43008551916aa6073eb0732a58210","author":{"email":"ba05f09cdcce69b879e1d2eacd26a5c6232e9b4d@jannau.net","name":"Janne Grunau"},"message":"aarch64: Optimize various intra_predict asm functions\n\nMake them at least as fast as the compiled C version (tested on\ncortex-a53 vs. gcc 4.9.2).\n\n                        C     NEON (before)   NEON (after)\nintra_predict_4x4_dc:   260   335             260\nintra_predict_4x4_dct:  210   265             200\nintra_predict_8x8c_dc:  497   548             493\nintra_predict_8x8c_v:   232   309             179 (arm64)\nintra_predict_8x16c_dc: 795   830             790","distinct":true,"url":"https://api.github.com/repos/YamashitaRen/x264_YMod/commits/aec81efd3fe43008551916aa6073eb0732a58210"},{"sha":"3d86abab097fa26d116112f188458269c6a0415f","author":{"email":"ba05f09cdcce69b879e1d2eacd26a5c6232e9b4d@jannau.net","name":"Janne Grunau"},"message":"aarch64: Skip deblocking in 264_deblock_h_chroma_422_neon\n\nIf the parameters (alpha, beta, tc0[]) indicated that the deblocking\nshould have been skipped, every 2nd chrome line would have deblocked\nanyway.\n\ndeblock_h_chroma_422_neon: 2259 (before)\ndeblock_h_chroma_422_neon: 2192 (after)","distinct":true,"url":"https://api.github.com/repos/YamashitaRen/x264_YMod/commits/3d86abab097fa26d116112f188458269c6a0415f"},{"sha":"42b3b398664349d23b2122ac940417165424542d","author":{"email":"54669547a225ff20cba8b75a4adca540eef25858@martin.st","name":"Martin Storsjö"},"message":"checkasm: Check the right output range for integral_initXh\n\nThese functions write their output into sum+stride, while we previously\nonly checked [0..stride-8] within the sum array.\n\nThis catches the previously broken aarch64 version of these functions.\n\nAlso check up until stride-4 elements for init4h.","distinct":true,"url":"https://api.github.com/repos/YamashitaRen/x264_YMod/commits/42b3b398664349d23b2122ac940417165424542d"},{"sha":"8feb733ed1dcb1cc94df3b0e6c98009832ea85cc","author":{"email":"54669547a225ff20cba8b75a4adca540eef25858@martin.st","name":"Martin Storsjö"},"message":"arm: Add neon versions of vsad, asd8 and ssd_nv12_core\n\nThese are straight translations of the aarch64 versions.\n\ncheckasm timing      Cortex-A7      A8      A9\nvsad_c                      16234   10984   9850\nvsad_neon                   2132    1020    789\n\nasd8_c                      5859    3561    3543\nasd8_neon                   1407    1279    1250\n\nssd_nv12_c                  608096  591072  426285\nssd_nv12_neon               72752   33549   41347","distinct":true,"url":"https://api.github.com/repos/YamashitaRen/x264_YMod/commits/8feb733ed1dcb1cc94df3b0e6c98009832ea85cc"},{"sha":"ceee976bde76a5f4126bfd9d8454f0e601e67204","author":{"email":"54669547a225ff20cba8b75a4adca540eef25858@martin.st","name":"Martin Storsjö"},"message":"arm: Add x264_nal_escape_neon\n\ncheckasm timing      Cortex-A7      A8      A9\nnal_escape_c                852758  879566  655497\nnal_escape_neon             376831  450678  371673","distinct":true,"url":"https://api.github.com/repos/YamashitaRen/x264_YMod/commits/ceee976bde76a5f4126bfd9d8454f0e601e67204"},{"sha":"b08403b5593307b919bfe5bfbd743da825326a4c","author":{"email":"54669547a225ff20cba8b75a4adca540eef25858@martin.st","name":"Martin Storsjö"},"message":"arm: Implement x264_denoise_dct_neon\n\ncheckasm timing       Cortex-A7      A8     A9\ndenoise_dct_c                6604    5510   5858\ndenoise_dct_neon             1774    1139   1614","distinct":true,"url":"https://api.github.com/repos/YamashitaRen/x264_YMod/commits/b08403b5593307b919bfe5bfbd743da825326a4c"},{"sha":"5265b927b0f2e043dd39cbbbf3909da0862d60e6","author":{"email":"54669547a225ff20cba8b75a4adca540eef25858@martin.st","name":"Martin Storsjö"},"message":"arm: Implement integral_init4/8h/v_neon\n\ncheckasm timing       Cortex-A7      A8     A9\nintegral_init4h_c            10466   8590   6161\nintegral_init4h_neon         3021    1494   1800\nintegral_init4v_c            16250   13590  13628\nintegral_init4v_neon         3473    2073   3291\nintegral_init8h_c            10100   8275   5705\nintegral_init8h_neon         4403    2344   2751\nintegral_init8v_c            6403    4632   4999\nintegral_init8v_neon         1184    783    1306","distinct":true,"url":"https://api.github.com/repos/YamashitaRen/x264_YMod/commits/5265b927b0f2e043dd39cbbbf3909da0862d60e6"}]}