- From: Dave Singer <singer@apple.com>
- Date: Mon, 15 Oct 2007 18:48:00 -0700
At 7:38 +0000 13/10/07, Ian Hickson wrote: > > When the first element of a value is 'avc1', indicating H.264 (AVC) video >> [29], the second element is the hexadecimal representation of the following >> three bytes in the sequence parameter set NAL unit specified in [29]: 1) >> profile_idc, 2) a byte composed of the values of constraint_set0_flag, >> constraint_set1_flag, constraint_set2_flag, constraint_set3_flag, and >> reserved_zero_4bits in bit-significance order, starting from the most >> significant bit, and 3) level_idc. Note that reserved_zero_4bits is required >> to be equal to 0 in [29], but other values for it may be specified in the >> future by ITU-T or ISO/IEC. >> >> You don't give me a level number, so I put xx for those hex digits below. >> >> Assuming we're simple baseline, and also main and extended compatible >> avc1.42E0xx > >Assuming level 3, I assume that the correct example here would be: > > H.264 Simple baseline profile video (main and extended video compatible) > level 3 and Low-Complexity AAC audio in MP4 container > > type="video/mp4; codecs="avc1.42E030, mp4a.40.2" Hex/decimal confusion here. Level_idc is *ten* times the level number, so level 3 == level_idc 30 == 0x1E. > > avc1.58A0xx > >Again assuming level 3: > > H.264 Extended profile video (baseline-compatible) level 3 and > Low-Complexity AAC audio in MP4 container > > type="video/mp4; codecs="avc1.58A030, mp4a.40.2"" and again > >> > * H.264 Main profile video and Low-Complexity AAC audio in MP4 container. >> > (video/mp4; .mp4) >> >> Main profile is decimal 77, so something like >> avc1.4D40xx > >"something like" seems a bit vague... what do I tell authors to put? Is >this correct?: we should tell authors to follow the RFC, and not pretend to be authoritative.... :-) > > H.264 Main profile video level 3 and Low-Complexity AAC audio in MP4 > container > > type="video/mp4; codecs="avc1.4D4030, mp4a.40.2"" as above > >So is this the right thing to put in the spec? > > H.264 "High" profile video (incompatible with main, baseline, or > extended profiles) level 3 and Low-Complexity AAC audio in MP4 > container > > type="video/mp4; codecs="avc1.640030, mp4a.40.2"" and again > > >> > * MPEG-4 Simple Profile profile video and Low-Complexity AAC audio in MP4 >> > container. (video/mp4; .mp4) >> > > Covered by the RFC: >> >> For example, MPEG-4 Visual Simple Profile Level 0 has the value 9, >> so a complete string for MPEG-4 Visual Simple Profile Level 0 would >> be "mp4v.20.9". >> >> Though when checking the next answer, I read in the spec. that we may have a >> typo here, it might be 8. Ooops, if so. >> >> Simple Profile/Level 0 00001000 >> Reserved 00001001 - 00001111 > >So: > > MPEG-4 Visual Simple Profile Level 0 video and Low-Complexity AAC > audio in MP4 container > > type="video/mp4; codecs="mp4v.20.8, mp4a.40.2"" > >...? think so > >> > * MPEG-4 Advanced Simple Profile profile video and >>Low-Complexity AAC audio >> > in MP4 container. (video/mp4; .mp4) >> >> Advanced Simple Profile/Level 0 11110000 >> >> so, mp4v.20.240 > >Advanced Simple? Really? How do you guys come up with these names! not I, said the sparrow. > >Is this right?: > > MPEG-4 Advanced Simple Profile Level 0 video and Low-Complexity AAC > audio in MP4 container > > type="video/mp4; codecs="mp4v.20.240, mp4a.40.2"" > > >> > * MPEG-4 Simple Profile profile video and AMR audio in 3GPP container. >> > (video/3gpp; .3gp) >> >> Video we've covered. AMR is in 26.244, >> >> samr > >So to confirm: > > MPEG-4 Visual Simple Profile Level 0 video and AMR audio in 3GPP > container > > type="video/3gpp; codecs="mp4v.20.8, samr"" > yes > > > * WMV9 video and WMA 2 audio in ASF container. (video/x-ms-wmv; .wmv) >> > * WMV8 video and WMA 2 audio in ASF container. (video/x-ms-wmv; .wmv) >> >> These would be up to Microsoft to define, I assume. I am not aware of a >> definition. >> >> > * VC-1 video and WMA 10 Pro audio in ASF container. >>(video/x-ms-wmv; .wmv) >> >> VC-1 is standardized by SMPTE, but again this container format is >>Microsoft's. >> >> > * Real Video 10 video and High-Efficiency AAC audio in Real Media >> > container. (application/vnd.rn-realmedia; rm) >> >> We'd have to ask Real, but I don't think it is defined. >> >> > * XviD video and MP3 audio in AVI container. (video/x-msvideo; .avi) >> > * Motion-JPEG video and uncompressed PCM audio in AVI container. >> > (video/x-msvideo; .avi) >> > > AVI I *think* is owned by Microsoft, and I *think* they deprecate >it; it's up >> to the owner to define. Again, I am not aware of a definition, but the 4CC >> style from MP4 might be appropriate. > >Do we think these companies come up with appropriate definitions any time >soon? It might be in our interests to do this for them. Randy, what do you think? > >> > * MPEG-1 video and MPEG-1 Audio Layer II audio in MPEG-1 program stream >> > (video/mpeg; .mpg) >> >> MPEG has not defined the codecs parameter for these 'file' (stream) formats, >> as far as I know. > >So what should someone use? I'll ask next week at MPEG. > > >It seems RFC4281 is actually not as useful as I'd hoped, if it doesn't >define the majority of cases -- it seems to only handle recent MPEG >standards. That was the one for which we knew the 'community of interest' and the standards bodies. -- David Singer Apple/QuickTime
Received on Monday, 15 October 2007 18:48:00 UTC