• Yushin Cho's avatar
    [OBU] Start enabing OBU · ce364d12
    Yushin Cho authored
    Enable OBU Headers, also use the most recent code of libaom,
    so that rav1e generated bitstream can be decodable by current version of
    aomdec.
    
    - Add OBU_Type enum
    - write_obu_header() funcion
    - Copy reference av1_pack_bitstream() C code fro libaom, where sequence
      and frame level OBUs are written.
    
    [OBU] Add Sequence Header and revise its functions
    
    [OBU] More on sequence header functions and types
    
    - Revise the type of Sequence struct members.
    - Add write_sequence_header2(), which is modified version of
      write_sequence_header() for OBU.
    - Add new color_config(), i.e. updated color info.
    
    TODO:
    - The structure of OBU is three parts:
    1) OBU header
    2) Size of OBU (written in leb128() format of AV1)
    3) OBU (with specific obu_type signlaed in OBU header)
    
    So, need to figure out how to post-write the size of obu (i.e, payload size) after
    writing obu. In libaom, this is implemented by calling obu_memmove() on byte buffer,
    which moves the obu data by payload size in bytes to create a gap between obu header
    and obu then write a obu size.
    ce364d12
build.rs 2.69 KB