Thanks, I tested with your 32bit build.
Result is that it behaves just like my own one.
Another thing is that I made a small command line test app with visual
studio implementing some decoding as simple as possible.
And with that simple app all libraries work with multithreading enabled.
So the difference must be somewhere in my using code on visual studio side.
Unfortunately that code is a bit more complicated but at least I know
where to search now.
Some things that might be interresting to you:
- If you set ffmpegs --arch configure option to x86_32 then you are not
able to use swscale lib with resolutions above 2048. I use just --arch
x86 for 32 bit and --arch=x86_64 for 64 bit, that leads to ARCH_X86
defined and sets that resolution border up to 5120 (see
swscale_internal.h, line 36 ff). Maybe there are also other Implications
like optimizations - I dont know.
- I think you are using the lib files that mingws dlltool created. That
turned out problematic for me in bigger projects with more references
because It seems there are much more symbols included than neccessary
e.g. CoCreateInstance and some other COM functions. It happened to me
that the runtime linker searches them in the ffmpeg libraries where they
are either not found or do not work.
Instead I use the ms tool "dll.exe" on windows side to create the lib
files from the def files that mingw created. These lib files are also
significantly smaller. Dont know about the backgrounds of that - just
some experiences I made.
Ole
Am 25.03.2011 17:19, schrieb Kirill Gavrilov:
Meanwhile I tried to implement pthread attach code to my process
and threads as described here:
http://www.cygwin.com/ml/pthreads-win32/2010/msg00010.html
But it had no impact.
I use pthreads only for Linux builds and for Windows - just clean
WinAPI threads.
Anyway, could that be a problem, that I open the video in the main
thread but then call decode in another one created with native
windows functions?
If you do something in not thread-safe manner ;). I use up to 4
threads for decoding (I talking not about new multithreading decoding
features inside FFmpeg)
one read the packets from context(s), one for audio decoding and up to
2 threads for video decoding (for dual stream video).
Would you be so kind and send me your working dlls and libs?
So I can deduce if there is something wrong with my code or if its
my ffmpeg compilation.
Does not matter if 32 or 64 bit as I have both versions at hand.
Either by mail or your upload site or or my ftp if you want:
No problem. This is LGPL build, configuration information you will
find inside archives.
http://sview.cifro-city.ru/downloads/FFmpeg/ffmpeg-2011-03-24-git-0cd1383-i686-mingw32-4.4.2.7z
http://sview.cifro-city.ru/downloads/FFmpeg/ffmpeg-2011-03-24-git-0cd1383-x86_64-w64-mingw32-4.4.2.7z
-----------------------------------------------
Kirill Gavrilov,
Software designer.
_______________________________________________
Libav-user mailing list
[email protected]
http://ffmpeg.org/mailman/listinfo/libav-user