[FFmpeg-devel] Load balancing problem with ffh264 deblock filter
Thu Sep 11 13:03:51 CEST 2008
I built the ffmpeg library from current svn sources and enabled pthreads using configure. Playing 720p50 content on my Intel Pentium 2800 DualCore results in the unsatisfactory situation that there occur phases where (for too long time) one core saturates at 100% load while the 2nd core stays at ~30%. Frame decoding fails after a short time with indication "Your system is too SLOW to play this"
Quote from log: "[h264 @ 0x8943930]Cannot parallelize deblocking type 1, decoding such frames in sequential order".
It looks like the problem is arising due to the fact that the deblocking code is executed by a single thread which on my system takes too long while the 2nd cpu does have free capacity.
I do not understand why deblocking does not use several threads although the parameters I used do request it:
"mplayer -cache 16000 -vfm ffmpeg -vc ffh264 -lavdopts threads=2 -framedrop -ao oss -vo xv hdsuisse_testrec.ts"
I increased threads to 3 and 4 resulting in the same deadlock situation: one core at max, the second stays at 30%. The only way I found to get around this is to skip deblocking by using skiploopfilter=all and option "fast". Cpu load on both cores now varies at 70% leaving 30% to the max.
Please let me know if this is a bug in the code or if my above parameters are wrong?
Werden Sie Mitglied der neuen Windows Live Messenger Familie!
More information about the ffmpeg-devel