[FFmpeg-cvslog] threadprogress: reorder instructions to fix race.

2025-02-10 Thread Ronald S . Bultje
ffmpeg | branch: master | Ronald S. Bultje | Thu Feb 6 16:41:59 2025 -0500| [586de322ab7da5e689aedb2013fd8d36f4155141] | committer: Ronald S. Bultje threadprogress: reorder instructions to fix race. Fixes #11456. > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commi

[FFmpeg-cvslog] enc_recon_frame_test: don't print an error on EOF.

2024-11-13 Thread Ronald S . Bultje
ffmpeg | branch: master | Ronald S. Bultje | Fri Nov 8 10:36:58 2024 -0500| [a5dabfc9c03f16af5a99b056f080421ed6ecc57d] | committer: Ronald S. Bultje enc_recon_frame_test: don't print an error on EOF. Before: $ make tools/enc_recon_frame_test $ tools/enc_recon_frame_test ~/Movie

[FFmpeg-cvslog] avcodec/x86/hevc: fix luma 12b overflow

2024-02-26 Thread Ronald S . Bultje
ffmpeg | branch: master | Ronald S. Bultje | Sun Feb 25 10:49:35 2024 -0500| [d6083f503d5bd7f9a2540c3e30d95e7add765d1e] | committer: J. Dekker avcodec/x86/hevc: fix luma 12b overflow Signed-off-by: J. Dekker > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commi

[FFmpeg-cvslog] vp9: don't overread by 4 pixels in ff_vp9_avg4_mmxext().

2022-06-01 Thread Ronald S . Bultje
ffmpeg | branch: master | Ronald S. Bultje | Tue May 31 08:30:37 2022 -0400| [6e13c30a8fd45e14303ef4a8e4da3554d5b4ba8e] | committer: Ronald S. Bultje vp9: don't overread by 4 pixels in ff_vp9_avg4_mmxext(). If the block is at the end of the allocated buffer and there is no padding, this

[FFmpeg-cvslog] ivfenc: write duration for frame_cnt=1.

2021-03-03 Thread Ronald S . Bultje
ffmpeg | branch: master | Ronald S. Bultje | Tue Mar 2 13:52:44 2021 -0500| [d29ec02d48a7fae1e3ed5a7bd79ab3fd73b42a96] | committer: Ronald S. Bultje ivfenc: write duration for frame_cnt=1. > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=d29ec02d48a7fae1e3ed5a7bd79ab3fd73b42

[FFmpeg-cvslog] png: split header state and data state in two separate variables.

2020-07-05 Thread Ronald S . Bultje
ffmpeg | branch: release/2.8 | Ronald S. Bultje | Mon Apr 3 10:08:29 2017 -0400| [453519af0d4a50bbc62999b312de9692e429bf22] | committer: Michael Niedermayer png: split header state and data state in two separate variables. Fixes a reported (but false) race condition in tsan for fate-apng

[FFmpeg-cvslog] libvmaf: exit gracefully if the library fails.

2017-12-18 Thread Ronald S . Bultje
ffmpeg | branch: master | Ronald S. Bultje | Mon Dec 18 07:59:39 2017 -0500| [df3222d4bb18cbceda443def17b1b29067ed6e3f] | committer: Ronald S. Bultje libvmaf: exit gracefully if the library fails. Fixes trac issue #6884 and Netflix/vmaf issue #124. > http://git.videolan.org/gitweb.

[FFmpeg-cvslog] vp9: Add bsf to merge superframes

2017-10-26 Thread Ronald S . Bultje
ffmpeg | branch: master | Ronald S. Bultje | Mon Feb 29 09:43:07 2016 -0500| [0cf949a01193dcf6f83fd95d46792dd94479b4e4] | committer: Mark Thompson vp9: Add bsf to merge superframes From ffmpeg commit 2e6636aa87303d37b112e79f093ca39500f92364. > http://git.videolan.org/gitweb.cgi/ffmpeg.git

Re: [FFmpeg-cvslog] [FFmpeg-devel] avfilter: add vmafmotion filter

2017-10-07 Thread Ronald S. Bultje
Hi, On Thu, Oct 5, 2017 at 7:52 PM, Michael Niedermayer wrote: > On Sat, Sep 30, 2017 at 03:51:41PM +, Ashish Singh wrote: > > ffmpeg | branch: master | Ashish Singh | Sat Sep > 16 02:35:58 2017 +0530| [148c8e88c43cfbabd6aee9f01ef30942cee9d359] | > committer: R

[FFmpeg-cvslog] vp9: fix explicit memory order for report_progress.

2017-09-12 Thread Ronald S . Bultje
ffmpeg | branch: master | Ronald S. Bultje | Tue Sep 12 15:02:20 2017 -0400| [1db03e952b4ee998f2a19c037f60d17dc90e8f6c] | committer: Ronald S. Bultje vp9: fix explicit memory order for report_progress. > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commi

[FFmpeg-cvslog] frame_thread_encoder: make 'exit' member atomic.

