2015-07-15 17:04 GMT+02:00 Martin Pieuchot <[email protected]>:
> On 15/07/15(Wed) 16:45, Ludovic Coues wrote:
>> Following is a diff adding missing USB descriptor to uvideo.h according
>> to USB Video spec 1.5 . It also update a couple of table reference from
>> spec 1.1 to 1.5
>
> Do not hesitate to explain *why* do you need that, it might not be clear
> to everybody on this list :)
>

Oh, right.
I'm working on an alternative to lsusb for my summer of code. By
design, I'm using pretty much every USB descriptor defined by the
spec.

>> Index: sys/dev/usb/uvideo.h
>> ===================================================================
>> RCS file: /cvs/src/sys/dev/usb/uvideo.h,v
>> retrieving revision 1.57
>> diff -u -p -r1.57 uvideo.h
>> --- sys/dev/usb/uvideo.h      9 Jul 2015 14:58:32 -0000       1.57
>> +++ sys/dev/usb/uvideo.h      14 Jul 2015 17:24:42 -0000
>> +/* Table 3-18: Still Image Frame Descriptor */
>> +struct usb_video_still_image_frame_desc {
>> +     uByte   bLength;
>> +     uByte   bDescriptorType;
>> +     uByte   bDescriptorSubtype;
>> +     uByte   bEndpointAddress;
>> +     uByte   bNumImageSizePatterns;
>> +     uByte   data[1];
>> +/*   struct {
>> +             uWord   wWidth;
>> +             wWord   wHeight;
>> +     } __packed size[1]; */
>> +/*   uByte   bNumCompressionPattern; */
>> +/*   uByte   bCompression[1]; */
>
> Why are they commented?
>
Mainly as a way to document the spec in the code.
I could remove the data field and uncomment the size field. I would be
pretty close to the spec and this struct could be filled with a
memcpy. But size would be a field of size 32 followed by two field of
size 8. I don't know how I could access bNumCompressionPattern or
bCompression in this case.

I choose instead of describing the data as code in a comment and
putting a field to allow access to the data. Maybe I should add macro
to access the 'ghost' field.


-- 

Cordialement, Coues Ludovic
+336 148 743 42

Reply via email to