Skip to contentSkip to conversation

Add Mars-Semi MR97310A format

PATCH In review Kyle Guinn 2 participants 3 messages Jan 15, 2009 – Jan 16, 2009 Media (V4L/DVB)

lore
Share & tools
lore

Kyle Guinn

author
#0 lore raw

PATCH 1/2 Add Mars-Semi MR97310A format

# HG changeset patch
# User Kyle Guinn <[email protected]>
# Date 1231822560 21600
# Node ID 1bf7a4403e5f1cd10f12a69a9d9239f1bf4a58b6 # Parent b09b5128742f75bb0ce4375b23feac6c5f560aec Add Mars-Semi MR97310A format

From: Kyle Guinn <[email protected]>

Add a pixel format for the Mars-Semi MR97310A webcam controller.

The MR97310A is a dual-mode webcam controller that provides compressed BGGR Bayer frames. The decompression algorithm for still images is the same as for video, and is currently implemented in libgphoto2.

Priority: normal

linux/include/linux/videodev2.h +1 -0
@@ -344,6 +344,7 @@
 #define V4L2_PIX_FMT_SPCA508  v4l2_fourcc('S', '5', '0', '8') /* YUVY per line */
 #define V4L2_PIX_FMT_SPCA561  v4l2_fourcc('S', '5', '6', '1') /* compressed GBRG bayer */
 #define V4L2_PIX_FMT_PAC207   v4l2_fourcc('P', '2', '0', '7') /* compressed BGGR bayer */
+#define V4L2_PIX_FMT_MR97310A v4l2_fourcc('M', '3', '1', '0') /* compressed BGGR bayer */
 #define V4L2_PIX_FMT_PJPG     v4l2_fourcc('P', 'J', 'P', 'G') /* Pixart 73xx JPEG */
 #define V4L2_PIX_FMT_YVYU    v4l2_fourcc('Y', 'V', 'Y', 'U') /* 16  YVU 4:2:2     */
 
#1 lore raw
Quoted 6 lines · On Wed, 14 Jan 2009 20:59:34 -0600 Kyle Guinn <[email protected]> wrote:

Add a pixel format for the Mars-Semi MR97310A webcam controller.

The MR97310A is a dual-mode webcam controller that provides compressed BGGR Bayer frames. The decompression algorithm for still images is the same as for video, and is currently implemented in libgphoto2.

Hi Kyle,

What is the difference of this pixel format from the other Bayer ones?

Also, did you ask Hans de Goede to add the decoding to the v4l library?

Regards.

Signature · 2 lines
Ken ar c'hentañ	|	      ** Breizh ha Linux atav! **
Jef		|		http://moinejf.free.fr/
author
#2 lore raw
Quoted 4 lines · On Thursday 15 January 2009 05:49:46 Jean-Francois Moine wrote:
Quoted 2 lines · On Wed, 14 Jan 2009 20:59:34 -0600 Kyle Guinn <[email protected]> wrote:

Add a pixel format for the Mars-Semi MR97310A webcam controller.

Quoted 9 lines
Quoted 4 lines

The MR97310A is a dual-mode webcam controller that provides compressed BGGR Bayer frames. The decompression algorithm for still images is the same as for video, and is currently implemented in libgphoto2.

Hi Kyle,

What is the difference of this pixel format from the other Bayer ones?

This is a standard BGGR Bayer format which is compressed using a vendor-specific compression algorithm, much like V4L2_PIX_FMT_PAC207. I don't believe the compression algorithm matches any of the other pixel formats.

The first two pixels in the first two rows are stored as raw 8-bit values (the top-left BGGR square), but the rest is Huffman compressed. Take a look at precalc_table() and mars_decompress() in libgphoto2/camlibs/mars/mars.c for all of the details. If you recognize this as an existing pixel format, please let me know.

Quoted 2 lines

Also, did you ask Hans de Goede to add the decoding to the v4l library?

That is next on my TODO list. I have a patch ready to send, but I first want to make sure there are no problems with adding this pixel format.

Regards,
-Kyle