• Niklas Haas's avatar
    avcodec/aom_film_grain: implement AFGS1 parsing · f50382cb
    Niklas Haas authored
    Based on the AOMedia Film Grain Synthesis 1 (AFGS1) spec:
      https://aomediacodec.github.io/afgs1-spec/
    
    The parsing has been changed substantially relative to the AV1 film
    grain OBU. In particular:
    
    1. There is the possibility of maintaining multiple independent film
       grain parameter sets, and decoders/players are recommended to pick
       the one most appropriate for the intended display resolution. This
       could also be used to e.g. switch between different grain profiles
       without having to re-signal the appropriate coefficients.
    
    2. Supporting this, it's possible to *predict* the grain coefficients
       from previously signalled parameter sets, transmitting only the
       residual.
    
    3. When not predicting, the parameter sets are now stored as a series of
       increments, rather than being directly transmitted.
    
    4. There are several new AFGS1-exclusive fields.
    
    I placed this parser in its own file, rather than h2645_sei.c, since
    nothing in the generic AFGS1 film grain payload is specific to T.35, and
    to compartmentalize the code base.
    f50382cb
aom_film_grain.h 1.82 KB