none
USB Camera MJPEG Filter RRS feed

  • Question

  • Hi,

    I am using Win CE 6.0 R3 and USB Camera Driver.

    Camera Driver woks works well with uncompressed support with default option enabled in CameraDShowApp.exe.

    but If I enable MJPEG Supports it does't works along with Video Encoder option  enabled and shows black preview also shows exception in quartz.dll.

    I am using logitech C100 camera for testing.

    Is MJPEG Filter not compatible with video encoder (CLSID_CWMV9EncMediaObject). ?

    I have tried the same thing in custom app too.

    What can be the issue ??

    What other encoders are available R3 ?

    Actually I need to support larger size preview, video and image capture.

    with uncompressed support, camera supports only 176x144 resolution 

    If I zoom the Preview Window size the quality becomes poor. To achieve good quality image and video which component of the system will need to improve, I mean filter combination ?

     

    Thanks

     

     


    Anant
    Friday, January 21, 2011 5:25 AM

Answers

  • Hi,

    Thanks for your suggestions.

    Solved the issue,

    Create manual filtergraph, and add dmowrapper filter,asfwriter and connect pins after putting filtergraph in run state for a moment. 

    //Create Filtergraph with preview 

    //Run the filtergraph

    On Event

    //Stop Filtergraph

    //Add dmowrapper i.e wmvencoder to filtergraph 

    //Add asfwriter to filter graph

    //Run the filtergraph

     

    Thanks 

     

     


    Anant
    Tuesday, May 31, 2011 7:20 AM

