This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

uvc camera resolution - am335x

Hi all, 

I am working on UVC camera (Logitech C310) with AM335X-EVM. Linux SDK version is 01.00.00.03. 

I follow the UsbConfigHostVideo user guide : http://processors.wiki.ti.com/index.php/UsbConfigHostVideo.

It is work fine. I saw the display on panel with "mplayer" and get yuv raw-data by "capture".

If I change the resolution to 640x480 or etc... , it will report a time out error.

So how do I change the source resolution from uvc camera ?

Thanks, 

Steve

  • Hi,

    I will ask the factory experts to help on this.
  • Hi Biser

    Here is the log that I use ioctl "VIDIOC_ENUM_FMT" to get

    { pixelformat = 'YUYV', description = 'YUV 4:2:2 (YUYV)' }
    { discrete: width = 640, height = 480 }
    Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
    { discrete: width = 160, height = 120 }
    Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
    { discrete: width = 176, height = 144 }
    Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
    { discrete: width = 320, height = 176 }
    Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
    { discrete: width = 320, height = 240 }
    Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
    { discrete: width = 352, height = 288 }
    Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
    { discrete: width = 432, height = 240 }
    Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
    { discrete: width = 544, height = 288 }
    Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
    { discrete: width = 640, height = 360 }
    Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
    { discrete: width = 752, height = 416 }
    Time interval between frame: 1/25, 1/20, 1/15, 1/10, 1/5,
    { discrete: width = 800, height = 448 }
    Time interval between frame: 1/20, 1/15, 1/10, 1/5,
    { discrete: width = 800, height = 600 }
    Time interval between frame: 1/20, 1/15, 1/10, 1/5,
    { discrete: width = 864, height = 480 }
    Time interval between frame: 1/20, 1/15, 1/10, 1/5,
    { discrete: width = 960, height = 544 }
    Time interval between frame: 1/15, 1/10, 1/5,
    { discrete: width = 960, height = 720 }
    Time interval between frame: 1/10, 1/5,
    { discrete: width = 1024, height = 576 }
    Time interval between frame: 1/10, 1/5,
    { discrete: width = 1184, height = 656 }
    Time interval between frame: 1/10, 1/5,
    { discrete: width = 1280, height = 720 }
    Time interval between frame: 2/15, 1/5,
    { discrete: width = 1280, height = 960 }
    Time interval between frame: 2/15, 1/5,
    { pixelformat = 'MJPG', description = 'MJPEG' }
    { discrete: width = 640, height = 480 }
    Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
    { discrete: width = 160, height = 120 }
    Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
    { discrete: width = 176, height = 144 }
    Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
    { discrete: width = 320, height = 176 }
    Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
    { discrete: width = 320, height = 240 }
    Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
    { discrete: width = 352, height = 288 }
    Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
    { discrete: width = 432, height = 240 }
    Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
    { discrete: width = 544, height = 288 }
    Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
    { discrete: width = 640, height = 360 }
    Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
    { discrete: width = 752, height = 416 }
    Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
    { discrete: width = 800, height = 448 }
    Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
    { discrete: width = 800, height = 600 }
    Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
    { discrete: width = 864, height = 480 }
    Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
    { discrete: width = 960, height = 544 }
    Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
    { discrete: width = 960, height = 720 }
    Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
    { discrete: width = 1024, height = 576 }
    Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
    { discrete: width = 1184, height = 656 }
    Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
    { discrete: width = 1280, height = 720 }
    Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
    { discrete: width = 1280, height = 960 }
    Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,

    I capture a yuyv frame by V4L  in difference resolutions, only 160*120 / 176 * 144 / 320 * 176 / 320 * 240 / 352 * 288 / 432 * 240 can work.  Other resolution up to 544 * 288 always report time out. Is there have any suggestion?

    Thanks, 

    Steve

  • Steve,

    What is the framerate you used for 640x480? YUV raw format for 640x480@30fps takes too much USB bandwidth and not supported. So you could either set to lower fps, for example 15fps, or switch to compressed format, for example JPG, if your camera supports it.

  • Hi Bin,
    Thanks a lot. After adjust the fps, I can capture yuyv raw data to 960x720. Appreciate your help very much.