{"push_id":882464486,"size":18,"distinct_size":18,"ref":"refs/heads/master","head":"8741d3655cdd9095a23bba928efb27fbfd44d217","before":"2bc89600565c1bdb2753a89d50e3d1f1bb7a5cc1","commits":[{"sha":"96786a12f6df26990bbe7c0ca4592b3731724469","author":{"email":"bd30873f3039d227f2d43dffb4a4261325de676f@gmail.com","name":"Ganesh Ajjanagadde"},"message":"avcodec/aac_tablegen: speed up table initialization\n\nThis speeds up aac_tablegen to a ludicruous degree (~97%), i.e to the point\nwhere it can be argued that runtime initialization can always be done instead of\nhard-coded tables. The only cost is essentially a trivial increase in\nthe stack size.\n\nEven if one does not care about this, the patch also improves accuracy\nas detailed below.\n\nPerformance:\nBenchmark obtained by looping 10^4 times over ff_aac_tableinit.\n\nSample benchmark (x86-64, Haswell, GNU/Linux):\nold:\n1295292 decicycles in ff_aac_tableinit,     512 runs,      0 skips\n1275981 decicycles in ff_aac_tableinit,    1024 runs,      0 skips\n1272932 decicycles in ff_aac_tableinit,    2048 runs,      0 skips\n1262164 decicycles in ff_aac_tableinit,    4096 runs,      0 skips\n1256720 decicycles in ff_aac_tableinit,    8192 runs,      0 skips\n\nnew:\n21112 decicycles in ff_aac_tableinit,     511 runs,      1 skips\n21269 decicycles in ff_aac_tableinit,    1023 runs,      1 skips\n21352 decicycles in ff_aac_tableinit,    2043 runs,      5 skips\n21386 decicycles in ff_aac_tableinit,    4080 runs,     16 skips\n21299 decicycles in ff_aac_tableinit,    8173 runs,     19 skips\n\nAccuracy:\nThe previous code was resulting in needless loss of\naccuracy due to the pow being called in succession. As an illustration\nof this:\nff_aac_pow34sf_tab[3]\nold : 0.000000000007598092294225\nnew : 0.000000000007598091426864\nreal: 0.000000000007598091778545\n\ntruncated to float\nold : 0.000000000007598092294225\nnew : 0.000000000007598091426864\nreal: 0.000000000007598091426864\n\nshowing that the old value was not correctly rounded. This affects a\nlarge number of elements of the array.\n\nPatch tested with FATE.\n\nReviewed-by: Rostislav Pehlivanov <atomnuker@gmail.com>\nSigned-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>","distinct":true,"url":"https://api.github.com/repos/ShiftMediaProject/FFmpeg/commits/96786a12f6df26990bbe7c0ca4592b3731724469"},{"sha":"a1f6b05f5228979dab0e149deca7a30d22e98af5","author":{"email":"17b9e1c64588c7fa6419b4d29dc1f4426279ba01@niedermayer.cc","name":"Michael Niedermayer"},"message":"avcodec/cabac_functions: Fix \"left shift of negative value -31767\"\n\nFixes: 1430e9c43fae47a24c179c7c54f94918/signal_sigsegv_421427_2340_591e9810c7b09efe501ad84638c9e9f8.264\n\nFound-by: Mateusz \"j00ru\" Jurczyk and Gynvael Coldwind\nFound-by: xiedingbao (Ticket4727)\nSigned-off-by: Michael Niedermayer <michael@niedermayer.cc>","distinct":true,"url":"https://api.github.com/repos/ShiftMediaProject/FFmpeg/commits/a1f6b05f5228979dab0e149deca7a30d22e98af5"},{"sha":"8000d484b83aafa752d84fbdbfb352ffe0dc64f8","author":{"email":"17b9e1c64588c7fa6419b4d29dc1f4426279ba01@niedermayer.cc","name":"Michael Niedermayer"},"message":"avcodec/cabac: Check initial cabac decoder state\n\nFixes integer overflows\nFixes: 1430e9c43fae47a24c179c7c54f94918/signal_sigsegv_421427_2340_591e9810c7b09efe501ad84638c9e9f8.264\n\nFound-by: Mateusz \"j00ru\" Jurczyk and Gynvael Coldwind\nFound-by: xiedingbao (Ticket4727)\nSigned-off-by: Michael Niedermayer <michael@niedermayer.cc>","distinct":true,"url":"https://api.github.com/repos/ShiftMediaProject/FFmpeg/commits/8000d484b83aafa752d84fbdbfb352ffe0dc64f8"},{"sha":"3d62e7a30fa552be52d12b31e3e0f79153aff891","author":{"email":"8bc83ecdb1b2231045bfd7961620976748f2bd2d@gmail.com","name":"Rostislav Pehlivanov"},"message":"aacenc: make threadsafe\n\nSince the ff_aac_tableinit() can be called by both the encoder and\nthe decoder (in case of transcoding) this commit shares the AVOnce\nvariable to prevent this.\n\nSigned-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>","distinct":true,"url":"https://api.github.com/repos/ShiftMediaProject/FFmpeg/commits/3d62e7a30fa552be52d12b31e3e0f79153aff891"},{"sha":"222545cc7e09864d294b1af4d08305800a3bb684","author":{"email":"8bc83ecdb1b2231045bfd7961620976748f2bd2d@gmail.com","name":"Rostislav Pehlivanov"},"message":"aactab.h: update and correct comment\n\nTables in that file have been used by both for a long time now.\n\nSigned-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>","distinct":true,"url":"https://api.github.com/repos/ShiftMediaProject/FFmpeg/commits/222545cc7e09864d294b1af4d08305800a3bb684"},{"sha":"591fbd629ef5fcff874a5cca8a9edd094f0c9ea4","author":{"email":"8bc83ecdb1b2231045bfd7961620976748f2bd2d@gmail.com","name":"Rostislav Pehlivanov"},"message":"aactab.h: fix comment\n\nPrevious commit broke it.\n\nSigned-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>","distinct":true,"url":"https://api.github.com/repos/ShiftMediaProject/FFmpeg/commits/591fbd629ef5fcff874a5cca8a9edd094f0c9ea4"},{"sha":"ec0719264cb9a9d5cbaf225da48929aea24997a3","author":{"email":"8bc83ecdb1b2231045bfd7961620976748f2bd2d@gmail.com","name":"Rostislav Pehlivanov"},"message":"aac: temporarily un-share aac_table_init AVOnce variable\n\nAAC-Fixed decoder segfaulted. This commit makes the aac encoder\nand decoder init the table twice in case of transcoding again.\n\nSigned-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>","distinct":true,"url":"https://api.github.com/repos/ShiftMediaProject/FFmpeg/commits/ec0719264cb9a9d5cbaf225da48929aea24997a3"},{"sha":"ef9f7bbfa47317f9d46bf46982a394d2be78503c","author":{"email":"17b9e1c64588c7fa6419b4d29dc1f4426279ba01@niedermayer.cc","name":"Michael Niedermayer"},"message":"avcodec/hevc: Check entry_point_offsets\n\nFixes out of array read\nFixes: 007c4a36608ebdf27ee260ad60a81184/asan_heap-oob_32076b4_2243_116b1cb29d91cc4974d6680e3d10bd91.bit\n\nFound-by: Mateusz \"j00ru\" Jurczyk and Gynvael Coldwind\nSigned-off-by: Michael Niedermayer <michael@niedermayer.cc>","distinct":true,"url":"https://api.github.com/repos/ShiftMediaProject/FFmpeg/commits/ef9f7bbfa47317f9d46bf46982a394d2be78503c"},{"sha":"8453095f3eb8a635719a85b04773a72b9763a672","author":{"email":"bd30873f3039d227f2d43dffb4a4261325de676f@gmail.com","name":"Ganesh Ajjanagadde"},"message":"avcodec/aac_tablegen: make exp2_lut static\n\nSuggested-by: Clément Bœsch <u@pkh.me>\nSigned-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>","distinct":true,"url":"https://api.github.com/repos/ShiftMediaProject/FFmpeg/commits/8453095f3eb8a635719a85b04773a72b9763a672"},{"sha":"75422280fbcdfbe9dc56bde5525b4d8b280f1bc5","author":{"email":"17b9e1c64588c7fa6419b4d29dc1f4426279ba01@niedermayer.cc","name":"Michael Niedermayer"},"message":"avcodec/jpeg2000dwt: Check ndeclevels before calling dwt_decode*()\n\nFixes out of array access\nFixes: 01859c9a9ac6cd60a008274123275574/asan_heap-oob_1dff571_8250_50d3d1611e294c3519fd1fa82198b69b.avi\n\nFound-by: Mateusz \"j00ru\" Jurczyk and Gynvael Coldwind\nSigned-off-by: Michael Niedermayer <michael@niedermayer.cc>","distinct":true,"url":"https://api.github.com/repos/ShiftMediaProject/FFmpeg/commits/75422280fbcdfbe9dc56bde5525b4d8b280f1bc5"},{"sha":"feb3f39614b88c113211a98dda1bc2fe5c3c6957","author":{"email":"17b9e1c64588c7fa6419b4d29dc1f4426279ba01@niedermayer.cc","name":"Michael Niedermayer"},"message":"avcodec/jpeg2000dwt: Check ndeclevels before calling dwt_encode*()\n\nSigned-off-by: Michael Niedermayer <michael@niedermayer.cc>","distinct":true,"url":"https://api.github.com/repos/ShiftMediaProject/FFmpeg/commits/feb3f39614b88c113211a98dda1bc2fe5c3c6957"},{"sha":"6b407551588b4fc7fc9400bbdd131e692e6ae85e","author":{"email":"8bc83ecdb1b2231045bfd7961620976748f2bd2d@gmail.com","name":"Rostislav Pehlivanov"},"message":"aacenc: fix broken build with hardcoded tables\n\nff_aac_tableinit is a macro in the case of hardcoded tables, so wrap\nthat up in a function (similar to how the decoder template does it) and\nuse that as the argument for ff_thread_once().\n\nSigned-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>","distinct":true,"url":"https://api.github.com/repos/ShiftMediaProject/FFmpeg/commits/6b407551588b4fc7fc9400bbdd131e692e6ae85e"},{"sha":"d5028f61e44b7607b6a547f218f7d85217490a5b","author":{"email":"17b9e1c64588c7fa6419b4d29dc1f4426279ba01@niedermayer.cc","name":"Michael Niedermayer"},"message":"avcodec/hevc_cabac: Fix multiple integer overflows\n\nFixes: 04ec80eefa77aecd7a49a442cc02baea/asan_heap-oob_19544fa_3303_1905796cd9d8e15f86d664332caabc00.bit\n\nFound-by: Mateusz \"j00ru\" Jurczyk and Gynvael Coldwind\nSigned-off-by: Michael Niedermayer <michael@niedermayer.cc>","distinct":true,"url":"https://api.github.com/repos/ShiftMediaProject/FFmpeg/commits/d5028f61e44b7607b6a547f218f7d85217490a5b"},{"sha":"36205501ba2f003c6b319a6d20e39fe991ee7511","author":{"email":"17b9e1c64588c7fa6419b4d29dc1f4426279ba01@niedermayer.cc","name":"Michael Niedermayer"},"message":"avcodec/pthread_slice: Allow calling ff_alloc_entries() multiple times to readjust the entry count\n\nSigned-off-by: Michael Niedermayer <michael@niedermayer.cc>","distinct":true,"url":"https://api.github.com/repos/ShiftMediaProject/FFmpeg/commits/36205501ba2f003c6b319a6d20e39fe991ee7511"},{"sha":"d85aa76115214183e7e3b7d65e950da61474959a","author":{"email":"17b9e1c64588c7fa6419b4d29dc1f4426279ba01@niedermayer.cc","name":"Michael Niedermayer"},"message":"avcodec/hevc: allocate entries unconditionally\n\nFixes out of array access\nFixes: 08664a2a7921ef48172f26495c7455be/asan_heap-oob_23036c6_3301_523388ef84285a0270caf67a43247b59.bit\n\nFound-by: Mateusz \"j00ru\" Jurczyk and Gynvael Coldwind\nSigned-off-by: Michael Niedermayer <michael@niedermayer.cc>","distinct":true,"url":"https://api.github.com/repos/ShiftMediaProject/FFmpeg/commits/d85aa76115214183e7e3b7d65e950da61474959a"},{"sha":"6105b7219a90438deae71b0dc5a034c71ee30fc0","author":{"email":"17b9e1c64588c7fa6419b4d29dc1f4426279ba01@niedermayer.cc","name":"Michael Niedermayer"},"message":"avcodec/vp3: Clear context on reinitialization failure\n\nFixes null pointer dereference\nFixes: 1536b9b096a8f95b742bae9d3d761cc6/signal_sigsegv_294aaed_2039_8d1797aeb823ea43858d0fa45c9eb899.ogv\n\nFound-by: Mateusz \"j00ru\" Jurczyk and Gynvael Coldwind\nSigned-off-by: Michael Niedermayer <michael@niedermayer.cc>","distinct":true,"url":"https://api.github.com/repos/ShiftMediaProject/FFmpeg/commits/6105b7219a90438deae71b0dc5a034c71ee30fc0"},{"sha":"861f2b2a536b4bdc97cd4f4f14fcb08b957fe690","author":{"email":"17b9e1c64588c7fa6419b4d29dc1f4426279ba01@niedermayer.cc","name":"Michael Niedermayer"},"message":"avcodec/vp3: Fix several memleaks\n\nFixes: 1536b9b096a8f95b742bae9d3d761cc6/signal_sigsegv_294aaed_4460_b209bd1e7cebe458b53072a44191316d.ogg\n\nFound-by: Mateusz \"j00ru\" Jurczyk and Gynvael Coldwind\nSigned-off-by: Michael Niedermayer <michael@niedermayer.cc>","distinct":true,"url":"https://api.github.com/repos/ShiftMediaProject/FFmpeg/commits/861f2b2a536b4bdc97cd4f4f14fcb08b957fe690"},{"sha":"8741d3655cdd9095a23bba928efb27fbfd44d217","author":{"email":"aced325917338a5ee999e9521fc1bbb812422748@gmail.com","name":"Matt Oliver"},"message":"Merge remote-tracking branch 'upstream/master'","distinct":true,"url":"https://api.github.com/repos/ShiftMediaProject/FFmpeg/commits/8741d3655cdd9095a23bba928efb27fbfd44d217"}]}