Howdy, On Sun, May 22, 2016 at 5:27 AM, Alexandra Hájková < alexandra.khirn...@gmail.com> wrote:
> > Do you have a tree for testing somewhere? > > Yes, there's github branch: > https://github.com/sasshka/libav/tree/get_bits3. > Thanks! > If I find decoders that are slower on 32bit after the patch, will you fix > > it? > > > If you'll find something it will be discussed with the other > developers and potentially fixed. So, I tested a few decoders for which it's easy to generate test files. It looks like dnxhd got about 20% slower slower. avconv-new is 5ab5ff1f0783daf0924fdbd25333ea63a7faeb54 (i.e. tip of your get_bits3 branch), and avconv is 3399a26d3f57d462e839c0ee51223ae9aca20852 (branch point of get_bits3 branch from upstream). Both are compiled using "../configure --arch=i386 --extra-cflags='-arch i386' --extra-ldflags='-arch i386' --enable-gpl && make -j4". Input file was generated from [1], downsampled to 720p30/yuv420p [2] and then encoded using [3]. This is decoding time (single-threaded) of the two binaries: bash-4.3$ for n in {1..5}; do ( time ./avconv -threads 1 -i /tmp/sat-dnxhd.mov -f null -v 0 -nostats - ) 2>&1|grep user; done user 0m3.138s user 0m3.057s user 0m3.122s user 0m3.120s user 0m3.095s bash-4.3$ for n in {1..5}; do ( time ./avconv-new -threads 1 -i /tmp/sat-dnxhd.mov -f null -v 0 -nostats - ) 2>&1|grep user; done user 0m3.769s user 0m3.767s user 0m3.761s user 0m3.711s user 0m3.745s I also tested prores (which looks like it got about 5% faster), and huffyuv, which seems to be about 10% slower (input generated using [4]): bash-4.3$ for n in {1..5}; do ( time ./avconv -threads 1 -i /tmp/sat-huvvyuv.avi -f null -v 0 -nostats - ) 2>&1|grep user; done user 0m3.782s user 0m3.776s user 0m3.780s user 0m3.835s user 0m3.773s bash-4.3$ for n in {1..5}; do ( time ./avconv-new -threads 1 -i /tmp/sat-huvvyuv.avi -f null -v 0 -nostats - ) 2>&1|grep user; done user 0m4.127s user 0m4.162s user 0m4.159s user 0m4.134s user 0m4.124s I think the speed regression in these 2 decoders (dnxhd/huffyuv) should be addressed, since this might go beyond just x86-32 and affect other 32-bit platforms also. Ronald [1] https://media.xiph.org/video/derf/ElFuente/Netflix_SquareAndTimelapse_4096x2160_60fps_10bit_420.y4m [2] ffmpeg -i Netflix_SquareAndTimelapse_4096x2160_60fps_10bit_420.y4m -vf framestep=2 -s 1280x720 -pix_fmt yuv420p -c:v ffv1 SquareAndTimelapse.ffv1.mkv [3] ffmpeg -i SquareAndTimelapse.ffv1.mkv -pix_fmt yuv422p -b:v 75M -c:v dnxhd /tmp/sat-dnxhd.mov [4] ffmpeg -i SquareAndTimelapse.ffv1.mkv -c:v huffyuv /tmp/sat-huffyuv.avi (PS ffmpeg in [2-4] is whatever ships by default in the latest macports, seems to be 2.8.6.) _______________________________________________ libav-devel mailing list libav-devel@libav.org https://lists.libav.org/mailman/listinfo/libav-devel