DirectShow Video Encoder Filter Graph is running but no output is produced

I have tried to use the video encoder with the C API and everything works fine.
I also wanted to try the DirectShow filter. I was succsessfully building a graph where all pins are connected and the run call returns no error. In the graph I use the Haali Media Splitter as input and as destination filter. The encoder filter itself is configured to H.264. When I start the application I can see CPU and GPU load at a high level. So something is done. The only problem is that no output file is produced. I use the same parameters as I use with the C API.

Has anyone an idea what could be the problem. I found no other filter that accepts the output stream than the Haali Media Splitter.
Has anyone tested the filter successfully?
The API manual tells “However, it can be used in a test application…”. Is this only a virtual test application? I can not find any sample code for this (C API or the DirectShow filter).

Hey, I am not going to answer your question… (coz, I dont know) But I am interested to know what is the kind of “speedup” you are observing… Did you measure PSNR?
Thanks for any info…

Hey, I am not going to answer your question… (coz, I dont know) But I am interested to know what is the kind of “speedup” you are observing… Did you measure PSNR?
Thanks for any info…

The speed factor depends on the profile/level combination and toolset used (e.g. if you use sliced encoding or CABAC/CAVAL). Using the high profile on a 720x576 (PAL D1) video I get a 260fps on a GTX460 and a Q6600@2.4GHz.

I have not measured the SNR of the output. I did a visual (perception) comparison with x264 (50fps) using 1MBit/s. The visual impression of the x264 output is much better.
Because I am not so interested in the C API I have not done further tests. I will continue after I get the DirectShow version working.

The speed factor depends on the profile/level combination and toolset used (e.g. if you use sliced encoding or CABAC/CAVAL). Using the high profile on a 720x576 (PAL D1) video I get a 260fps on a GTX460 and a Q6600@2.4GHz.

I have not measured the SNR of the output. I did a visual (perception) comparison with x264 (50fps) using 1MBit/s. The visual impression of the x264 output is much better.
Because I am not so interested in the C API I have not done further tests. I will continue after I get the DirectShow version working.

Thanks for the update! So roughly 5x with some noise added… looks like it…ok…

Thanks for the update! So roughly 5x with some noise added… looks like it…ok…

Help me please with encoder. I create graph and it work, but stream .264 file what writted - large and not compress and have a bugs on viewing (after pushing in avi container)
Graph:
AsyncReader → AviSplitter → DMOWrapper → NVEncoder → FileWritter.
Thanks for all.
DXEncoder.rar (2.36 MB)