All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kyle Guinn <elyk03@gmail.com>
To: kilgota@banach.math.auburn.edu
Cc: Hans de Goede <hdegoede@redhat.com>,
	Jean-Francois Moine <moinejf@free.fr>,
	linux-media@vger.kernel.org
Subject: Re: RFC on proposed patches to mr97310a.c for gspca and v4l
Date: Thu, 5 Mar 2009 19:21:56 -0600	[thread overview]
Message-ID: <200903051921.57412.elyk03@gmail.com> (raw)
In-Reply-To: <alpine.LNX.2.00.0903051457410.27979@banach.math.auburn.edu>

On Thursday 05 March 2009 14:58:54 kilgota@banach.math.auburn.edu wrote:
> Well, here is the code in the function. I don't see. So can you explain?
> Perhaps I am dense.
>
> {
>          struct sd *sd = (struct sd *) gspca_dev;
>          int i;
>
>          /* Search for the SOF marker (fixed part) in the header */
>          for (i = 0; i < len; i++) {
>                  if (m[i] == pac_sof_marker[sd->sof_read]) {
>                          sd->sof_read++;
>                          if (sd->sof_read == sizeof(pac_sof_marker)) {
>                                  PDEBUG(D_FRAM,
>                                          "SOF found, bytes to analyze: %u."
>                                          " Frame starts at byte #%u",
>                                          len, i + 1);
>                                  sd->sof_read = 0;
>                                  return m + i + 1;
>                          }
>                  } else {
>                          sd->sof_read = 0;
>                  }
>          }
>
>          return NULL;
> }

We send a chunk of data to this function, as pointed to by m.  It could be the 
entire transfer buffer or only a part of it, but that doesn't matter.  If the 
chunk of data ends with FF FF 00 then sd->sof_read will be set to 3 when the 
function exits.  On the next call it picks up where it left off and looks for 
byte 4 of the SOF.

Way back when, I said to copy sd->sof_read bytes from pac_sof_marker if you 
want the portion of the SOF that was in the previous transfer.  There's no 
need to buffer 4 bytes from the previous transfer because the SOF is 
_constant_.

So, if it's constant, why do we need to copy it to userspace at all?  If we 
do, then every frame buffer begins with a constant, useless FF FF 00 FF 96.  
The "reassurance" doesn't matter because the frame _must_ have started with 
FF FF 00 FF 96 to get there in the first place.  I agree with Hans that it 
isn't necessary, and by not sending it to userspace we simplify the kernel 
driver.

But what if it's not constant?  Maybe the SOF is 4 bytes and the 5th byte is 
some useful data that, 99.9% of the time, is set to 96?  This is the only 
reason I see for keeping the SOF.

-Kyle

  reply	other threads:[~2009-03-06  1:22 UTC|newest]

Thread overview: 66+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-02-17 19:09 MR97310A and other image formats Jean-Francois Moine
2009-02-17 19:35 ` Thomas Kaiser
2009-02-18  9:25   ` Jean-Francois Moine
2009-02-18 12:58     ` Thomas Kaiser
2009-02-18 19:17       ` Jean-Francois Moine
2009-02-17 19:43 ` Thomas Kaiser
2009-02-18  1:07 ` Kyle Guinn
2009-02-19  0:40   ` kilgota
2009-03-04  0:12   ` RFC on proposed patches to mr97310a.c for gspca and v4l kilgota
2009-03-04  2:50     ` Kyle Guinn
2009-03-04  5:21       ` kilgota
2009-03-04  8:41         ` Thomas Kaiser
2009-03-04  8:54           ` Thomas Kaiser
2009-03-04 19:01             ` kilgota
2009-03-05 13:02               ` Thomas Kaiser
2009-03-05 18:29                 ` kilgota
2009-03-05 19:19                   ` Thomas Kaiser
2009-03-05 19:45                     ` kilgota
2009-03-05 20:29                       ` Thomas Kaiser
2009-03-05 20:55                         ` kilgota
2009-03-05 20:51                           ` Thomas Kaiser
2009-04-15 23:59                 ` Some questions about mr97310 controls (continuing previous thread on mr97310a.c) Theodore Kilgore
2009-04-16 16:10                   ` Thomas Kaiser
2009-04-16 22:50                     ` Theodore Kilgore
2009-04-17  8:36                       ` Hans de Goede
2009-05-02  1:47                   ` Progress with the MR97310A "CIF" cameras Theodore Kilgore
2009-04-16  5:14           ` RFC on proposed patches to mr97310a.c for gspca and v4l Kyle Guinn
2009-04-16 18:22             ` Theodore Kilgore
2009-04-17  4:33               ` Kyle Guinn
2009-04-17 17:50                 ` Theodore Kilgore
2009-04-18  0:04                   ` Kyle Guinn
2009-04-18  0:43                     ` Theodore Kilgore
2009-04-21  1:18                     ` RFC on proposed patches to mr97310a.c for gspca and v4l (headers) Theodore Kilgore
2009-04-21  2:44                       ` Theodore Kilgore
2009-05-15 22:31             ` Preliminary results with an SN9C2028 camera Theodore Kilgore
2009-05-19  7:56               ` Hans de Goede
2009-05-19 18:18                 ` Theodore Kilgore
2009-03-04  8:39       ` RFC on proposed patches to mr97310a.c for gspca and v4l Hans de Goede
2009-03-04 18:46         ` kilgota
2009-03-05  1:33         ` Kyle Guinn
2009-03-05  7:01           ` Hans de Goede
2009-03-04  8:35     ` Hans de Goede
2009-03-05  2:49     ` Kyle Guinn
2009-03-05  4:34       ` kilgota
2009-03-05  5:54         ` Kyle Guinn
2009-03-05  6:47           ` kilgota
2009-03-05  7:00           ` Hans de Goede
2009-03-05 19:08             ` kilgota
2009-03-05 19:07               ` Hans de Goede
2009-03-05 20:42                 ` kilgota
2009-03-05 20:40                   ` Hans de Goede
2009-03-05 20:58                     ` kilgota
2009-03-06  1:21                       ` Kyle Guinn [this message]
2009-03-06  1:57                         ` kilgota
2009-03-28 22:42                         ` [PATCH] to add new camera in gspca/mr97310a.c Theodore Kilgore
2009-02-19 18:17 ` MR97310A and other image formats kilgota
2009-02-19 19:17   ` Thomas Kaiser
2009-02-19 21:54     ` kilgota
2009-02-19 22:45       ` Thomas Kaiser
2009-02-19 23:50         ` kilgota
2009-02-20  0:52           ` Thomas Kaiser
2009-02-20  1:32             ` kilgota
2009-02-20  8:00               ` Thomas Kaiser
2009-02-20 18:45                 ` kilgota
2009-02-20 19:05                   ` Thomas Kaiser
2009-02-20 20:26                     ` kilgota

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200903051921.57412.elyk03@gmail.com \
    --to=elyk03@gmail.com \
    --cc=hdegoede@redhat.com \
    --cc=kilgota@banach.math.auburn.edu \
    --cc=linux-media@vger.kernel.org \
    --cc=moinejf@free.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.