Re: Bitmap ops/JPEG compress/decompress on Graphics Accelerator?




From: "roschler"

But the 320 x 240 frames come in over the network as JPEG
frames which are about 4KB per frame. That's closer to
800Kbps at 25FPS (4K x 8 bits x 25 FPS) not 46Mbps.

Didn't you write in your first post that you are sending the
processed bitmaps over the net?

I thought I read somewhere that Win2K did not have it
pre-installed, or is that just DirectX 9 or later?

If memory serves, Win2K comes with DX7. DS was included in
DX7 or, more precisely in Windows itself, since it was (and
still is) used by WMP7 and WMP7 was included in the system.
Only the very first versions of DirectShow were part of
DirectX instead of Windows but, even then, it was a separate
package (DirectXMedia6) that was installed by default by
WMP6.4+.

Given
your experience with DirectShow I'll believe you instead
and that is good news. I've been toying with the idea of
using DirectShow to render to a screen window and then
asking Windows to give me the bitmap from that window.
However your earlier comment makes me wonder how likely
that is to work:

Depending on your exact requirements and components, using
DirectShow is not always the best solution.

Seeing as I don't know how prevalent DXVA 2.0 extensions
are on Win2k and newer boxes.

DXVA2.0 requires Vista+. In any case, neither DXVA1.0 nor
DXVA2.0 support (M)JPEG.

That would cut some time
due to the decompression I do of the incoming JPEG
frames, but would still leave the recompression operation
needed to take the brightened bitmaps and send them on to
their destination.

As Tim pointed out, using the GPU will not necessarily make
compression and decompression faster. Mostly, it will only
free up the CPU. Non-rendered MJPEG would require custom GPU
code and may even end up being slower.

Optimized code running on the CPU is more likely to be
faster in this case, more so if you have multiple cores and
your code is parallelized. The Intel IPP optimized JPEG
codec may be your best bet:

http://software.intel.com/en-us/articles/intel-integrated-performance-primitives-code-samples/#jj

Then you could parallelize and
optimize your processing code.


--
// Alessandro Angeli
// MVP :: DirectShow / MediaFoundation
// mvpnews at riseoftheants dot com
// http://www.riseoftheants.com/mmx/faq.htm



.



Relevant Pages

  • Re: IVideoWindow on WM5
    ... Is there any info on what files I can play with DirectShow? ... Windows Media Player uses the same filters as DirectShow to render. ... This function works flawlessly in WinXP, but fails everytime in WM5 ...
    (microsoft.public.windowsce.embedded.vc)
  • RE: Memory leak when using directshow, help!
    ... These do not get destroyed after all the directshow ... What "ActiveMovieWindow" windows do you see and are they destroyed? ... I have used the ocx to play the same files with no memory leak. ...
    (microsoft.public.windowsce.embedded.vc)
  • Re: How to take control of video app?
    ... comes with my iPAQ that records the video streams and look where it ... couple of threads about developing DirectShow under Windows Mobile. ...
    (microsoft.public.win32.programmer.directx.video)
  • Re: Fastest way to draw filtered video
    ... But I'm way too far from DirectShow. ... stretching. ... >> So I've got my video frames ready for rendering. ...
    (microsoft.public.win32.programmer.gdi)
  • Re: Similar Libraries to SGI dMedia Tools?
    ... the DirectShow APIs. ... Alessandro Angeli wrote: ... allows you to read frames from AVI files and write ... allows you to read frames from WMV files and write ...
    (microsoft.public.windowsmedia.sdk)