You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Dec3Box.JOCComplexity from the JOC (Joint Object Coding) extension of the dec3 box
(ETSI TS 103 420 C.3) to detect Dolby Atmos in E-AC-3 tracks
avc.CreateSEINalu and hevc.CreateSEINalu to build a full SEI NAL unit (codec
NAL header + EBSP payload) from sei.SEIMessage values; the encode-side inverse of ParseSEINalu
tkhd: the transformation matrix is parsed into TkhdBox.Matrix and preserved
on encode, so rotation metadata survives round trips; a zero-value Matrix
still encodes as the unity matrix. New helper mp4.UnityMatrix()
AV1 metadata OBUs in the av1 package, in reusable layers: MetadataOBU
(metadata_type + payload) with ParseMetadataOBU, ParseMetadataOBUFromOBU, Encode and Size, handling the mandatory trailing_bits and the reverse scan
for the last non-zero payload byte (AV1 spec 6.7.1), and MetadataType constants
for HDR CLL/MDCV, scalability, ITU-T T.35 and timecode. A payload that is not
byte-aligned shares its last byte with trailing_bits; PayloadHasTrailingBits
marks it so that Encode does not add a second trailing_one_bit
av1.ITUTT35 for the metadata_itu_t_t35 body (country code, its 0xff
extension byte, and payload) with ParseITUTT35, Encode, Size and MetadataOBU; it carries CTA-608 captions as well as HDR10+
CTA-608 closed captions in AV1: av1.CreateCTA608MetadataOBU builds a complete
caption metadata OBU from a cc_data() structure and av1.ExtractCTA608 reads the
field 1 and field 2 byte pairs back from the OBUs of a temporal unit, plus ITUTT35.ITUData and ITUTT35.CTA608CCData. The payload is identical to the
AVC/HEVC SEI one, so only the envelope differs between the codecs
sei.CreateCTA608SEIMessage builds a CTA-608 user_data_registered_itu_t_t35
(type 4) SEI message from a cc_data() structure, the encode-side counterpart of sei.ExtractCTA608sei. Wrap it with avc.CreateSEINalu or hevc.CreateSEINalu.
Supporting helpers: sei.CTA608ITUData, sei.CreateCTA608Payload, sei.ITUData.Encode and sei.ITUDataSize
Motion JPEG support: mjpg sample entry (JPEG image sequences, ISO/IEC 23008-12 Annex H)
with the jpgC (JPEGConfigurationBox) and fiel (field handling) boxes. mp4.TrakBox.SetMJpegDescriptor creates an mjpg sample entry with an optional jpgC JPEG prefix
Decode support for the legacy motion JPEG sample entries mp4v (with esds JPEG object type,
ISO/IEC 14496-14) and jpeg (QuickTime), and Esds child access in VisualSampleEntryBox
Changed
CEA-608 is renamed to its current designation CTA-608 in the sei API: sei.CEA608sei, sei.ParseCEA608, sei.ExtractCEA608sei and sei.ITUData.IsCEA608 become sei.CTA608sei, sei.ParseCTA608, sei.ExtractCTA608sei and sei.ITUData.IsCTA608. This is a breaking change; the
old names are gone
Fixed
avcC encode now writes the 4 trailing-info bytes for all AVC profiles outside
66/77/88, symmetric with Size() and decode (e.g. profile 244)
unknown bytes after the avcC trailing info are preserved through decode/encode
in the new DecConfRec.TrailingBytes field instead of being dropped
visual sample entries with a too long compressor name length byte are decoded
by clamping the length to 31 like ffmpeg does, instead of failing
Panic in hevc.ParseSEINalu and avc.ParseSEINalu on NAL units shorter than
the codec's NAL unit header (e.g. an empty or single-byte HEVC SEI NALU);
such input now returns ErrNotSEINalu
sei.DecodeUserDataRegisteredSEI, sei.ExtractCTA608sei and sei.ParseCTA608 no
longer panic on a short/truncated type-4 (user_data_registered_itu_t_t35) SEI
payload; they return an error that propagates through avc/hevc.ParseSEINalu
the build date in the --version output of the command line tools is rendered in
UTC, so that a commit made close to midnight is no longer reported as the
neighbouring day for users west of UTC