[FFmpeg-devel] [PATCH] Remove mmx.h from dsputil_mmx.c

Alex Converse alex.converse
Wed Mar 11 08:19:03 CET 2009


On Tue, Mar 10, 2009 at 10:04 PM, Michael Niedermayer <michaelni at gmx.at> wrote:
> On Tue, Mar 10, 2009 at 09:19:56PM -0400, Alex Converse wrote:
>> This is my first mmx patch so please bear with me.
>
>> diff --git a/libavcodec/x86/dsputil_mmx.c b/libavcodec/x86/dsputil_mmx.c
>> index 2f47f5f..3771c5f 100644
>> --- a/libavcodec/x86/dsputil_mmx.c
>> +++ b/libavcodec/x86/dsputil_mmx.c
>> @@ -28,7 +28,6 @@
>> ?#include "libavcodec/mpegvideo.h"
>> ?#include "libavcodec/simple_idct.h"
>> ?#include "dsputil_mmx.h"
>> -#include "mmx.h"
>> ?#include "vp3dsp_mmx.h"
>> ?#include "vp3dsp_sse2.h"
>> ?#include "vp6dsp_mmx.h"
>> @@ -278,16 +277,33 @@ static DECLARE_ALIGNED_8(const unsigned char, vector128[8]) =
>>
>> ?void put_signed_pixels_clamped_mmx(const DCTELEM *block, uint8_t *pixels, int line_size)
>> ?{
>> + ? ?const DCTELEM *p = block;
>> + ? ?uint8_t *pix = pixels;
>> ? ? ?int i;
>>
>> - ? ?movq_m2r(*vector128, mm1);
>> - ? ?for (i = 0; i < 8; i++) {
>> - ? ? ? ?movq_m2r(*(block), mm0);
>> - ? ? ? ?packsswb_m2r(*(block + 4), mm0);
>> - ? ? ? ?block += 8;
>> - ? ? ? ?paddb_r2r(mm1, mm0);
>> - ? ? ? ?movq_r2m(mm0, *pixels);
>> - ? ? ? ?pixels += line_size;
>> + ? ?__asm__ volatile ("movq %0, %%mm0" : : "m" (*vector128));
>> + ? ?for (i = 0; i < 8; i+=4) {
>> + ? ? ? ?__asm__ volatile (
>> + ? ? ? ? ? ? ? ?"movq ? (%1), %%mm1 ? ? ? ? ? ? \n\t"
>> + ? ? ? ? ? ? ? ?"movq 16(%1), %%mm2 ? ? ? ? ? ? \n\t"
>> + ? ? ? ? ? ? ? ?"movq 32(%1), %%mm3 ? ? ? ? ? ? \n\t"
>> + ? ? ? ? ? ? ? ?"movq 48(%1), %%mm4 ? ? ? ? ? ? \n\t"
>> + ? ? ? ? ? ? ? ?"packsswb ?8(%1), %%mm1 ? ? ? ? \n\t"
>> + ? ? ? ? ? ? ? ?"packsswb 24(%1), %%mm2 ? ? ? ? \n\t"
>> + ? ? ? ? ? ? ? ?"packsswb 40(%1), %%mm3 ? ? ? ? \n\t"
>> + ? ? ? ? ? ? ? ?"packsswb 56(%1), %%mm4 ? ? ? ? \n\t"
>> + ? ? ? ? ? ? ? ?"paddb %%mm0, %%mm1 ? ? ? ? ? ? \n\t"
>> + ? ? ? ? ? ? ? ?"paddb %%mm0, %%mm2 ? ? ? ? ? ? \n\t"
>> + ? ? ? ? ? ? ? ?"paddb %%mm0, %%mm3 ? ? ? ? ? ? \n\t"
>> + ? ? ? ? ? ? ? ?"paddb %%mm0, %%mm4 ? ? ? ? ? ? \n\t"
>> + ? ? ? ? ? ? ? ?"movq %%mm1, (%0) ? ? ? ? ? ? ? \n\t"
>> + ? ? ? ? ? ? ? ?"movq %%mm2, (%0, %2) ? ? ? ? ? \n\t"
>> + ? ? ? ? ? ? ? ?"movq %%mm3, (%0, %2, 2) ? ? ? ?\n\t"
>> + ? ? ? ? ? ? ? ?"movq %%mm4, (%0, %3) ? ? ? ? ? \n\t"
>> + ? ? ? ? ? ? ? ?::"r" (pix), "r" (p), "r"((x86_reg)line_size), "r"((x86_reg)3*line_size)
>> + ? ? ? ? ? ? ? ?:"memory");
>> + ? ? ? ?p += 32;
>> + ? ? ? ?pix += 4*line_size;
>
> 1. the for() should not be there, it should be in the asm()

The for loop has been eliminated

> 2. benchmark is always needed when messing with optimized code.
> ? ?START/STOP_TIMER around the point that calls the changed
> ? ?function is likely the easiest way to do it

The benchmarks seem inconclusive. The unpatched version seems to start
out faster and end slower. I don't know what of make of this.

On my Intel Core 2 Duo  6600 @ 2.40GHz:

x86 unpatched
FFmpeg version git-6a16ca7, Copyright (c) 2000-2009 Fabrice Bellard, et al.
  configuration: --enable-gpl --disable-ffserver --extra-cflags=-m32
--extra-ldflags=-m32
  libavutil     50. 0. 0 / 50. 0. 0
  libavcodec    52.21. 0 / 52.21. 0
  libavformat   52.31. 1 / 52.31. 1
  libavdevice   52. 1. 0 / 52. 1. 0
  libswscale     0. 7. 1 /  0. 7. 1
  built on Mar 11 2009 02:50:10, gcc: 4.3.2

Seems stream 0 codec frame rate differs from container frame rate:
1000.00 (1000/1) -> 25.00 (25/1)
Input #0, asf, from '../../vc1/Test_1440x576_WVC1_6Mbps.wmv':
  Duration: 00:00:53.01, start: 5.000000, bitrate: 6592 kb/s
    Stream #0.0: Video: vc1, yuv420p, 1440x576, 6000 kb/s, PAR 1:1 DAR
5:2, 25 tbr, 1k tbn, 1k tbc
Output #0, null, to 'pipe:':
    Stream #0.0: Video: rawvideo, yuv420p, 1440x576 [PAR 1:1 DAR 5:2],
q=2-31, 200 kb/s, 90k tbn, 25 tbc
Stream mapping:
  Stream #0.0 -> #0.0
Press [q] to stop encoding
12960 dezicycles in 1st call, 1 runs, 0 skips
7515 dezicycles in 1st call, 2 runs, 0 skips
4590 dezicycles in 1st call, 4 runs, 0 skips
3082 dezicycles in 1st call, 8 runs, 0 skips
2880 dezicycles in 2nd call, 1 runs, 0 skips
2475 dezicycles in 2nd call, 2 runs, 0 skips
2047 dezicycles in 2nd call, 4 runs, 0 skips
1946 dezicycles in 2nd call, 8 runs, 0 skips
1912 dezicycles in 2nd call, 16 runs, 0 skips
1906 dezicycles in 2nd call, 32 runs, 0 skips
2373 dezicycles in 1st call, 16 runs, 0 skips
1960 dezicycles in 1st call, 32 runs, 0 skips
1821 dezicycles in 2nd call, 64 runs, 0 skips
1763 dezicycles in 1st call, 64 runs, 0 skips
1662 dezicycles in 1st call, 128 runs, 0 skips
1866 dezicycles in 2nd call, 128 runs, 0 skips
1614 dezicycles in 1st call, 256 runs, 0 skips
1592 dezicycles in 1st call, 512 runs, 0 skips
1858 dezicycles in 2nd call, 256 runs, 0 skips
1801 dezicycles in 2nd call, 512 runs, 0 skips
1477 dezicycles in 1st call, 1024 runs, 0 skips
1600 dezicycles in 2nd call, 1024 runs, 0 skips
frame=  156 fps=  0 q=0.0 size=      -0kB time=6.24 bitrate=  -0.0kbits/s
1526 dezicycles in 2nd call, 2048 runs, 0 skips
frame=  244 fps=239 q=0.0 size=      -0kB time=9.76 bitrate=  -0.0kbits/s
frame=  321 fps=211 q=0.0 size=      -0kB time=12.84 bitrate=  -0.0kbits/s
1469 dezicycles in 2nd call, 4096 runs, 0 skips
1980 dezicycles in 3rd call, 1 runs, 0 skips
1620 dezicycles in 3rd call, 2 runs, 0 skips
1350 dezicycles in 3rd call, 4 runs, 0 skips
frame=  391 fps=193 q=0.0 size=      -0kB time=15.64 bitrate=  -0.0kbits/s
1316 dezicycles in 3rd call, 8 runs, 0 skips
1254 dezicycles in 3rd call, 16 runs, 0 skips
1144 dezicycles in 3rd call, 32 runs, 0 skips
1272 dezicycles in 1st call, 2048 runs, 0 skips
1129 dezicycles in 3rd call, 64 runs, 0 skips
frame=  459 fps=182 q=0.0 size=      -0kB time=18.36 bitrate=  -0.0kbits/s
1110 dezicycles in 3rd call, 128 runs, 0 skips
1089 dezicycles in 3rd call, 256 runs, 0 skips
1160 dezicycles in 1st call, 4096 runs, 0 skips
1419 dezicycles in 2nd call, 8192 runs, 0 skips
1078 dezicycles in 3rd call, 512 runs, 0 skips
1100 dezicycles in 1st call, 8192 runs, 0 skips
1053 dezicycles in 3rd call, 1024 runs, 0 skips
frame=  523 fps=173 q=0.0 size=      -0kB time=20.92 bitrate=  -0.0kbits/s
1069 dezicycles in 1st call, 16384 runs, 0 skips
1050 dezicycles in 3rd call, 2048 runs, 0 skips
1346 dezicycles in 2nd call, 16384 runs, 0 skips
frame=  593 fps=168 q=0.0 size=      -0kB time=23.72 bitrate=  -0.0kbits/s
frame=  673 fps=167 q=0.0 size=      -0kB time=26.92 bitrate=  -0.0kbits/s
1054 dezicycles in 1st call, 32768 runs, 0 skips
1049 dezicycles in 3rd call, 4096 runs, 0 skips
frame=  731 fps=161 q=0.0 size=      -0kB time=29.24 bitrate=  -0.0kbits/s
1051 dezicycles in 3rd call, 8192 runs, 0 skips
1047 dezicycles in 1st call, 65536 runs, 0 skips
1311 dezicycles in 2nd call, 32768 runs, 0 skips
frame=  784 fps=156 q=0.0 size=      -0kB time=31.36 bitrate=  -0.0kbits/s
frame=  857 fps=155 q=0.0 size=      -0kB time=34.28 bitrate=  -0.0kbits/s
frame=  939 fps=155 q=0.0 size=      -0kB time=37.56 bitrate=  -0.0kbits/s
frame= 1012 fps=155 q=0.0 size=      -0kB time=40.48 bitrate=  -0.0kbits/s
frame= 1082 fps=154 q=0.0 size=      -0kB time=43.28 bitrate=  -0.0kbits/s
frame= 1146 fps=152 q=0.0 size=      -0kB time=45.84 bitrate=  -0.0kbits/s
1301 dezicycles in 2nd call, 65536 runs, 0 skips
frame= 1202 fps=149 q=0.0 size=      -0kB time=48.08 bitrate=  -0.0kbits/s
frame= 1264 fps=148 q=0.0 size=      -0kB time=50.56 bitrate=  -0.0kbits/s
frame= 1323 fps=146 q=0.0 size=      -0kB time=52.92 bitrate=  -0.0kbits/s
1045 dezicycles in 1st call, 131072 runs, 0 skips
1061 dezicycles in 3rd call, 16384 runs, 0 skips
frame= 1374 fps=144 q=0.0 size=      -0kB time=54.96 bitrate=  -0.0kbits/s
frame= 1421 fps=141 q=0.0 size=      -0kB time=56.84 bitrate=  -0.0kbits/s
frame= 1451 fps=140 q=0.0 Lsize=      -0kB time=58.04 bitrate=  -0.0kbits/s

video:0kB audio:0kB global headers:0kB muxing overhead -inf%

x86 patched
FFmpeg version git-6a16ca7, Copyright (c) 2000-2009 Fabrice Bellard, et al.
  configuration: --enable-gpl --disable-ffserver --extra-cflags=-m32
--extra-ldflags=-m32
  libavutil     50. 0. 0 / 50. 0. 0
  libavcodec    52.21. 0 / 52.21. 0
  libavformat   52.31. 1 / 52.31. 1
  libavdevice   52. 1. 0 / 52. 1. 0
  libswscale     0. 7. 1 /  0. 7. 1
  built on Mar 11 2009 02:58:52, gcc: 4.3.2

Seems stream 0 codec frame rate differs from container frame rate:
1000.00 (1000/1) -> 25.00 (25/1)
Input #0, asf, from '../../vc1/Test_1440x576_WVC1_6Mbps.wmv':
  Duration: 00:00:53.01, start: 5.000000, bitrate: 6592 kb/s
    Stream #0.0: Video: vc1, yuv420p, 1440x576, 6000 kb/s, PAR 1:1 DAR
5:2, 25 tbr, 1k tbn, 1k tbc
Output #0, null, to 'pipe:':
    Stream #0.0: Video: rawvideo, yuv420p, 1440x576 [PAR 1:1 DAR 5:2],
q=2-31, 200 kb/s, 90k tbn, 25 tbc
Stream mapping:
  Stream #0.0 -> #0.0
Press [q] to stop encoding
15210 dezicycles in 1st call, 1 runs, 0 skips
8640 dezicycles in 1st call, 2 runs, 0 skips
5265 dezicycles in 1st call, 4 runs, 0 skips
3397 dezicycles in 1st call, 8 runs, 0 skips
1890 dezicycles in 2nd call, 1 runs, 0 skips
13545 dezicycles in 2nd call, 2 runs, 0 skips
7650 dezicycles in 2nd call, 4 runs, 0 skips
5130 dezicycles in 2nd call, 8 runs, 0 skips
3515 dezicycles in 2nd call, 16 runs, 0 skips
2697 dezicycles in 2nd call, 32 runs, 0 skips
2446 dezicycles in 1st call, 16 runs, 0 skips
1937 dezicycles in 1st call, 32 runs, 0 skips
2297 dezicycles in 2nd call, 64 runs, 0 skips
1697 dezicycles in 1st call, 64 runs, 0 skips
1557 dezicycles in 1st call, 128 runs, 0 skips
2088 dezicycles in 2nd call, 128 runs, 0 skips
1496 dezicycles in 1st call, 256 runs, 0 skips
1471 dezicycles in 1st call, 512 runs, 0 skips
1950 dezicycles in 2nd call, 256 runs, 0 skips
1833 dezicycles in 2nd call, 512 runs, 0 skips
1361 dezicycles in 1st call, 1024 runs, 0 skips
1608 dezicycles in 2nd call, 1024 runs, 0 skips
frame=  159 fps=  0 q=0.0 size=      -0kB time=6.36 bitrate=  -0.0kbits/s
1546 dezicycles in 2nd call, 2048 runs, 0 skips
frame=  247 fps=240 q=0.0 size=      -0kB time=9.88 bitrate=  -0.0kbits/s
frame=  326 fps=212 q=0.0 size=      -0kB time=13.04 bitrate=  -0.0kbits/s
1475 dezicycles in 2nd call, 4096 runs, 0 skips
1800 dezicycles in 3rd call, 1 runs, 0 skips
1755 dezicycles in 3rd call, 2 runs, 0 skips
1417 dezicycles in 3rd call, 4 runs, 0 skips
frame=  397 fps=194 q=0.0 size=      -0kB time=15.88 bitrate=  -0.0kbits/s
1395 dezicycles in 3rd call, 8 runs, 0 skips
1260 dezicycles in 3rd call, 16 runs, 0 skips
1198 dezicycles in 3rd call, 32 runs, 0 skips
1179 dezicycles in 1st call, 2048 runs, 0 skips
1136 dezicycles in 3rd call, 64 runs, 0 skips
1100 dezicycles in 3rd call, 128 runs, 0 skips
frame=  465 fps=183 q=0.0 size=      -0kB time=18.60 bitrate=  -0.0kbits/s
1065 dezicycles in 3rd call, 256 runs, 0 skips
1070 dezicycles in 1st call, 4096 runs, 0 skips
1402 dezicycles in 2nd call, 8192 runs, 0 skips
1092 dezicycles in 3rd call, 512 runs, 0 skips
1016 dezicycles in 1st call, 8192 runs, 0 skips
1054 dezicycles in 3rd call, 1024 runs, 0 skips
frame=  530 fps=174 q=0.0 size=      -0kB time=21.20 bitrate=  -0.0kbits/s
986 dezicycles in 1st call, 16384 runs, 0 skips
1047 dezicycles in 3rd call, 2048 runs, 0 skips
1317 dezicycles in 2nd call, 16384 runs, 0 skips
frame=  598 fps=168 q=0.0 size=      -0kB time=23.92 bitrate=  -0.0kbits/s
frame=  680 fps=167 q=0.0 size=      -0kB time=27.20 bitrate=  -0.0kbits/s
971 dezicycles in 1st call, 32768 runs, 0 skips
1038 dezicycles in 3rd call, 4096 runs, 0 skips
frame=  737 fps=161 q=0.0 size=      -0kB time=29.48 bitrate=  -0.0kbits/s
1031 dezicycles in 3rd call, 8192 runs, 0 skips
965 dezicycles in 1st call, 65535 runs, 1 skips
1271 dezicycles in 2nd call, 32768 runs, 0 skips
frame=  789 fps=156 q=0.0 size=      -0kB time=31.56 bitrate=  -0.0kbits/s
frame=  868 fps=156 q=0.0 size=      -0kB time=34.72 bitrate=  -0.0kbits/s
frame=  947 fps=156 q=0.0 size=      -0kB time=37.88 bitrate=  -0.0kbits/s
frame= 1019 fps=155 q=0.0 size=      -0kB time=40.76 bitrate=  -0.0kbits/s
frame= 1089 fps=154 q=0.0 size=      -0kB time=43.56 bitrate=  -0.0kbits/s
frame= 1151 fps=152 q=0.0 size=      -0kB time=46.04 bitrate=  -0.0kbits/s
1262 dezicycles in 2nd call, 65535 runs, 1 skips
frame= 1208 fps=149 q=0.0 size=      -0kB time=48.32 bitrate=  -0.0kbits/s
frame= 1271 fps=148 q=0.0 size=      -0kB time=50.84 bitrate=  -0.0kbits/s
frame= 1328 fps=146 q=0.0 size=      -0kB time=53.12 bitrate=  -0.0kbits/s
962 dezicycles in 1st call, 131071 runs, 1 skips
1050 dezicycles in 3rd call, 16384 runs, 0 skips
frame= 1378 fps=143 q=0.0 size=      -0kB time=55.12 bitrate=  -0.0kbits/s
frame= 1426 fps=141 q=0.0 size=      -0kB time=57.04 bitrate=  -0.0kbits/s
frame= 1451 fps=140 q=0.0 Lsize=      -0kB time=58.04 bitrate=  -0.0kbits/s

video:0kB audio:0kB global headers:0kB muxing overhead -inf%

amd64 unpatched
FFmpeg version git-6a16ca7, Copyright (c) 2000-2009 Fabrice Bellard, et al.
  configuration: --enable-gpl --disable-ffserver
  libavutil     50. 0. 0 / 50. 0. 0
  libavcodec    52.21. 0 / 52.21. 0
  libavformat   52.31. 1 / 52.31. 1
  libavdevice   52. 1. 0 / 52. 1. 0
  libswscale     0. 7. 1 /  0. 7. 1
  built on Mar 11 2009 02:51:25, gcc: 4.3.2

Seems stream 0 codec frame rate differs from container frame rate:
1000.00 (1000/1) -> 25.00 (25/1)
Input #0, asf, from '../../vc1/Test_1440x576_WVC1_6Mbps.wmv':
  Duration: 00:00:53.01, start: 5.000000, bitrate: 6592 kb/s
    Stream #0.0: Video: vc1, yuv420p, 1440x576, 6000 kb/s, PAR 1:1 DAR
5:2, 25 tbr, 1k tbn, 1k tbc
Output #0, null, to 'pipe:':
    Stream #0.0: Video: rawvideo, yuv420p, 1440x576 [PAR 1:1 DAR 5:2],
q=2-31, 200 kb/s, 90k tbn, 25 tbc
Stream mapping:
  Stream #0.0 -> #0.0
Press [q] to stop encoding
10620 dezicycles in 1st call, 1 runs, 0 skips
6660 dezicycles in 1st call, 2 runs, 0 skips
4140 dezicycles in 1st call, 4 runs, 0 skips
2778 dezicycles in 1st call, 8 runs, 0 skips
1800 dezicycles in 2nd call, 1 runs, 0 skips
2250 dezicycles in 2nd call, 2 runs, 0 skips
2205 dezicycles in 2nd call, 4 runs, 0 skips
1946 dezicycles in 2nd call, 8 runs, 0 skips
1760 dezicycles in 2nd call, 16 runs, 0 skips
1628 dezicycles in 2nd call, 32 runs, 0 skips
2075 dezicycles in 1st call, 16 runs, 0 skips
1721 dezicycles in 1st call, 32 runs, 0 skips
1548 dezicycles in 2nd call, 64 runs, 0 skips
1518 dezicycles in 1st call, 64 runs, 0 skips
1431 dezicycles in 1st call, 128 runs, 0 skips
1489 dezicycles in 2nd call, 128 runs, 0 skips
1372 dezicycles in 1st call, 256 runs, 0 skips
1350 dezicycles in 1st call, 512 runs, 0 skips
1447 dezicycles in 2nd call, 256 runs, 0 skips
1397 dezicycles in 2nd call, 512 runs, 0 skips
1255 dezicycles in 1st call, 1024 runs, 0 skips
1185 dezicycles in 2nd call, 1024 runs, 0 skips
frame=  175 fps=  0 q=0.0 size=      -0kB time=7.00 bitrate=  -0.0kbits/s
1100 dezicycles in 2nd call, 2048 runs, 0 skips
frame=  275 fps=270 q=0.0 size=      -0kB time=11.00 bitrate=  -0.0kbits/s
1035 dezicycles in 2nd call, 4096 runs, 0 skips
1440 dezicycles in 3rd call, 1 runs, 0 skips
1395 dezicycles in 3rd call, 2 runs, 0 skips
1192 dezicycles in 3rd call, 4 runs, 0 skips
frame=  363 fps=238 q=0.0 size=      -0kB time=14.52 bitrate=  -0.0kbits/s
1125 dezicycles in 3rd call, 8 runs, 0 skips
frame=  444 fps=219 q=0.0 size=      -0kB time=17.76 bitrate=  -0.0kbits/s
1057 dezicycles in 3rd call, 16 runs, 0 skips
990 dezicycles in 3rd call, 32 runs, 0 skips
1083 dezicycles in 1st call, 2048 runs, 0 skips
980 dezicycles in 3rd call, 64 runs, 0 skips
947 dezicycles in 3rd call, 128 runs, 0 skips
930 dezicycles in 3rd call, 256 runs, 0 skips
983 dezicycles in 1st call, 4096 runs, 0 skips
997 dezicycles in 2nd call, 8192 runs, 0 skips
932 dezicycles in 3rd call, 512 runs, 0 skips
934 dezicycles in 1st call, 8191 runs, 1 skips
925 dezicycles in 3rd call, 1024 runs, 0 skips
frame=  519 fps=205 q=0.0 size=      -0kB time=20.76 bitrate=  -0.0kbits/s
906 dezicycles in 1st call, 16383 runs, 1 skips
923 dezicycles in 3rd call, 2048 runs, 0 skips
975 dezicycles in 2nd call, 16383 runs, 1 skips
frame=  600 fps=198 q=0.0 size=      -0kB time=24.00 bitrate=  -0.0kbits/s
frame=  694 fps=196 q=0.0 size=      -0kB time=27.76 bitrate=  -0.0kbits/s
895 dezicycles in 1st call, 32767 runs, 1 skips
923 dezicycles in 3rd call, 4096 runs, 0 skips
frame=  759 fps=188 q=0.0 size=      -0kB time=30.36 bitrate=  -0.0kbits/s
918 dezicycles in 3rd call, 8192 runs, 0 skips
888 dezicycles in 1st call, 65535 runs, 1 skips
963 dezicycles in 2nd call, 32767 runs, 1 skips
frame=  832 fps=183 q=0.0 size=      -0kB time=33.28 bitrate=  -0.0kbits/s
frame=  933 fps=185 q=0.0 size=      -0kB time=37.32 bitrate=  -0.0kbits/s
frame= 1019 fps=184 q=0.0 size=      -0kB time=40.76 bitrate=  -0.0kbits/s
frame= 1102 fps=182 q=0.0 size=      -0kB time=44.08 bitrate=  -0.0kbits/s
956 dezicycles in 2nd call, 65535 runs, 1 skips
frame= 1173 fps=179 q=0.0 size=      -0kB time=46.92 bitrate=  -0.0kbits/s
frame= 1243 fps=176 q=0.0 size=      -0kB time=49.72 bitrate=  -0.0kbits/s
frame= 1315 fps=174 q=0.0 size=      -0kB time=52.60 bitrate=  -0.0kbits/s
888 dezicycles in 1st call, 131071 runs, 1 skips
928 dezicycles in 3rd call, 16384 runs, 0 skips
frame= 1376 fps=171 q=0.0 size=      -0kB time=55.04 bitrate=  -0.0kbits/s
frame= 1434 fps=167 q=0.0 size=      -0kB time=57.36 bitrate=  -0.0kbits/s
frame= 1451 fps=167 q=0.0 Lsize=      -0kB time=58.04 bitrate=  -0.0kbits/s

video:0kB audio:0kB global headers:0kB muxing overhead -inf%

amd64 patched
FFmpeg version git-6a16ca7, Copyright (c) 2000-2009 Fabrice Bellard, et al.
  configuration: --enable-gpl --disable-ffserver
  libavutil     50. 0. 0 / 50. 0. 0
  libavcodec    52.21. 0 / 52.21. 0
  libavformat   52.31. 1 / 52.31. 1
  libavdevice   52. 1. 0 / 52. 1. 0
  libswscale     0. 7. 1 /  0. 7. 1
  built on Mar 11 2009 02:59:00, gcc: 4.3.2

Seems stream 0 codec frame rate differs from container frame rate:
1000.00 (1000/1) -> 25.00 (25/1)
Input #0, asf, from '../../vc1/Test_1440x576_WVC1_6Mbps.wmv':
  Duration: 00:00:53.01, start: 5.000000, bitrate: 6592 kb/s
    Stream #0.0: Video: vc1, yuv420p, 1440x576, 6000 kb/s, PAR 1:1 DAR
5:2, 25 tbr, 1k tbn, 1k tbc
Output #0, null, to 'pipe:':
    Stream #0.0: Video: rawvideo, yuv420p, 1440x576 [PAR 1:1 DAR 5:2],
q=2-31, 200 kb/s, 90k tbn, 25 tbc
Stream mapping:
  Stream #0.0 -> #0.0
Press [q] to stop encoding
11700 dezicycles in 1st call, 1 runs, 0 skips
7155 dezicycles in 1st call, 2 runs, 0 skips
4410 dezicycles in 1st call, 4 runs, 0 skips
2902 dezicycles in 1st call, 8 runs, 0 skips
1710 dezicycles in 2nd call, 1 runs, 0 skips
2025 dezicycles in 2nd call, 2 runs, 0 skips
1957 dezicycles in 2nd call, 4 runs, 0 skips
1845 dezicycles in 2nd call, 8 runs, 0 skips
1693 dezicycles in 2nd call, 16 runs, 0 skips
1589 dezicycles in 2nd call, 32 runs, 0 skips
2109 dezicycles in 1st call, 16 runs, 0 skips
1718 dezicycles in 1st call, 32 runs, 0 skips
1501 dezicycles in 2nd call, 64 runs, 0 skips
1504 dezicycles in 1st call, 64 runs, 0 skips
1397 dezicycles in 1st call, 128 runs, 0 skips
1454 dezicycles in 2nd call, 128 runs, 0 skips
1346 dezicycles in 1st call, 256 runs, 0 skips
1325 dezicycles in 1st call, 512 runs, 0 skips
1410 dezicycles in 2nd call, 256 runs, 0 skips
1358 dezicycles in 2nd call, 512 runs, 0 skips
1226 dezicycles in 1st call, 1024 runs, 0 skips
1156 dezicycles in 2nd call, 1024 runs, 0 skips
frame=  177 fps=  0 q=0.0 size=      -0kB time=7.08 bitrate=  -0.0kbits/s
1074 dezicycles in 2nd call, 2048 runs, 0 skips
frame=  277 fps=272 q=0.0 size=      -0kB time=11.08 bitrate=  -0.0kbits/s
1024 dezicycles in 2nd call, 4096 runs, 0 skips
1260 dezicycles in 3rd call, 1 runs, 0 skips
1260 dezicycles in 3rd call, 2 runs, 0 skips
1147 dezicycles in 3rd call, 4 runs, 0 skips
frame=  364 fps=240 q=0.0 size=      -0kB time=14.56 bitrate=  -0.0kbits/s
1091 dezicycles in 3rd call, 8 runs, 0 skips
frame=  445 fps=220 q=0.0 size=      -0kB time=17.80 bitrate=  -0.0kbits/s
1046 dezicycles in 3rd call, 16 runs, 0 skips
961 dezicycles in 3rd call, 32 runs, 0 skips
1060 dezicycles in 1st call, 2048 runs, 0 skips
923 dezicycles in 3rd call, 64 runs, 0 skips
933 dezicycles in 3rd call, 128 runs, 0 skips
909 dezicycles in 3rd call, 256 runs, 0 skips
963 dezicycles in 1st call, 4096 runs, 0 skips
983 dezicycles in 2nd call, 8192 runs, 0 skips
894 dezicycles in 3rd call, 512 runs, 0 skips
913 dezicycles in 1st call, 8192 runs, 0 skips
878 dezicycles in 3rd call, 1024 runs, 0 skips
frame=  521 fps=206 q=0.0 size=      -0kB time=20.84 bitrate=  -0.0kbits/s
886 dezicycles in 1st call, 16384 runs, 0 skips
873 dezicycles in 3rd call, 2048 runs, 0 skips
956 dezicycles in 2nd call, 16384 runs, 0 skips
frame=  601 fps=198 q=0.0 size=      -0kB time=24.04 bitrate=  -0.0kbits/s
frame=  696 fps=197 q=0.0 size=      -0kB time=27.84 bitrate=  -0.0kbits/s
875 dezicycles in 1st call, 32768 runs, 0 skips
873 dezicycles in 3rd call, 4096 runs, 0 skips
frame=  760 fps=188 q=0.0 size=      -0kB time=30.40 bitrate=  -0.0kbits/s
872 dezicycles in 3rd call, 8192 runs, 0 skips
869 dezicycles in 1st call, 65536 runs, 0 skips
942 dezicycles in 2nd call, 32768 runs, 0 skips
frame=  834 fps=184 q=0.0 size=      -0kB time=33.36 bitrate=  -0.0kbits/s
frame=  935 fps=185 q=0.0 size=      -0kB time=37.40 bitrate=  -0.0kbits/s
frame= 1021 fps=184 q=0.0 size=      -0kB time=40.84 bitrate=  -0.0kbits/s
frame= 1104 fps=182 q=0.0 size=      -0kB time=44.16 bitrate=  -0.0kbits/s
933 dezicycles in 2nd call, 65536 runs, 0 skips
frame= 1174 fps=179 q=0.0 size=      -0kB time=46.96 bitrate=  -0.0kbits/s
frame= 1244 fps=176 q=0.0 size=      -0kB time=49.76 bitrate=  -0.0kbits/s
frame= 1316 fps=174 q=0.0 size=      -0kB time=52.64 bitrate=  -0.0kbits/s
868 dezicycles in 1st call, 131072 runs, 0 skips
882 dezicycles in 3rd call, 16384 runs, 0 skips
frame= 1377 fps=171 q=0.0 size=      -0kB time=55.08 bitrate=  -0.0kbits/s
frame= 1435 fps=167 q=0.0 size=      -0kB time=57.40 bitrate=  -0.0kbits/s
frame= 1451 fps=167 q=0.0 Lsize=      -0kB time=58.04 bitrate=  -0.0kbits/s

video:0kB audio:0kB global headers:0kB muxing overhead -inf%

[..]

--Alex
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dsputil_mmx-no-mmx.h.diff
Type: text/x-diff
Size: 2532 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20090311/4368f613/attachment.diff>



More information about the ffmpeg-devel mailing list