I am using ffmpeg as video/sound decoder library for my own windows &
directX based 3d-engine
which worked very well so far.
Now I heard about the new feature of inter-frame multithreaded decoding
which is of course interresting for me.
Got back into my linux virtual machine to cross compile the new version.
After some testing I could see no difference - no multithreading.
Then somewhere I found a hint to compile with "--enable-pthreads"
instead of "w32threads".
So I got myself the pthreads-win32 library source.
(do not use the 2.8 version from download links, but make a cvs checkout
instead there you will get version 2.9 which works much better)
Successfully compiled ffmpeg with pthreads-win32 linked statically into
ffmpegs shared libs which are then used by my MSVC Project.
Now if I leave "codec->thread_count" on 1 it still works (single
threaded) but if I set it to values > 1 then in case of mp4 or xvid
videos "avcodec_decode_video2" returns 0 and *got_picture_ptr is also 0.
Stuck at this point because I do not really want to debug into cross
compiled ffmpeg code from visual studio (would that work somehow?)
Questions:
How is multithreaded decoding supposed to work? do I have to provide
"codec->execute" or "codec->execute2"?
Already tried that but they are not called. Or is it done internally by
ffmpeg?
Is there any multithreading specific coding to be done ( except setting
"codec->thread_count") or is it transparent?
Does anybody have some experiences with multithreading and the cross
compiling setup I am using.
Is there some known bug or something?
On which codecs should multithreaded decoding work?
Thanks,
Ole
_______________________________________________
Libav-user mailing list
[email protected]
http://ffmpeg.org/mailman/listinfo/libav-user