{"push_id":2014384898,"size":13,"distinct_size":13,"ref":"refs/heads/master","head":"276f035a4d0f0cbd88c0b67d0358d3d121202c5a","before":"da53c424b96f57d7471767d99072d35efe15a8e0","commits":[{"sha":"0331c3f5e8cb6e6b53fab7893e91d1be1bfa979c","author":{"name":"Martin Storsjö","email":"ea98e1d0a9a4d10e3af04e16be88050749615623@martin.st"},"message":"arm: vp9itxfm: Make the larger core transforms standalone functions\n\nThis work is sponsored by, and copyright, Google.\n\nThis reduces the code size of libavcodec/arm/vp9itxfm_neon.o from\n15324 to 12388 bytes.\n\nThis gives a small slowdown of a couple tens of cycles, up to around\n150 cycles for the full case of the largest transform, but makes\nit more feasible to add more optimized versions of these transforms.\n\nBefore:                              Cortex A7       A8       A9      A53\nvp9_inv_dct_dct_16x16_sub4_add_neon:    2063.4   1516.0   1719.5   1245.1\nvp9_inv_dct_dct_16x16_sub16_add_neon:   3279.3   2454.5   2525.2   1982.3\nvp9_inv_dct_dct_32x32_sub4_add_neon:   10750.0   7955.4   8525.6   6754.2\nvp9_inv_dct_dct_32x32_sub32_add_neon:  18574.0  17108.4  14216.7  12010.2\n\nAfter:\nvp9_inv_dct_dct_16x16_sub4_add_neon:    2060.8   1608.5   1735.7   1262.0\nvp9_inv_dct_dct_16x16_sub16_add_neon:   3211.2   2443.5   2546.1   1999.5\nvp9_inv_dct_dct_32x32_sub4_add_neon:   10682.0   8043.8   8581.3   6810.1\nvp9_inv_dct_dct_32x32_sub32_add_neon:  18522.4  17277.4  14286.7  12087.9\n\nSigned-off-by: Martin Storsjö <martin@martin.st>","distinct":true,"url":"https://api.github.com/repos/FFmpeg/FFmpeg/commits/0331c3f5e8cb6e6b53fab7893e91d1be1bfa979c"},{"sha":"115476018d2c97df7e9b4445fe8f6cc7420ab91f","author":{"name":"Martin Storsjö","email":"ea98e1d0a9a4d10e3af04e16be88050749615623@martin.st"},"message":"aarch64: vp9itxfm: Make the larger core transforms standalone functions\n\nThis work is sponsored by, and copyright, Google.\n\nThis reduces the code size of libavcodec/aarch64/vp9itxfm_neon.o from\n19496 to 14740 bytes.\n\nThis gives a small slowdown of a couple of tens of cycles, but makes\nit more feasible to add more optimized versions of these transforms.\n\nBefore:\nvp9_inv_dct_dct_16x16_sub4_add_neon:    1036.7\nvp9_inv_dct_dct_16x16_sub16_add_neon:   1372.2\nvp9_inv_dct_dct_32x32_sub4_add_neon:    5180.0\nvp9_inv_dct_dct_32x32_sub32_add_neon:   8095.7\n\nAfter:\nvp9_inv_dct_dct_16x16_sub4_add_neon:    1051.0\nvp9_inv_dct_dct_16x16_sub16_add_neon:   1390.1\nvp9_inv_dct_dct_32x32_sub4_add_neon:    5199.9\nvp9_inv_dct_dct_32x32_sub32_add_neon:   8125.8\n\nSigned-off-by: Martin Storsjö <martin@martin.st>","distinct":true,"url":"https://api.github.com/repos/FFmpeg/FFmpeg/commits/115476018d2c97df7e9b4445fe8f6cc7420ab91f"},{"sha":"47b3c2c18d1897f3c753ba0cec4b2d7aa24526af","author":{"name":"Martin Storsjö","email":"ea98e1d0a9a4d10e3af04e16be88050749615623@martin.st"},"message":"arm: vp9itxfm: Move the load_add_store macro out from the itxfm16 pass2 function\n\nThis allows reusing the macro for a separate implementation of the\npass2 function.\n\nSigned-off-by: Martin Storsjö <martin@martin.st>","distinct":true,"url":"https://api.github.com/repos/FFmpeg/FFmpeg/commits/47b3c2c18d1897f3c753ba0cec4b2d7aa24526af"},{"sha":"79d332ebbde8c0a3e9da094dcfd10abd33ba7378","author":{"name":"Martin Storsjö","email":"ea98e1d0a9a4d10e3af04e16be88050749615623@martin.st"},"message":"aarch64: vp9itxfm: Move the load_add_store macro out from the itxfm16 pass2 function\n\nThis allows reusing the macro for a separate implementation of the\npass2 function.\n\nSigned-off-by: Martin Storsjö <martin@martin.st>","distinct":true,"url":"https://api.github.com/repos/FFmpeg/FFmpeg/commits/79d332ebbde8c0a3e9da094dcfd10abd33ba7378"},{"sha":"5eb5aec475aabc884d083566f902876ecbc072cb","author":{"name":"Martin Storsjö","email":"ea98e1d0a9a4d10e3af04e16be88050749615623@martin.st"},"message":"arm: vp9itxfm: Do a simpler half/quarter idct16/idct32 when possible\n\nThis work is sponsored by, and copyright, Google.\n\nThis avoids loading and calculating coefficients that we know will\nbe zero, and avoids filling the temp buffer with zeros in places\nwhere we know the second pass won't read.\n\nThis gives a pretty substantial speedup for the smaller subpartitions.\n\nThe code size increases from 12388 bytes to 19784 bytes.\n\nThe idct16/32_end macros are moved above the individual functions; the\ninstructions themselves are unchanged, but since new functions are added\nat the same place where the code is moved from, the diff looks rather\nmessy.\n\nBefore:                              Cortex A7       A8       A9      A53\nvp9_inv_dct_dct_16x16_sub1_add_neon:     273.0    189.5    212.0    235.8\nvp9_inv_dct_dct_16x16_sub2_add_neon:    2102.1   1521.7   1736.2   1265.8\nvp9_inv_dct_dct_16x16_sub4_add_neon:    2104.5   1533.0   1736.6   1265.5\nvp9_inv_dct_dct_16x16_sub8_add_neon:    2484.8   1828.7   2014.4   1506.5\nvp9_inv_dct_dct_16x16_sub12_add_neon:   2851.2   2117.8   2294.8   1753.2\nvp9_inv_dct_dct_16x16_sub16_add_neon:   3239.4   2408.3   2543.5   1994.9\nvp9_inv_dct_dct_32x32_sub1_add_neon:     758.3    456.7    864.5    553.9\nvp9_inv_dct_dct_32x32_sub2_add_neon:   10776.7   7949.8   8567.7   6819.7\nvp9_inv_dct_dct_32x32_sub4_add_neon:   10865.6   8131.5   8589.6   6816.3\nvp9_inv_dct_dct_32x32_sub8_add_neon:   12053.9   9271.3   9387.7   7564.0\nvp9_inv_dct_dct_32x32_sub12_add_neon:  13328.3  10463.2  10217.0   8321.3\nvp9_inv_dct_dct_32x32_sub16_add_neon:  14176.4  11509.5  11018.7   9062.3\nvp9_inv_dct_dct_32x32_sub20_add_neon:  15301.5  12999.9  11855.1   9828.2\nvp9_inv_dct_dct_32x32_sub24_add_neon:  16482.7  14931.5  12650.1  10575.0\nvp9_inv_dct_dct_32x32_sub28_add_neon:  17589.5  15811.9  13482.8  11333.4\nvp9_inv_dct_dct_32x32_sub32_add_neon:  18696.2  17049.2  14355.6  12089.7\n\nAfter:\nvp9_inv_dct_dct_16x16_sub1_add_neon:     273.0    189.5    211.7    235.8\nvp9_inv_dct_dct_16x16_sub2_add_neon:    1203.5    998.2   1035.3    763.0\nvp9_inv_dct_dct_16x16_sub4_add_neon:    1203.5    998.1   1035.5    760.8\nvp9_inv_dct_dct_16x16_sub8_add_neon:    1926.1   1610.6   1722.1   1271.7\nvp9_inv_dct_dct_16x16_sub12_add_neon:   2873.2   2129.7   2285.1   1757.3\nvp9_inv_dct_dct_16x16_sub16_add_neon:   3221.4   2520.3   2557.6   2002.1\nvp9_inv_dct_dct_32x32_sub1_add_neon:     753.0    457.5    866.6    554.6\nvp9_inv_dct_dct_32x32_sub2_add_neon:    7554.6   5652.4   6048.4   4920.2\nvp9_inv_dct_dct_32x32_sub4_add_neon:    7549.9   5685.0   6046.9   4925.7\nvp9_inv_dct_dct_32x32_sub8_add_neon:    8336.9   6704.5   6604.0   5478.0\nvp9_inv_dct_dct_32x32_sub12_add_neon:  10914.0   9777.2   9240.4   7416.9\nvp9_inv_dct_dct_32x32_sub16_add_neon:  11859.2  11223.3   9966.3   8095.1\nvp9_inv_dct_dct_32x32_sub20_add_neon:  15237.1  13029.4  11838.3   9829.4\nvp9_inv_dct_dct_32x32_sub24_add_neon:  16293.2  14379.8  12644.9  10572.0\nvp9_inv_dct_dct_32x32_sub28_add_neon:  17424.3  15734.7  13473.0  11326.9\nvp9_inv_dct_dct_32x32_sub32_add_neon:  18531.3  17457.0  14298.6  12080.0\n\nSigned-off-by: Martin Storsjö <martin@martin.st>","distinct":true,"url":"https://api.github.com/repos/FFmpeg/FFmpeg/commits/5eb5aec475aabc884d083566f902876ecbc072cb"},{"sha":"a63da4511d0fee66695ff4afd264ba1dbf1e812d","author":{"name":"Martin Storsjö","email":"ea98e1d0a9a4d10e3af04e16be88050749615623@martin.st"},"message":"aarch64: vp9itxfm: Do separate functions for half/quarter idct16 and idct32\n\nThis work is sponsored by, and copyright, Google.\n\nThis avoids loading and calculating coefficients that we know will\nbe zero, and avoids filling the temp buffer with zeros in places\nwhere we know the second pass won't read.\n\nThis gives a pretty substantial speedup for the smaller subpartitions.\n\nThe code size increases from 14740 bytes to 24292 bytes.\n\nThe idct16/32_end macros are moved above the individual functions; the\ninstructions themselves are unchanged, but since new functions are added\nat the same place where the code is moved from, the diff looks rather\nmessy.\n\nBefore:\nvp9_inv_dct_dct_16x16_sub1_add_neon:     236.7\nvp9_inv_dct_dct_16x16_sub2_add_neon:    1051.0\nvp9_inv_dct_dct_16x16_sub4_add_neon:    1051.0\nvp9_inv_dct_dct_16x16_sub8_add_neon:    1051.0\nvp9_inv_dct_dct_16x16_sub12_add_neon:   1387.4\nvp9_inv_dct_dct_16x16_sub16_add_neon:   1387.6\nvp9_inv_dct_dct_32x32_sub1_add_neon:     554.1\nvp9_inv_dct_dct_32x32_sub2_add_neon:    5198.5\nvp9_inv_dct_dct_32x32_sub4_add_neon:    5198.6\nvp9_inv_dct_dct_32x32_sub8_add_neon:    5196.3\nvp9_inv_dct_dct_32x32_sub12_add_neon:   6183.4\nvp9_inv_dct_dct_32x32_sub16_add_neon:   6174.3\nvp9_inv_dct_dct_32x32_sub20_add_neon:   7151.4\nvp9_inv_dct_dct_32x32_sub24_add_neon:   7145.3\nvp9_inv_dct_dct_32x32_sub28_add_neon:   8119.3\nvp9_inv_dct_dct_32x32_sub32_add_neon:   8118.7\n\nAfter:\nvp9_inv_dct_dct_16x16_sub1_add_neon:     236.7\nvp9_inv_dct_dct_16x16_sub2_add_neon:     640.8\nvp9_inv_dct_dct_16x16_sub4_add_neon:     639.0\nvp9_inv_dct_dct_16x16_sub8_add_neon:     842.0\nvp9_inv_dct_dct_16x16_sub12_add_neon:   1388.3\nvp9_inv_dct_dct_16x16_sub16_add_neon:   1389.3\nvp9_inv_dct_dct_32x32_sub1_add_neon:     554.1\nvp9_inv_dct_dct_32x32_sub2_add_neon:    3685.5\nvp9_inv_dct_dct_32x32_sub4_add_neon:    3685.1\nvp9_inv_dct_dct_32x32_sub8_add_neon:    3684.4\nvp9_inv_dct_dct_32x32_sub12_add_neon:   5312.2\nvp9_inv_dct_dct_32x32_sub16_add_neon:   5315.4\nvp9_inv_dct_dct_32x32_sub20_add_neon:   7154.9\nvp9_inv_dct_dct_32x32_sub24_add_neon:   7154.5\nvp9_inv_dct_dct_32x32_sub28_add_neon:   8126.6\nvp9_inv_dct_dct_32x32_sub32_add_neon:   8127.2\n\nSigned-off-by: Martin Storsjö <martin@martin.st>","distinct":true,"url":"https://api.github.com/repos/FFmpeg/FFmpeg/commits/a63da4511d0fee66695ff4afd264ba1dbf1e812d"},{"sha":"3933b86bb93aca47f29fbd493075b0f110c1e3f5","author":{"name":"Martin Storsjö","email":"ea98e1d0a9a4d10e3af04e16be88050749615623@martin.st"},"message":"arm: vp9itxfm: Share instructions for loading idct coeffs in the 8x8 function\n\nSigned-off-by: Martin Storsjö <martin@martin.st>","distinct":true,"url":"https://api.github.com/repos/FFmpeg/FFmpeg/commits/3933b86bb93aca47f29fbd493075b0f110c1e3f5"},{"sha":"4da4b2b87f08a1331650c7e36eb7d4029a160776","author":{"name":"Martin Storsjö","email":"ea98e1d0a9a4d10e3af04e16be88050749615623@martin.st"},"message":"aarch64: vp9itxfm: Share instructions for loading idct coeffs in the 8x8 function\n\nSigned-off-by: Martin Storsjö <martin@martin.st>","distinct":true,"url":"https://api.github.com/repos/FFmpeg/FFmpeg/commits/4da4b2b87f08a1331650c7e36eb7d4029a160776"},{"sha":"ed8d293306e12c9b79022d37d39f48825ce7f2fa","author":{"name":"Martin Storsjö","email":"ea98e1d0a9a4d10e3af04e16be88050749615623@martin.st"},"message":"aarch64: vp9itxfm: Use a single lane ld1 instead of ld1r where possible\n\nThe ld1r is a leftover from the arm version, where this trick is\nbeneficial on some cores.\n\nUse a single-lane load where we don't need the semantics of ld1r.\n\nSigned-off-by: Martin Storsjö <martin@martin.st>","distinct":true,"url":"https://api.github.com/repos/FFmpeg/FFmpeg/commits/ed8d293306e12c9b79022d37d39f48825ce7f2fa"},{"sha":"3dd7827258ddaa2e51085d0c677d6f3b1be3572f","author":{"name":"Martin Storsjö","email":"ea98e1d0a9a4d10e3af04e16be88050749615623@martin.st"},"message":"aarch64: vp9itxfm: Use the right lane sizes in 8x8 for improved readability\n\nSigned-off-by: Martin Storsjö <martin@martin.st>","distinct":true,"url":"https://api.github.com/repos/FFmpeg/FFmpeg/commits/3dd7827258ddaa2e51085d0c677d6f3b1be3572f"},{"sha":"8476eb0d3ab1f7a52317b23346646389c08fb57a","author":{"name":"Martin Storsjö","email":"ea98e1d0a9a4d10e3af04e16be88050749615623@martin.st"},"message":"aarch64: vp9itxfm: Update a comment to refer to a register with a different name\n\nSigned-off-by: Martin Storsjö <martin@martin.st>","distinct":true,"url":"https://api.github.com/repos/FFmpeg/FFmpeg/commits/8476eb0d3ab1f7a52317b23346646389c08fb57a"},{"sha":"0c0b87f12d48d4e7f0d3d13f9345e828a3a5ea32","author":{"name":"Martin Storsjö","email":"ea98e1d0a9a4d10e3af04e16be88050749615623@martin.st"},"message":"aarch64: vp9itxfm: Fix incorrect vertical alignment\n\nSigned-off-by: Martin Storsjö <martin@martin.st>","distinct":true,"url":"https://api.github.com/repos/FFmpeg/FFmpeg/commits/0c0b87f12d48d4e7f0d3d13f9345e828a3a5ea32"},{"sha":"276f035a4d0f0cbd88c0b67d0358d3d121202c5a","author":{"name":"James Almer","email":"7a36b84f3c5396ef767c708b013706e449f967f5@gmail.com"},"message":"Merge commit '0c0b87f12d48d4e7f0d3d13f9345e828a3a5ea32'\n\n* commit '0c0b87f12d48d4e7f0d3d13f9345e828a3a5ea32':\n  aarch64: vp9itxfm: Fix incorrect vertical alignment\n  aarch64: vp9itxfm: Update a comment to refer to a register with a different name\n  aarch64: vp9itxfm: Use the right lane sizes in 8x8 for improved readability\n  aarch64: vp9itxfm: Use a single lane ld1 instead of ld1r where possible\n  aarch64: vp9itxfm: Share instructions for loading idct coeffs in the 8x8 function\n  arm: vp9itxfm: Share instructions for loading idct coeffs in the 8x8 function\n  aarch64: vp9itxfm: Do separate functions for half/quarter idct16 and idct32\n  arm: vp9itxfm: Do a simpler half/quarter idct16/idct32 when possible\n  aarch64: vp9itxfm: Move the load_add_store macro out from the itxfm16 pass2 function\n  arm: vp9itxfm: Move the load_add_store macro out from the itxfm16 pass2 function\n  aarch64: vp9itxfm: Make the larger core transforms standalone functions\n  arm: vp9itxfm: Make the larger core transforms standalone functions\n\nThis commit is a noop, see\nf8fcee0daf42d16581ec581bd5ff6373c3a76103\ndc47bf3872fde18f6aea33f015a95b70e24dff19\n3bd9b39108076e1fca8cd26970cb946fce66523a\na681c793a30386d01d273ce86b3368311cffb511\n824589556cb7c4bfafb8a0190e71a10c628f5339\n9532a7d4d060f2a2741225a76945daed52dbc478\n1d8ab576a7e40ea6209dd753929f26dcb37e1444\n3006e5253afc6a0ee001916806aae80f157d7043\n19a0f9529ccdb48696f0caa251fe36b1d30df739\n6752318c737663f0ac019de3acd63e3cea706864\nd0fbf7f34e7243f6a4cbde9925f34d924e6d93f7\n16ef000799b227d0226b7a678d28c34ff1d09410\n\nMerged-by: James Almer <jamrial@gmail.com>","distinct":true,"url":"https://api.github.com/repos/FFmpeg/FFmpeg/commits/276f035a4d0f0cbd88c0b67d0358d3d121202c5a"}]}
{"actor":{"display_login":"TimothyGu"}}