PrabuKumar’s Blog

September 24, 2008

WinCE 6.0 DirectShow Camera Driver Higher Resolution support

Filed under: WinCE 6.0 — prabukumar @ 12:34 am
Tags: , , ,

I have been working on the Wince 6.0 DirectShow Camera driver for quite a long time. I have taken NULL PDD driver from PUBLIC code and changed the source to support our custom sensor board. Our camera sensor can support a still resolution of 1600×1200.

With the help of one sample application I am able to see the preview and I am able to capture the still,but supports still resolution up to 640×480.But for a long time with our driver I am not able to get the still of 1600×1200.

Once I increase the resolution of the Still in the driver to 1600×1200,the application fails to run even preview is also not coming.

For debugging this issue I was breaking my head by changing lot of configuration setting in the DirectShow Camera driver. Using debug version build I found the reason for the failure is due to lack of the program memory. The development board which I used for testing contains only 64 MB of SDRAM.

So I tested in different development board which contains 128MB of SDRAM. After giving enough program memory my application starts capturing still of resolution 1600×1200(2MP).But I don’t know the reason why this application is taking too much amount of memory (around 90MB) for running simple Preview and Still pins. As I am not familiar with DirectShow Application development I am investigating on it, I will try to find the reason and will post it in future.

 

9 Comments »

  1. hello do you find the solution about this problem?
    I have same issue when I use 700×600 resolution it use 20MB memory.
    I am not sure it is normal or not.
    My video filter input is YUV2.
    If use RGB it will not happend, but my camera module only support YUV2.

    If you have some solution please tell me, thank for your reply ^_^

    Comment by shinyochen — June 26, 2009 @ 3:13 pm

  2. If you don’t have enough memory then you need to convert your Input to the Directshow as RGB,when YUV2 data is given to the Directshow it will try to add color space converter filter in the STILL graph,which will require huge memory.

    Comment by prabukumar — June 26, 2009 @ 10:46 pm

  3. Very thank for your reply!!
    In some special reason we only have YUV2 input.(Our moudle doesn’t have rgb output , only way is software convert by myself, but it is too slow).
    In my case we only need to use capture filter.
    Do you think it has any chance can decrease some memory? Or if I want to use YUV2 input (only need preview and capture function) this memory request is necessary.

    P.S. my case is module(camera interface) YUV2(700×600) => Video capture(DirectShow) => need preview and capture video file(Doesn’t need still image) now will locate close 30MB memory…

    Base on ce6 NULL camera driver, application base on CAMERAAPP & FRAMEWORK.
    Does it has any possibility the camera application’s bug waste these memory?

    Thank again!

    Comment by shinyochen — June 27, 2009 @ 9:15 am

  4. I try again even input is RGB is still happen locate huge memory.
    Is it normally?
    700 x 600 will use close 30MB.

    Comment by shinyochen — June 29, 2009 @ 8:21 am

  5. If the input to the DShow is RGB then the application won’t take much memory.But when you are trying to record video then Buffering filter will try to use the remaining program memory for buffering the video.You can adjust this buffering length in the application.

    Comment by prabukumar — June 30, 2009 @ 7:54 am

  6. Do you know how to adjust the buffering length?

    It seem like auto locate 2xMB memory when video encoder enable on start capture video.

    But I don’t know how to adjust it, it look like depend on source resolution.

    Thanks!

    Comment by shinyochen — July 2, 2009 @ 11:26 am

  7. Hi Prabhu,
    I started working with wince recently. Now, I’m looking into camera driver. I too developed the camera PDD layer by referring the NULL driver in PUBLIC. How to test this driver?Can you suggest me the sample application and the process to use this application. I tried to download these, but I’m confused with the DS filters and the other sources.

    Comment by yvlakshmi — December 2, 2009 @ 10:56 am

  8. You can find the sample application source in the following location

    $(WINCEROOT)\PRIVATE\TEST\MULTIMEDIA\DIRECTX\DSHOW\CAMERA\CAMERAAPP

    Using this application you can capture still and video.

    Comment by prabukumar — December 2, 2009 @ 11:10 pm

  9. Hi Prabhu,
    I got this application, when I tried this by addding as a subproject, I’m getting error:unresolved external symbol InitCommonControls referenced in function WinMain. How to resolve this?? Its urgent.
    Thanks,
    Lakshmi

    Comment by yvlakshmi — December 3, 2009 @ 9:37 am


RSS feed for comments on this post. TrackBack URI

Leave a comment

You must be logged in to post a comment.

Blog at WordPress.com.