Now I am creating a video conversion filter that should convert video frames in real time. One of the key filter requirements is high performance in order to minimize the number of dropped frames during conversion.
Another requirement, which has a lower priority, but also pleasant, is to make it cross-platform (both PCs and mobile devices).
The application is built in C ++.
Now my question is:
Is there any API that is more portable and has similar or better performance characteristics than DirectShow? since DirectShow portability is limited only to Windows-based devices (PCs and Windows Mobile and CE platforms).
I also notice that, for example, using the HTC user API has much better performance than what DirectShow offers. If you want to check this out, try creating a filter in DirectShow that will multiply each color by 2 and display it in real time from the camera on the screen. Then do the same with the HTC API. Compared to the vendor API, there is an almost 4-5-fold increase in performance. Therefore, it would be very nice if the library used the implementation of the driver for a specific device, since performance is crucial when performing this conversion on a mobile device (about 500 MHz).
source share