<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<div>Hi,</div>
<div><br>
</div>
<div>I have program (single process) that decodes multiple independent H.264 streams in parallel, each in a separate thread. Each thread creates its own AVCodec, AVFrame, AVCodecParserContext, AVCodecContext, and AVPacket (pointers to) objects. Nothing is shared
 between threads and I do not do any of my own synchronization around the decoding. My expectation was that each thread would use as much CPU as was necessary, and that I could scale up the number of parallel decoding threads to saturate the number of hardware
 threads on my machine (36). However no mater how many decoding threads I create, the process uses at most 1 CPU core instead of the 36 that are available. Each of the decoding threads uses roughly 1/(N threads) of that single core.</div>
<div><br>
</div>
<div>What's going on here, and how do I get libavcodec to use more of the available CPU?</div>
<div><br>
</div>
<div>Thanks,</div>
<div>T.J.</div>
</body>
</html>