From: Matto M. <ma...@mi...> - 2002-11-25 21:00:50
|
[I've crossposted this to the development list, since that's the more appropriate place; of course, we'll all get it twice now. So please reply to the 'mjpeg-developer' copy...] >From: Jamie Guinan <gu...@bl...> >Date: Mon, 25 Nov 2002 15:24:39 -0500 (EST) > >I want to suggest a change in the description of the YUV4MPEG2 header in >yuv4mpeg(5). It currently reads, > > - string "YUV4MPEG2 " (note the trailing space) > > - unlimited number of ' ' (single space) separated > TAGGED-FIELDs > > >I believe it would make more sense to describe it as follows, > > - string "YUV4MPEG2" > > - unlimited number of TAGGED-FIELDs, each > preceded by ' ' (single space) Sounds good to me. I'm not really sure why I wrote it that way to begin with.... The same change should be applied to the frame header. I'll upload something to CVS in the next week. >Here are my arguments: Good arguments (moved to the end for purposes of cross-posting). >This may seem like nit-picking, and the descriptions effectively describe >the same format, but I found the current description hard to digest. I >guess that strtok() makes some of these issues irrelevant in the C >library, but I'm trying to write a simple YUV4MPEG2 parser in Python, and >the alternate description works better for me. Nit-picking is fine by me --- especially since the real nit is that the documentation is just wrong. The magic is, in fact, "YUV4MPEG2" and no trailing space is required if no tags are supplied. (Same goes for the "FRAME" in the frame header.) When a nit is a bug, it needs to be squashed, -matt m. >Here are my arguments: > > 1) The header magic is really just "YUV4MPEG2", the trailing space is > only required if there are any TAGGED-FIELDs (even though the width > and height fields are required). > > 2) The original description is conceptually more difficult to write a > parser for than the one I'm suggesting. > > Why? Because it adds a "special case" when parsing tags - if the > magic is "YUV4MPEG2 " (space included), then the first tag will > appear immediately, but subsequent tags will be preceded by a space. > > OTOH, of the magic is "YUV4MPEG2" (no space), then there is no > special case, and the parser can immediately know from the next > character (' ' or '\n') whether the next thing is a tag. > |