<html><body><div style="color:#000; background-color:#fff; font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:12pt"><div>I want to create several pthreads in a C++ program (assuming you can call</div><div>libav routines from a C++ program) that each call libav subroutines.  <br></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; background-color: transparent; font-style: normal;">Are the libav subroutines  thread-safe?  Specifically,</div><div>can several pthreads open the same AVI file and decode different video</div><div>frames concurrently?</div><div><br></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; background-color: transparent; font-style: normal;">I'm doing this so I can write a real-time video
 that</div><div>can play the video forward and backwards, and the multiple threads will</div><div>help decode and process each frame quickly so there will be no delay when</div><div>I step through the video.</div><div><br></div><div><br></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; background-color: transparent; font-style: normal;"><br></div></div></body></html>