There are many h.264 encoders out there like x264, mainconcept, intel. As I know, these software implementations are not realtime when compressing HD video (1080i or 720p). This significantly limits the usage of H264 compared with MPEG2. The intel one multi-threads the tasks among slices per frame. One frame has to be encoded before starting a new one. This is not efficient if a frame has less number of slices than the processors. I think there must be some new threading strategies to exploit the concurrency across frames. Any ideas?