mirror of https://gitee.com/openkylin/linux.git
[media] usbtv: improve a comment
Patrick Keshishian improved the explanation of the protocol when porting the driver to OpenBSD. Given it's a reverse engineering one and there's no documetnation it might be helpful to whoever hacks on the driver. Signed-off-by: Patrick Keshishian <sidster@boxsoft.com> Signed-off-by: Lubomir Rintel <lkundrak@v3.sk> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
This commit is contained in:
parent
5ae1e2b24f
commit
8ed50eb420
|
@ -265,8 +265,23 @@ static int usbtv_setup_capture(struct usbtv *usbtv)
|
|||
/* Copy data from chunk into a frame buffer, deinterlacing the data
|
||||
* into every second line. Unfortunately, they don't align nicely into
|
||||
* 720 pixel lines, as the chunk is 240 words long, which is 480 pixels.
|
||||
* Therefore, we break down the chunk into two halves before copyting,
|
||||
* so that we can interleave a line if needed. */
|
||||
* Therefore, we break down the chunk into two halves before copying,
|
||||
* so that we can interleave a line if needed.
|
||||
*
|
||||
* Each "chunk" is 240 words; a word in this context equals 4 bytes.
|
||||
* Image format is YUYV/YUV 4:2:2, consisting of Y Cr Y Cb, defining two
|
||||
* pixels, the Cr and Cb shared between the two pixels, but each having
|
||||
* separate Y values. Thus, the 240 words equal 480 pixels. It therefore,
|
||||
* takes 1.5 chunks to make a 720 pixel-wide line for the frame.
|
||||
* The image is interlaced, so there is a "scan" of odd lines, followed
|
||||
* by "scan" of even numbered lines.
|
||||
*
|
||||
* Following code is writing the chunks in correct sequence, skipping
|
||||
* the rows based on "odd" value.
|
||||
* line 1: chunk[0][ 0..479] chunk[0][480..959] chunk[1][ 0..479]
|
||||
* line 3: chunk[1][480..959] chunk[2][ 0..479] chunk[2][480..959]
|
||||
* ...etc.
|
||||
*/
|
||||
static void usbtv_chunk_to_vbuf(u32 *frame, __be32 *src, int chunk_no, int odd)
|
||||
{
|
||||
int half;
|
||||
|
|
Loading…
Reference in New Issue