Message ID | 200901142059.34943.elyk03@gmail.com (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
On Wed, 14 Jan 2009 20:59:34 -0600 Kyle Guinn <elyk03@gmail.com> 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.
On Thursday 15 January 2009 05:49:46 Jean-Francois Moine wrote: > On Wed, 14 Jan 2009 20:59:34 -0600 > Kyle Guinn <elyk03@gmail.com> 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? > 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. > 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 -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/linux/include/linux/videodev2.h b/linux/include/linux/videodev2.h --- a/linux/include/linux/videodev2.h +++ b/linux/include/linux/videodev2.h @@ -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 */