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

Reply via email to