Skip to content

v0.54.0

Choose a tag to compare

@tobbee tobbee released this 13 Jul 19:33
· 78 commits to master since this release

Added

  • AV1 bitstream parsing in the av1 package: OBU splitting (SplitOBUs,
    ParseOBUHeader, ReadLEB128), sequence headers (ParseSequenceHeader,
    SequenceHeader, CodecConfRec.SequenceHeader), frame-header decoding
    (FrameHeaderDecoder, FrameHeader) with per-frame resolution and tile layout,
    random-access detection (FrameType, ParseFrameHeaderStart, IsRAPSample) and
    tile-data location (GetTileRanges, verified byte-exact against shaka-packager)
  • AV1 RFC 6381 codecs string: CodecConfRec.CodecString, SequenceHeader.CodecString
    and av1.CodecString; the av1C box Info and mp4ff-pslister now show the
    sequence header, coded resolution, color configuration and codecs string for av01
  • AV1 common encryption (cenc/cbcs): mp4.GetAV1ProtectRanges protects only tile data
    (OBU/frame/tile-group headers and tile-size fields stay clear) per the AV1 ISOBMFF
    binding; mp4ff-encrypt/mp4ff-decrypt support av01 tracks
  • EncryptFragments and FragmentEncryptor (from InitProtectData.NewFragmentEncryptor)
    encrypt a decode sequence with a fresh per-sequence sample protector; InitProtectData is
    immutable and safe to share across goroutines
  • ivf package to read and write the IVF container used for raw VP8/VP9/AV1 bitstreams (the
    VPx/AV1 counterpart of Annex B), and an ivf-to-mp4 example that muxes AV1 and VP9 IVF files
    into fragmented MP4. Supported by av1.OBU.Encode/Size, av1.CodecConfRecFromSequenceHeader
    and mp4.TrakBox.SetAV1Descriptor
  • vp9 package parsing the VP9 uncompressed frame header (key-frame/random-access detection,
    color configuration and picture size) with vpcC level computation, plus
    mp4.TrakBox.SetVPxDescriptor to build vp08/vp09 sample entries from a vpcC box
  • vp8 package parsing the VP8 frame tag and key-frame header (key-frame detection and picture
    size); ivf-to-mp4 now also muxes VP8 IVF into fragmented MP4

Fixed

  • Panic in hevc.ParseSPSNALUnit on malformed input where cpb_cnt_minus1 in
    the sub-layer HRD parameters is 255 (found by fuzzing)