2017-09-12 Thread Ronald S . Bultje
ffmpeg | branch: master | Ronald S. Bultje | Mon Sep 11 09:58:47 2017 -0400| [183216b21870f21c86c904a7530d53682d7db46d] | committer: Ronald S. Bultje frame_thread_encoder: make 'exit' member atomic. Should fix the following tsan warning: WARNING: ThreadSanitizer: data race (pid=198

[FFmpeg-cvslog] vp9: assert -> av_assert and fix associated compile error.

2017-09-11 Thread Ronald S . Bultje
ffmpeg | branch: master | Ronald S. Bultje | Mon Sep 11 15:41:24 2017 -0400| [4ce99e96d6115ccd1fc82f826d4c628240ef53ed] | committer: Ronald S. Bultje vp9: assert -> av_assert and fix associated compile error. > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=co

[FFmpeg-cvslog] vp9: fix compilation with threading disabled.

2017-09-11 Thread Ronald S . Bultje
ffmpeg | branch: master | Ronald S. Bultje | Sat Sep 9 23:24:31 2017 -0400| [9bab39dee52a44ff97975aafc70b8b428d8ca7b6] | committer: Ronald S. Bultje vp9: fix compilation with threading disabled. > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commi

[FFmpeg-cvslog] vf_spp: only assign function pointers if permutation matches expectations.

2017-06-24 Thread Ronald S . Bultje
ffmpeg | branch: master | Ronald S. Bultje | Fri Jun 23 11:01:38 2017 -0400| [97f7f831691f2a2bddbd258bcbe332516d64a91b] | committer: Ronald S. Bultje vf_spp: only assign function pointers if permutation matches expectations. > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commi

[FFmpeg-cvslog] mdec: stop preferring the simple IDCT.

2017-06-21 Thread Ronald S . Bultje
ffmpeg | branch: master | Ronald S. Bultje | Wed Jun 21 09:01:20 2017 -0400| [e639d09199dd7818a24786fb6e8ddd048ede4372] | committer: Ronald S. Bultje mdec: stop preferring the simple IDCT. This was added in e3e3c82555e2382125195c1ba9f34b5a43299abc, probably as a workaround for the fact that

[FFmpeg-cvslog] mdec: use correctly permutated quant matrix for dequantization.

2017-06-21 Thread Ronald S . Bultje
ffmpeg | branch: master | Ronald S. Bultje | Wed Jun 21 08:53:43 2017 -0400| [42dd1434bf6a7230e4175c08fcfabc3ba51a0463] | committer: Ronald S. Bultje mdec: use correctly permutated quant matrix for dequantization. > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commi

[FFmpeg-cvslog] vp9: fix overwrite in ff_vp9_ipred_dr_16x16_16_avx2.

2017-06-14 Thread Ronald S . Bultje
ffmpeg | branch: master | Ronald S. Bultje | Wed Jun 14 09:44:26 2017 -0400| [d35ff98e270d904481ab75d58d6cf6badf85e1b2] | committer: Ronald S. Bultje vp9: fix overwrite in ff_vp9_ipred_dr_16x16_16_avx2. Fixes trac issue 6459. > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commi

[FFmpeg-cvslog] hevc: fix race condition in max_ra/seq_decode.

2017-05-25 Thread Ronald S . Bultje
ffmpeg | branch: master | Ronald S. Bultje | Wed May 24 11:46:07 2017 -0400| [ca2209d67af0a73fe0edb2fce1cea2445dbfd8db] | committer: Ronald S. Bultje hevc: fix race condition in max_ra/seq_decode. These variables are shared between frame threads, but they are updated post-setup_finished() if

[FFmpeg-cvslog] frame_thread_encoder: extend critical code covered by finished_task_mutex.

2017-05-25 Thread Ronald S . Bultje
ffmpeg | branch: master | Ronald S. Bultje | Thu May 25 08:20:21 2017 -0400| [d98f34d7d440ab3671be4e55c00d2cc7bf007eab] | committer: Ronald S. Bultje frame_thread_encoder: extend critical code covered by finished_task_mutex. Should fix tsan errors in utvideoenc_rgb_left and related tests

[FFmpeg-cvslog] pthread_frame: make accesses to debug field be protected by owner lock.

2017-04-12 Thread Ronald S . Bultje
ffmpeg | branch: release/3.3 | Ronald S. Bultje | Thu Apr 6 13:58:59 2017 -0400| [1968a1eef1cae22e162259d7082c2eea98d81e32] | committer: Michael Niedermayer pthread_frame: make accesses to debug field be protected by owner lock. The av_log() is done outside the lock, but this way the

[FFmpeg-cvslog] pthread_frame: allow per-field ThreadFrame owners.

2017-04-12 Thread Ronald S . Bultje
ffmpeg | branch: release/3.3 | Ronald S. Bultje | Mon Apr 3 10:24:05 2017 -0400| [f4f3bf3c94a9aa485c09d0c03d68ca79a4785866] | committer: Michael Niedermayer pthread_frame: allow per-field ThreadFrame owners. This tries to handle cases where separate invocations of decode_frame() (each

[FFmpeg-cvslog] vp8: make mv_min/max thread-local if using partition threading.

2017-04-12 Thread Ronald S . Bultje
ffmpeg | branch: release/3.3 | Ronald S. Bultje | Wed Apr 5 16:19:55 2017 -0400| [6557ea8e2bd768f5d82bce0fab28262437a292bf] | committer: Michael Niedermayer vp8: make mv_min/max thread-local if using partition threading. Fixes tsan warnings like this in fate-vp8-test-vector-007: WARNING

[FFmpeg-cvslog] vp8: make wait/thread_mb_pos atomic.

2017-04-12 Thread Ronald S . Bultje
ffmpeg | branch: release/3.3 | Ronald S. Bultje | Wed Apr 5 16:18:54 2017 -0400| [9d742f774a85fa82cbfd667f69b0ba4d14556d54] | committer: Michael Niedermayer vp8: make wait/thread_mb_pos atomic. Fixes tsan warnings like this in fate-vp8-test-vector-007: WARNING: ThreadSanitizer: data race

[FFmpeg-cvslog] huffyuv: assign correct per-thread avctx pointer to HYuvContext::avctx.

2017-04-12 Thread Ronald S . Bultje
ffmpeg | branch: release/3.3 | Ronald S. Bultje | Mon Apr 3 22:28:22 2017 -0400| [5e84c94f6962e23b552809280bd89c70d4a7ef5e] | committer: Michael Niedermayer huffyuv: assign correct per-thread avctx pointer to HYuvContext::avctx. Fixes the following tsan warning when running fate-vsynth_lena

[FFmpeg-cvslog] png: set AVFrame flags/fields before calling setup_finished().

2017-04-12 Thread Ronald S . Bultje
ffmpeg | branch: release/3.3 | Ronald S. Bultje | Mon Apr 3 14:43:40 2017 -0400| [e90de50195d4b4b61f3c2c4ea3bb8a09b433de8e] | committer: Michael Niedermayer png: set AVFrame flags/fields before calling setup_finished(). Fixes tsan warnings in fate-apng: WARNING: ThreadSanitizer: data race

[FFmpeg-cvslog] ffmpeg: make transcode_init_done atomic.

2017-04-12 Thread Ronald S . Bultje
ffmpeg | branch: release/3.3 | Ronald S. Bultje | Fri Mar 31 11:27:20 2017 -0400| [f5f0b2f44ce9df08f7a79b32d9209b23ba6b3447] | committer: Michael Niedermayer ffmpeg: make transcode_init_done atomic. Should fix tsan warnings in fate-fifo-muxer-h264/wav: WARNING: ThreadSanitizer: data race

[FFmpeg-cvslog] hevc: only write to max_ra and pocTid0 in the first slice.

2017-04-12 Thread Ronald S . Bultje
ffmpeg | branch: release/3.3 | Ronald S. Bultje | Mon Apr 3 09:51:10 2017 -0400| [d1cae50a046763bf14d74e899d90e4ef0be5b551] | committer: Michael Niedermayer hevc: only write to max_ra and pocTid0 in the first slice. Values from subsequent values are guaranteed to be identical (since poc and

[FFmpeg-cvslog] png: split header state and data state in two separate variables.

2017-04-12 Thread Ronald S . Bultje
ffmpeg | branch: release/3.3 | Ronald S. Bultje | Mon Apr 3 10:08:29 2017 -0400| [51ca6fda0500da24e3d365c9dfce31bad42e8723] | committer: Michael Niedermayer png: split header state and data state in two separate variables. Fixes a reported (but false) race condition in tsan for fate-apng

[FFmpeg-cvslog] pthread_frame: call update_context_from_user() after acquiring lock.

2017-04-12 Thread Ronald S . Bultje
ffmpeg | branch: release/3.3 | Ronald S. Bultje | Mon Apr 3 09:48:53 2017 -0400| [b51217381dd748fd831ba9403cdcdc8277bd63d5] | committer: Michael Niedermayer pthread_frame: call update_context_from_user() after acquiring lock. Otherwise the thread may still be in the middle of decoding a

[FFmpeg-cvslog] h264: don't sync pic_id between threads.

2017-04-12 Thread Ronald S . Bultje
ffmpeg | branch: release/3.3 | Ronald S. Bultje | Mon Apr 3 09:25:15 2017 -0400| [e9fc7a90ba21f2fb2953f24375db2b81e891a6f2] | committer: Michael Niedermayer h264: don't sync pic_id between threads. This is how the ref list manager links bitstream IDs to H264Picture/Ref objects, and is

[FFmpeg-cvslog] h264: don't re-call ff_h264_direct_ref_list_init() w/ frame-mt.

2017-04-12 Thread Ronald S . Bultje
ffmpeg | branch: release/3.3 | Ronald S. Bultje | Thu Apr 6 11:47:03 2017 -0400| [414d11fff6453b3d3af75734292f8d16edeba940] | committer: Michael Niedermayer h264: don't re-call ff_h264_direct_ref_list_init() w/ frame-mt. I'm hoping that this will address the remaining tsan fate-h

[FFmpeg-cvslog] pthread_frame: make accesses to debug field be protected by owner lock.

2017-04-07 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje | Thu Apr 6 13:58:59 2017 -0400| [2e664b9c1e73c80aab91070c1eb7676f04bdd12d] | committer: Ronald S. Bultje pthread_frame: make accesses to debug field be protected by owner lock. The av_log() is done outside the lock, but this way the accesses to the

[FFmpeg-cvslog] h264: don't re-call ff_h264_direct_ref_list_init() w/ frame-mt.

2017-04-07 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje | Thu Apr 6 11:47:03 2017 -0400| [7f05c5cea04112471d8147487aa3b44141922d09] | committer: Ronald S. Bultje h264: don't re-call ff_h264_direct_ref_list_init() w/ frame-mt. I'm hoping that this will address the remaining tsan fate-h264 issues

[FFmpeg-cvslog] vp8: make wait/thread_mb_pos atomic.

2017-04-06 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje | Wed Apr 5 16:18:54 2017 -0400| [9a54c6f243412f62bae498ddcac337cb18ae6290] | committer: Ronald S. Bultje vp8: make wait/thread_mb_pos atomic. Fixes tsan warnings like this in fate-vp8-test-vector-007: WARNING: ThreadSanitizer: data race (pid=3590

[FFmpeg-cvslog] x86/simple_idct: add explicit sse2 simple_idct_put/add versions.

2017-04-06 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje | Tue Apr 4 12:42:58 2017 -0400| [e0c205677f6b3b7dba6891724cb68bfb81e9b8d6] | committer: Ronald S. Bultje x86/simple_idct: add explicit sse2 simple_idct_put/add versions. These use the mmx IDCT, but sse2 put/add_pixels_clamped implementations. This

[FFmpeg-cvslog] jrev/xvid: hardcode use of C put/add_pixels_clamped.

2017-04-06 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje | Tue Apr 4 12:45:51 2017 -0400| [32baeafeee4f8446c2c3720b9223ad2166ca9d30] | committer: Ronald S. Bultje jrev/xvid: hardcode use of C put/add_pixels_clamped. This removes the last use of the ff_put/add_pixels_clamped global function pointers, and

[FFmpeg-cvslog] x86/idctdsp_init: reindent.

2017-04-06 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje | Wed Apr 5 07:49:14 2017 -0400| [83ae7e6350cf12ce64b184fb717011551cc02d62] | committer: Ronald S. Bultje x86/idctdsp_init: reindent. > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=83ae7e6350cf12ce64b184fb717011551cc02

[FFmpeg-cvslog] cavs: convert idct from inline asm to yasm.

2017-04-06 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje | Tue Apr 4 11:55:16 2017 -0400| [c9d98c5649ac11617200bf19b1e027505251d3cf] | committer: Ronald S. Bultje cavs: convert idct from inline asm to yasm. > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commi

[FFmpeg-cvslog] vp8: make mv_min/max thread-local if using partition threading.

2017-04-06 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje | Wed Apr 5 16:19:55 2017 -0400| [fed92adbb3fc6cbf735e3df9a2f7d0a2917fcfbd] | committer: Ronald S. Bultje vp8: make mv_min/max thread-local if using partition threading. Fixes tsan warnings like this in fate-vp8-test-vector-007: WARNING

[FFmpeg-cvslog] cavs: add a sse2 idct implementation.

2017-04-06 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje | Tue Apr 4 12:17:08 2017 -0400| [2f0591cfa3b773d7a2fec72b30ec25d4ffb0cb32] | committer: Ronald S. Bultje cavs: add a sse2 idct implementation. This makes using the function pointer ff_add_pixels_clamped() unnecessary, since we always know what the

[FFmpeg-cvslog] pthread_frame: allow per-field ThreadFrame owners.

2017-04-06 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje | Mon Apr 3 10:24:05 2017 -0400| [083300bea935d125b83f60d7030f78a7ffb0f3df] | committer: Ronald S. Bultje pthread_frame: allow per-field ThreadFrame owners. This tries to handle cases where separate invocations of decode_frame() (each running in

[FFmpeg-cvslog] idct_arm: remove use of ff_put/add_pixels_clamped function pointer.

2017-04-06 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje | Tue Apr 4 11:20:39 2017 -0400| [40cbd686dc846935fb3f50cf77e575bd98649e3f] | committer: Ronald S. Bultje idct_arm: remove use of ff_put/add_pixels_clamped function pointer. Instead, hardcode the use of the _arm implementation of add_pixels, and use

[FFmpeg-cvslog] x86/xvididct: remove use of ff_put/add_pixels_clamped function pointer.

2017-04-06 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje | Tue Apr 4 11:21:43 2017 -0400| [b51d7d89f8bbce2d8bade0f5fbba2bbd5612ca3a] | committer: Ronald S. Bultje x86/xvididct: remove use of ff_put/add_pixels_clamped function pointer. Since there's separate SSE2 implementations of xvid_idct_put/add,

[FFmpeg-cvslog] huffyuv: assign correct per-thread avctx pointer to HYuvContext::avctx.

2017-04-05 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje | Mon Apr 3 22:28:22 2017 -0400| [7c7e7c44a6eb68eca861e45cb2ce78f582b12c69] | committer: Ronald S. Bultje huffyuv: assign correct per-thread avctx pointer to HYuvContext::avctx. Fixes the following tsan warning when running fate-vsynth_lena-ffvhuff

[FFmpeg-cvslog] checkasm: vp9dsp: benchmark all sub-IDCTs (but not WHT or ADST).

2017-04-04 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje | Fri Nov 18 00:17:02 2016 +0200| [06fec74cacbb0ef7f3e5ea0e6c9ced1b6fd7565d] | committer: Martin Storsjö checkasm: vp9dsp: benchmark all sub-IDCTs (but not WHT or ADST). Signed-off-by: Martin Storsjö > http://git.videolan.org/gitweb.cgi/ffmpeg.

[FFmpeg-cvslog] png: set AVFrame flags/fields before calling setup_finished().

2017-04-03 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje | Mon Apr 3 14:43:40 2017 -0400| [eff2861a757b8a46398e6fcb844b960b4775daad] | committer: Ronald S. Bultje png: set AVFrame flags/fields before calling setup_finished(). Fixes tsan warnings in fate-apng: WARNING: ThreadSanitizer: data race (pid

[FFmpeg-cvslog] png: split header state and data state in two separate variables.

2017-04-03 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje | Mon Apr 3 10:08:29 2017 -0400| [478f1c3d5e5463a284ea7efecfc62d47ba3be11a] | committer: Ronald S. Bultje png: split header state and data state in two separate variables. Fixes a reported (but false) race condition in tsan for fate-apng: WARNING

[FFmpeg-cvslog] hevc: only write to max_ra and pocTid0 in the first slice.

2017-04-03 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje | Mon Apr 3 09:51:10 2017 -0400| [1f50baa2b2da7fdbfccf0662883f38a763ff6619] | committer: Ronald S. Bultje hevc: only write to max_ra and pocTid0 in the first slice. Values from subsequent values are guaranteed to be identical (since poc and

[FFmpeg-cvslog] pthread_frame: call update_context_from_user() after acquiring lock.

2017-04-03 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje | Mon Apr 3 09:48:53 2017 -0400| [1269cd5b6f540bef5913bf134d2f461aac50d70b] | committer: Ronald S. Bultje pthread_frame: call update_context_from_user() after acquiring lock. Otherwise the thread may still be in the middle of decoding a previous

[FFmpeg-cvslog] ffmpeg: make transcode_init_done atomic.

2017-04-03 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje | Fri Mar 31 11:27:20 2017 -0400| [76d8c77430e9e0110623705bfb54d922cc2ac3ea] | committer: Ronald S. Bultje ffmpeg: make transcode_init_done atomic. Should fix tsan warnings in fate-fifo-muxer-h264/wav: WARNING: ThreadSanitizer: data race (pid=26552

[FFmpeg-cvslog] codec_desc: mark some lossless audio codecs as intraonly.

2017-04-03 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje | Mon Apr 3 09:36:32 2017 -0400| [467a0538100b193d205a922737358dcc8e957e94] | committer: Ronald S. Bultje codec_desc: mark some lossless audio codecs as intraonly. Fixes tsan warnings in several audio codecs (flac, alac, wavpack, tta and tak) that

[FFmpeg-cvslog] h264: don't sync pic_id between threads.

2017-04-03 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje | Mon Apr 3 09:25:15 2017 -0400| [e72690b18da064f6c0f04f09ccde72b6636e3159] | committer: Ronald S. Bultje h264: don't sync pic_id between threads. This is how the ref list manager links bitstream IDs to H264Picture/Ref objects, and is local t

[FFmpeg-cvslog] checkasm: add vp9dsp.itxfm_add tests.

2017-03-31 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje | Tue Sep 22 14:24:27 2015 -0400| [0b37cd09a67c3ba4db044404b99c65a32b4ad932] | committer: Martin Storsjö checkasm: add vp9dsp.itxfm_add tests. This includes fixes by Henrik Gramner. The forward transforms are derived from the reference encoder

[FFmpeg-cvslog] lagarith: assign correct per-thread value to LagarithContext::avctx.

2017-03-31 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje | Tue Mar 28 20:11:43 2017 -0400| [081c21ca55d72921125848c8c2c191a6ff8b5f88] | committer: Ronald S. Bultje lagarith: assign correct per-thread value to LagarithContext::avctx. This fixes race conditions reported by tsan in fate-lagarith. The races

[FFmpeg-cvslog] h264: don't write to source picture object in ff_h264_ref_picture().

2017-03-31 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje | Wed Mar 29 09:03:49 2017 -0400| [b5300c8ad8c5384ab3654d6cb27693422bc424e7] | committer: Ronald S. Bultje h264: don't write to source picture object in ff_h264_ref_picture(). Doing so is analogous to writing to source data in memcpy(), and c

[FFmpeg-cvslog] codec_desc: mark fraps as an intra-only codec.

2017-03-31 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje | Tue Mar 28 19:40:59 2017 -0400| [9e2050b698b204bcc4af39e014b3e621294a114a] | committer: Ronald S. Bultje codec_desc: mark fraps as an intra-only codec. Fixes reported race conditions by tsan in fate-avio-direct. > http://git.videolan.

[FFmpeg-cvslog] h264: only assign H264Picture::mbaff for first slice.

2017-03-31 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje | Wed Mar 29 09:33:47 2017 -0400| [1ddc37051f11bd4bbadbcd17ea49b76a965d6a47] | committer: Ronald S. Bultje h264: only assign H264Picture::mbaff for first slice. The value must be identical between slices, since mbaff depends on picture_structure and

[FFmpeg-cvslog] fic: set pict_type/key_frame after (instead of during) slice decoding.

2017-03-31 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje | Tue Mar 28 19:52:07 2017 -0400| [73f863d751df84db7a0ca1bd83cdff1b95dc94dd] | committer: Ronald S. Bultje fic: set pict_type/key_frame after (instead of during) slice decoding. This fixes a race condition that was already documented in the source

[FFmpeg-cvslog] dnxhd: initialize DNXHDContext::avctx to each thread's respective one.

2017-03-31 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje | Tue Mar 28 19:37:42 2017 -0400| [f800d6508d7e8fbd8d9777b775d333a4f02112ef] | committer: Ronald S. Bultje dnxhd: initialize DNXHDContext::avctx to each thread's respective one. Otherwise all thread's private contexts have the avctx poin

[FFmpeg-cvslog] pthread_frame: don't sync items between threads for intra-only codecs.

2017-03-28 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje | Tue Mar 28 15:04:46 2017 -0400| [027ee9b3ed697ff080be0f14b47a11c89ce68cdd] | committer: Ronald S. Bultje pthread_frame: don't sync items between threads for intra-only codecs. Intra-only codecs should either be able to read these items fro

[FFmpeg-cvslog] h264: revert 1189af429211ac650aac730368a6cf5b23756605.

2017-03-28 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje | Mon Mar 27 09:39:24 2017 -0400| [8c2aa45d4a99dc0d9990dfb56782487006f718c3] | committer: Ronald S. Bultje h264: revert 1189af429211ac650aac730368a6cf5b23756605. The patch introduces race conditions. > http://git.videolan.org/gitweb.cgi/ffmpeg.

[FFmpeg-cvslog] vp9: split out loopfilter functions in their own source file.

2017-03-28 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje | Mon Mar 27 16:59:06 2017 -0400| [b823bbc10cc7b8674bb2dea50bd5dfc081e28620] | committer: Ronald S. Bultje vp9: split out loopfilter functions in their own source file. > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commi

[FFmpeg-cvslog] vp9: split out reconstruction functions in their own source file.

2017-03-28 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje | Mon Mar 27 17:32:20 2017 -0400| [6d0d1c4a43f5e5fc195226367fd1c49843d25d71] | committer: Ronald S. Bultje vp9: split out reconstruction functions in their own source file. > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commi

[FFmpeg-cvslog] hevc: initialize no_rasl_output_flag in hevc_frame_start().

2017-03-28 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje | Mon Mar 27 09:56:38 2017 -0400| [bddabfaab65808e40605181d579ffcd85bfe4c26] | committer: Ronald S. Bultje hevc: initialize no_rasl_output_flag in hevc_frame_start(). This prevents a race condition in files with multiple slices per frame. > h

[FFmpeg-cvslog] vp9: split out generic decoding skeleton interface API from VP9 types.

2017-03-28 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje | Mon Mar 27 22:05:17 2017 -0400| [0c466417846f80a134dd7078435829c8e47fcbb0] | committer: Ronald S. Bultje vp9: split out generic decoding skeleton interface API from VP9 types. This allows vp9dsp.h to only include the VP9 types header, and not the

[FFmpeg-cvslog] vp9: re-split the decoder/format/dsp interface header files.

2017-03-28 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje | Mon Mar 27 16:47:46 2017 -0400| [f8c019944d45f4ea9786f8690f8a64fd9398ebf3] | committer: Ronald S. Bultje vp9: re-split the decoder/format/dsp interface header files. The advantage here is that the internal software decoder interface is not exposed

[FFmpeg-cvslog] dirac: make initialization of arithmetic coder tables threadsafe.

2017-03-28 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje | Mon Mar 27 11:24:43 2017 -0400| [5ba8c3a0ed0e43e6418eabdf8af9549c9e806382] | committer: Ronald S. Bultje dirac: make initialization of arithmetic coder tables threadsafe. > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commi

[FFmpeg-cvslog] vp9lpf/x86: remove unused register from ABSSUB_CMP macro.

2017-03-23 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje | Sat Dec 20 11:13:06 2014 -0500| [683da2788e418877808f1407d68140cafaae8b4f] | committer: Anton Khirnov vp9lpf/x86: remove unused register from ABSSUB_CMP macro. Signed-off-by: Anton Khirnov > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=com

[FFmpeg-cvslog] vp9lpf/x86: move variable assigned inside macro branch.

2017-03-23 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje | Wed Dec 24 14:22:19 2014 -0500| [4ce8ba72f9cbdecf3a2ee3533959e097a2095595] | committer: Anton Khirnov vp9lpf/x86: move variable assigned inside macro branch. The value is not used outside the branch. Signed-off-by: Anton Khirnov > h

[FFmpeg-cvslog] vp9lpf/x86: slightly simplify 44/48/84/88 h stores.

2017-03-23 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje | Fri Dec 19 22:18:42 2014 -0500| [6e74e9636b1752e777146421ffa2b2498071e28d] | committer: Anton Khirnov vp9lpf/x86: slightly simplify 44/48/84/88 h stores. Signed-off-by: Anton Khirnov > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commi

[FFmpeg-cvslog] vp9lpf/x86: simplify ABSSUM_CMP by inverting the comparison meaning.

2017-03-23 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje | Sun Dec 21 19:34:03 2014 -0500| [e4961035b288043b2b00bdc2ccbe3c31393e12d5] | committer: Anton Khirnov vp9lpf/x86: simplify ABSSUM_CMP by inverting the comparison meaning. Signed-off-by: Anton Khirnov > http://git.videolan.org/gitweb.

[FFmpeg-cvslog] vp9lpf/x86: store unpacked intermediates for filter6/14 on stack.

2017-03-23 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje | Wed Dec 24 14:17:28 2014 -0500| [c6375a83d1ad512ed24e8fef044f3ba17237e03e] | committer: Anton Khirnov vp9lpf/x86: store unpacked intermediates for filter6/14 on stack. filter16 goes from 508 to 482 (h) or 346 to 314 (v) cycles; filter88 goes from

[FFmpeg-cvslog] vp9lpf/x86: save one register in SIGN_ADD/SUB.

2017-03-23 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje | Sat Dec 27 14:47:07 2014 -0500| [7c62891efedf0102934bc18d62c6561152a4d0bc] | committer: Anton Khirnov vp9lpf/x86: save one register in SIGN_ADD/SUB. Signed-off-by: Anton Khirnov > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commi

[FFmpeg-cvslog] vp9lpf/x86: make filter_16_h work on 32-bit.

2017-03-23 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje | Fri Dec 26 17:50:38 2014 -0500| [715f139c9bd407ef7f4d1f564ad683140ec61e6d] | committer: Anton Khirnov vp9lpf/x86: make filter_16_h work on 32-bit. Signed-off-by: Anton Khirnov > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commi

[FFmpeg-cvslog] vp9lpf/x86: make filter_88_v work on 32-bit.

2017-03-23 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje | Sat Dec 27 15:12:01 2014 -0500| [37637e65907b1a8c3731ea69c638792cb2438d0c] | committer: Anton Khirnov vp9lpf/x86: make filter_88_v work on 32-bit. Signed-off-by: Anton Khirnov > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commi

[FFmpeg-cvslog] vp9lpf/x86: make cglobal statement more conservative in register allocation.

2017-03-23 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje | Fri Dec 19 22:09:30 2014 -0500| [6411c328a233b80faa5aa3ef4266f9a16e499699] | committer: Anton Khirnov vp9lpf/x86: make cglobal statement more conservative in register allocation. Signed-off-by: Anton Khirnov > http://git.videolan.org/gitweb.

[FFmpeg-cvslog] vp9lpf/x86: make filter_44_v work on 32-bit.

2017-03-23 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje | Sat Dec 27 15:08:48 2014 -0500| [be10834bd9dde81fc10568b7da8ffd1493df8589] | committer: Anton Khirnov vp9lpf/x86: make filter_44_v work on 32-bit. Signed-off-by: Anton Khirnov > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commi

[FFmpeg-cvslog] vp9lpf/x86: make filter_48/84/88_h work on 32-bit.

2017-03-23 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje | Fri Dec 26 15:15:50 2014 -0500| [8915320db94c9b3ceb97d6ad92addda690af8c18] | committer: Anton Khirnov vp9lpf/x86: make filter_48/84/88_h work on 32-bit. Signed-off-by: Anton Khirnov > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commi

[FFmpeg-cvslog] vp9lpf/x86: make filter_16_v work on 32-bit.

2017-03-23 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje | Fri Dec 26 14:05:23 2014 -0500| [5bfa96c4b30d9fdb59a8f2a9d0769a3fa2e622be] | committer: Anton Khirnov vp9lpf/x86: make filter_16_v work on 32-bit. Signed-off-by: Anton Khirnov > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commi

[FFmpeg-cvslog] vp9lpf/x86: make filter_48/84_v work on 32-bit.

2017-03-23 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje | Fri Dec 26 12:10:26 2014 -0500| [b905e8d2fe03da1bf34ffa6e04b322f19a479143] | committer: Anton Khirnov vp9lpf/x86: make filter_48/84_v work on 32-bit. Signed-off-by: Anton Khirnov > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commi

[FFmpeg-cvslog] vp9lpf/x86: save one register in loopfilter surface coverage.

2017-03-23 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje | Fri Dec 19 21:44:57 2014 -0500| [a6e288d62414c25ed173b17b48ddea947bede73e] | committer: Anton Khirnov vp9lpf/x86: save one register in loopfilter surface coverage. Signed-off-by: Anton Khirnov > http://git.videolan.org/gitweb.cgi/ffmpeg.git

[FFmpeg-cvslog] vp9lpf/x86: make filter_44_h work on 32-bit.

2017-03-23 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje | Fri Dec 26 14:48:01 2014 -0500| [725a216481c422a71a727771706d6343a0eaeaf8] | committer: Anton Khirnov vp9lpf/x86: make filter_44_h work on 32-bit. Signed-off-by: Anton Khirnov > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commi

[FFmpeg-cvslog] vp9: ignore reference segmentation map if error_resilience flag is set.

2017-03-23 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje | Tue Aug 12 18:11:05 2014 -0400| [a451324dddf5d2ab4bcd6aa0f546596f71bdada3] | committer: Anton Khirnov vp9: ignore reference segmentation map if error_resilience flag is set. Fixes ffvp9_fails_where_libvpx.succeeds.webm. Bug-Id: ffmpeg/3849

[FFmpeg-cvslog] checkasm: add VP9 loopfilter tests.

2017-03-23 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje | Thu Sep 17 11:58:10 2015 -0400| [c935b54bd6a12714fc08d88791dadee2ba07176a] | committer: Anton Khirnov checkasm: add VP9 loopfilter tests. The randomize_buffer() implementation assures that "most of the time", we'll do a good mix of w

[FFmpeg-cvslog] wmavoice: remove unused or write-only variables.

2017-03-20 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje | Thu Dec 22 09:02:32 2016 -0500| [f3cd2302a9c9724f57fda4afb5ad7a588fb8b304] | committer: Ronald S. Bultje wmavoice: remove unused or write-only variables. > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commi

[FFmpeg-cvslog] vp9: add frame threading

2017-03-18 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje | Tue Aug 2 07:55:31 2016 +0200| [1730a67ab99de0648dd55e81ea7fec12ab70225c] | committer: Anton Khirnov vp9: add frame threading Signed-off-by: Anton Khirnov > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commi

[FFmpeg-cvslog] vp9: split last/cur_frame from the reference buffers.

2017-03-18 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje | Sat Nov 23 10:27:18 2013 -0500| [bc6e0b64a9100652c1ce52292408d8fd79930d53] | committer: Anton Khirnov vp9: split last/cur_frame from the reference buffers. We need more information from last/cur_frame than from reference buffers, so we can use a

[FFmpeg-cvslog] vp9: allocate 'b', 'block/uvblock' and 'eob/uveob' dynamically.

2017-03-18 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje | Sat Nov 23 12:10:12 2013 -0500| [5b995452a63ed754545a0ac90be79fac63b3390d] | committer: Anton Khirnov vp9: allocate 'b', 'block/uvblock' and 'eob/uveob' dynamically. This will be needed for frame threading. Signed-

[FFmpeg-cvslog] vp9: make mv bounds 32bit.

2017-03-16 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje | Tue Jan 7 07:24:03 2014 -0500| [0df4801105d84883071b0978cb3afc7cd5184ce8] | committer: Anton Khirnov vp9: make mv bounds 32bit. The frame dimensions are 16bit, so the mv bounds can easily overflow int16 for large videos. Bug-Id: Handbrake/46 CC

[FFmpeg-cvslog] vp9mc/x86: add 16px functions (64bit only).

2017-03-16 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje | Tue Dec 24 16:17:03 2013 -0500| [3a09494939ddb2f2fd0f8d015162d5174ec07d4c] | committer: Anton Khirnov vp9mc/x86: add 16px functions (64bit only). Signed-off-by: Anton Khirnov > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commi

[FFmpeg-cvslog] checkasm: add vp9 MC tests.

2017-03-16 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje | Tue Sep 15 16:41:29 2015 -0400| [e99ecda55082cb9dde8fd349361e169dc383943a] | committer: Anton Khirnov checkasm: add vp9 MC tests. Signed-off-by: Anton Khirnov > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commi

[FFmpeg-cvslog] vp9mc/x86: sse2 MC assembly.

2017-03-16 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje | Sun Dec 14 20:13:24 2014 -0500| [9790b44a89d191a07a9d8b361fb4d18ea15f51a1] | committer: Anton Khirnov vp9mc/x86: sse2 MC assembly. Also a slight change to the ssse3 code, which prevents a theoretical overflow in the sharp filter. Signed-off-by

[FFmpeg-cvslog] wmavoice: move overflow handling to common code.

2016-12-27 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje | Tue Dec 20 17:10:33 2016 -0500| [7b27dd5c16de785297ce4de4b88afa0b6685f61d] | committer: Ronald S. Bultje wmavoice: move overflow handling to common code. > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commi

[FFmpeg-cvslog] wmavoice: reindent.

2016-12-27 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje | Tue Dec 20 17:14:41 2016 -0500| [b011bb5f8b2ce5f21bc4f07f50a56a26310383af] | committer: Ronald S. Bultje wmavoice: reindent. > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=b011bb5f8b2ce5f21bc4f07f50a56a26310383af --- libavco

[FFmpeg-cvslog] wmavoice: protect against zero-energy in adaptive gain control.

2016-12-27 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje | Tue Dec 20 18:01:05 2016 -0500| [33d7f822f8ed2d1870babc1d04d4d48cf8b6f240] | committer: Ronald S. Bultje wmavoice: protect against zero-energy in adaptive gain control. Otherwise the scale factor becomes NaN, resulting in corrupt output. Fixes

[FFmpeg-cvslog] wmavoice: move wmavoice_flush() up.

2016-12-27 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje | Tue Dec 20 17:03:46 2016 -0500| [992cb15e671332650ddd5020c00cf08a40bb7cf0] | committer: Ronald S. Bultje wmavoice: move wmavoice_flush() up. > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=992cb15e671332650ddd5020c00cf08a40bb7

[FFmpeg-cvslog] checkasm/vp9: benchmark all sub-IDCTs (but not WHT or ADST).

2016-12-27 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje | Thu Nov 17 16:08:20 2016 -0500| [1c8fbd7b90469f69fe3a3f78ba7886195d97c34f] | committer: Ronald S. Bultje checkasm/vp9: benchmark all sub-IDCTs (but not WHT or ADST). > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commi

[FFmpeg-cvslog] wmavoice: disable bitstream checking.

2016-12-27 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje | Tue Dec 20 17:14:26 2016 -0500| [3deb4b54a24f8cddce463d9f5751b01efeb976af] | committer: Ronald S. Bultje wmavoice: disable bitstream checking. The checked bitstream reader does that already. To allow parsing of superframes split over a packet

[FFmpeg-cvslog] http: make length/offset-related variables unsigned.

2016-12-05 Thread Ronald S. Bultje
ffmpeg | branch: release/2.8 | Ronald S. Bultje | Mon Dec 5 15:55:26 2016 -0500| [606b21353df7d08ea203193f3026281737c696a2] | committer: Ronald S. Bultje http: make length/offset-related variables unsigned. Fixes #5992, reported and found by Paul Cher . (cherry picked from commit

[FFmpeg-cvslog] http: move chunk handling from http_read_stream() to http_buf_read().

2016-12-05 Thread Ronald S. Bultje
ffmpeg | branch: release/2.8 | Ronald S. Bultje | Mon Dec 5 10:18:10 2016 -0500| [d3fc5c17de03ffa69d97a5dfabb54d38967daf2d] | committer: Ronald S. Bultje http: move chunk handling from http_read_stream() to http_buf_read(). (cherry picked from commit 845bb401781ef04e342bd558df16a8dbf5f800f9

  1   2   3   4   >