[FFmpeg-devel] [PATCH] Reimplementation of OS/2 threads model
Dave Yeo
daveryeo
Sun May 9 06:53:49 CEST 2010
On 05/04/10 09:47 pm, KO Myung-Hun wrote:
>
>
> Dave Yeo wrote:
>> On 04/28/10 08:01 am, Ramiro Polla wrote:
>>> Also have you tested performance?
>>
>> os2thread 1 thread utime=30.525s, 28.972s, 32.332s
>> os2thread with more then 1 thread crashes in thread #2 in
>> _ff_mpeg1_decode_block_intra
>>
>
> Strange, I have no problems with 2 or more threads using os2thread based
> on w32thread.
>
This command,
ffmpeg -threads 4 -i test.mp4 -benchmark -f null -y nul
results in
FFmpeg version SVN-r23061, Copyright (c) 2000-2010 the FFmpeg developers
built on May 8 2010 21:13:03 with gcc 4.4.2
configuration: --enable-gpl --enable-os2threads
libavutil 50.15. 2 / 50.15. 2
libavcodec 52.67. 0 / 52.67. 0
libavformat 52.62. 0 / 52.62. 0
libavdevice 52. 2. 0 / 52. 2. 0
libavfilter 1.19. 0 / 1.19. 0
libswscale 0.10. 0 / 0.10. 0
[mpeg2video @ 0xc3e9c0]mpeg_decode_postinit() failure
Seems stream 0 codec frame rate differs from container frame rate: 59.94
(60000/1001) -> 59.94 (60000/1001)
Last message repeated 3 times
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'test.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2mp41
encoder : Lavf52.62.0
Duration: 00:04:04.97, start: 0.000000, bitrate: 3843 kb/s
Stream #0.0(und): Video: mpeg2video, yuv420p, 720x480 [PAR 32:27
DAR 16:9],
9800 kb/s, PAR 853:720 DAR 853:480, 23.98 fps, 59.94 tbr, 60k tbn, 59.94 tbc
Output #0, null, to 'nul':
Metadata:
encoder : Lavf52.62.0
Stream #0.0(und): Video: rawvideo, yuv420p, 720x480 [PAR 186:157
DAR 279:157], q=2-31, 200 kb/s, 90k tbn, 59.94 tbc
Stream mapping:
Stream #0.0 -> #0.0
Press [q] to stop encoding
[mpeg2video @ 0xc3e9c0]mpeg_decode_postinit() failure
Killed by SIGSEGV
pid=0xc9f4 ppid=0x0050 tid=0x0002 slot=0x00e9 pri=0x0200 mc=0x0001
I:\USR\SRC\FFMPEG\OS2THREADS\FFMPEG_G.EXE
FFMPEG_G 0:002601ee
cs:eip=005b:002701ee ss:esp=0053:02d5ff50 ebp=02d5ffb4
ds=0053 es=0053 fs=150b gs=0000 efl=00012206
eax=026afea8 ebx=00c492c0 ecx=002701e4 edx=002701e4 edi=005beb75
esi=00c5db40
Process dumping was disabled, use DUMPPROC / PROCDUMP to enable it.
Killed by SIGSEGV
pid=0xca06 ppid=0x0050 tid=0x0001 slot=0x00f9 pri=0x0200 mc=0x0001
I:\USR\SRC\FFMPEG\OS2THREADS\FFMPEG_G.EXE
FFMPEG_G 0:005aea77
cs:eip=005b:005bea77 ss:esp=0053:006de800 ebp=0026d474
ds=0053 es=0053 fs=150b gs=0000 efl=00012202
eax=65706d5b ebx=00000002 ecx=00000002 edx=00000001 edi=00b53d90
esi=006de86c
Process dumping was disabled, use DUMPPROC / PROCDUMP to enable it.
Where as this command,
ffmpeg -threads 4 -i test.mp4 -benchmark -f null -y nul 2>&1 | tee out
works with this result,
[...]
Stream mapping:
Stream #0.0 -> #0.0
Press [q] to stop encoding
[mpeg2video @ 0xc3e9c0]mpeg_decode_postinit() failure
Error while decoding stream #0.0
Error while decoding stream #0.0
Error while decoding stream #0.0
Error while decoding stream #0.0
[...]
frame=14665 fps=394 q=0.0 size= -0kB time=244.66 bitrate=
-0.0kbits/s dup=8805 drop=0
Last message repeated 3 times
[mpeg2video @ 0xc3e9c0]ac-tex damaged at 20 9
[mpeg2video @ 0xc3e9c0]Warning MVs not available
[mpeg2video @ 0xc3e9c0]concealing 945 DC, 945 AC, 945 MV errors
frame=14683 fps=394 q=0.0 Lsize= -0kB time=244.96 bitrate=
-0.0kbits/s dup=8815 drop=0
video:0kB audio:0kB global headers:0kB muxing overhead -inf%
bench: utime=37.342s maxrss=0kB
CPU is AMD Athlon XP2000, 768 MB ram, OS/2 ver4.5
Dave
ps 0:002601ee is in _av_write_frame and 0:005aea77 is in
_ff_metadata_demux_compat
More information about the ffmpeg-devel
mailing list