All replies

  • Hello,

     

    anyone used MJPEG Filter along with USB camera Driver and CameraDShowApp.exe ?.

    can it be the issue due to less RAM available for the application. we have 9MB of RAM Available

    while running CameraDShowApp.exe.

     

    Please suggest..

    Thanks


    Anant
    Tuesday, March 8, 2011 10:58 AM
  • Which processor are you using ?

    For ARM processor if we  enable "dsp link" and install dvsdk to get filters like mpeg2, mpeg4 JPEG and so on but havent seen mjpeg support.

    What are the image format that the camera sensor is capable of ? May be you can configure the sensor in different formats and see the difference, may be you can try the YUV format.

     

    Regards,

    Misbah


    Senior Design Engineer T.E.S Electronic Solutions (Bangalore-India) www.tesbv.com email-misbah.khan@tesbv.com
    Wednesday, March 9, 2011 5:26 AM
  • Hello Misbah,

    Thanks for you reply..!

    I am using ARM Processor , iMX257 by Freescale.

    what is the dsp link and dvsdk ? how to do it ?.

     

    Thanks,

     


    Anant
    Wednesday, March 9, 2011 5:40 AM
  • For TI OMAP processors, they provide dvsdk which is ment for using the inbuilt DSP coprocessor and installing other filters for audio,video and  image processing. If DSP link is enabled you can communicate with the codec engines.

     

    In your case you need to explore about the available filters and how to configure other required filters.

     

    Is your sensor or the camera interface module support resizer, then you can resize your source image itself rather than zooming it at the destination rectangle.

     

    Just check how can you resize / upscale the source image itself and render the image as it is.

     

    regards,

    Misbah

     

     


    Senior Design Engineer T.E.S Electronic Solutions (Bangalore-India) www.tesbv.com email-misbah.khan@tesbv.com
    Wednesday, March 9, 2011 6:38 AM
  • Hello Misbah,

    In my case I have tried CameraDShowApp.exe as well as my own application, In case MJPEG Filter is enabled I am able to capture the video from the camera and preview it on the screen only thing

    is when I enable CLSID_CWMV9EncMediaObject encoder it fails and quartz.dll show some exceptions quartz is a part of directx. I suspect there might be issue due to the availability of sufficient RAM(9MB) or Some compatibility issue with the wmv encoder.

    that means i am not able to capture the video in the file as video as well as image which i needs to do.

    the same thing works well with uncompressed video (capturing video in asf file,image in jpg file) , actually there is registry setting in usb camera driver for enabling uncompressed/mjpeg and resolution.

     

    Thanks 


    Anant
    Wednesday, March 9, 2011 7:28 AM
  • Then it seems that the encoder is not compactible or is not present. RAM availablity may not be the issue because you are not doing any static mapping.

     

    It may be also the h/w support or configuration is not enabled for the encoder.

     

    Encoding/decoding requires h/w (DSP) usage.

     

    Regards,

    Misbah


    Senior Design Engineer T.E.S Electronic Solutions (Bangalore-India) www.tesbv.com email-misbah.khan@tesbv.com
    Wednesday, March 9, 2011 7:45 AM
  • Hello Misbah,

    Actually encoder is present, I have checked it with the uncompressed stream. it works well.

    it means encoder is working fine..only thing is either it is not compatible with mjpeg transform filter or the resources it expecting is not available. 

    I suspect issue of RAM because of the requirement of memory for processing frames.

    may be will need to check with the image with small memory footprint.

     

    Thanks,


    Anant
    Wednesday, March 9, 2011 10:51 AM
  • Hi,

    I have checked it with the small footprint image, still it throws exception. herewith providing exception data.

    Exception 'Data Abort' (4): Thread-Id=0

    2720116(pth=82c173d8), Proc-Id=027b03fe(pprc=82c17180) 'CamApp.exe', VM-active=0

    27b03fe(pprc=82c17180) 'CamApp.exe'

    PC=400630e8(coredll.dll+0x000530e8) RA=41994430(quartz.dll+0x000b4430) SP=001ae7

    28, BVA=00000000

    Exception 'Raised Exception' (-1): Thread-Id=02720116(pth=82c173d8), Proc-Id=004

    00002(pprc=828b1308) 'NK.EXE', VM-active=027b03fe(pprc=82c17180) 'CamApp.exe'

    PC=c003bb98(k.coredll.dll+0x0001bb98) RA=8011b4c8(kernel.dll+0x000064c8) SP=d1a9

    f3b8, BVA=ffffffff

     

    Please suggest.

     

    Thanks


    Anant
    Saturday, May 7, 2011 8:32 AM
  • Hi,

    Thanks for your suggestions.

    Solved the issue,

    Create manual filtergraph, and add dmowrapper filter,asfwriter and connect pins after putting filtergraph in run state for a moment. 

    //Create Filtergraph with preview 

    //Run the filtergraph

    On Event

    //Stop Filtergraph

    //Add dmowrapper i.e wmvencoder to filtergraph 

    //Add asfwriter to filter graph

    //Run the filtergraph

     

    Thanks 

     

     


    Anant
    Tuesday, May 31, 2011 7:20 AM
  • Hi Anant,

    I am facing exactly the same problem as you did.

    I am a novice in C++ and know very little of win32 api and directshow programming.

    Please post the code you developed

    Regards

    Rafay


    Thursday, August 11, 2011 4:00 PM
  • Hope this blog show you some lights

    http://www.e-consystems.com/blog/windowsce/?p=628


    Vinoth.R http://vinoth-vinothblog.blogspot.com http://www.e-consystems.com
    Friday, August 12, 2011 5:38 AM
  • Hi Rafay,

     

    can you please explain the exact problem what you have done and what is the issue ? , so that i can post the relavant steps. and necessary code ??

     


    Anant
    Friday, August 12, 2011 11:09 AM
  • Hello Anant.

    I am using WinCE6.0 R3 and USB Camera Driver. I encountered the same problem.

    Exception 'Data Abort' (4): Thread-Id=07be01ea(pth=855e5240), Proc-Id=07bd01ea(pprc=83ce5428) 'CameraDshowApp.exe', VM-active=07bd01ea(pprc=83ce5428) 'CameraDshowApp.exe'
    PC=400b3800(coredll.dll+0x00053800) RA=41814984(quartz.dll+0x000b4984) SP=0003fbb4, BVA=00000000
    Exception 'Raised Exception' (-1): Thread-Id=07be01ea(pth=855e5240), Proc-Id=00400002(pprc=82e79308) 'NK.EXE', VM-active=07bd01ea(pprc=83ce5428) 'CameraDshowApp.exe'
    PC=c003bc10(k.coredll.dll+0x0001bc10) RA=801182c8(kernel.dll+0x000062c8) SP=d44bf43c, BVA=ffffffff

    My platform is S3C6410 Development Bord. Can you post the code you had developed?

    Thanks

    Sunday, December 22, 2013 1:39 PM