• Niklas Haas's avatar
    avcodec/h264_slice: compute and export film grain seed · cf37c3fb
    Niklas Haas authored
    From SMPTE RDD 5-2006, the grain seed is to be computed from the
    following definition of `pic_offset`:
    
    > When decoding H.264 | MPEG-4 AVC bitstreams, pic_offset is defined as
    > follows:
    >   - pic_offset = PicOrderCnt(CurrPic) + (PicOrderCnt_offset << 5)
    > where:
    >   - PicOrderCnt(CurrPic) is the picture order count of the current frame,
    >     which shall be derived from [the video stream].
    >
    >   - PicOrderCnt_offset is set to idr_pic_id on IDR frames. idr_pic_id
    >     shall be read from the slice header of [the video stream]. On non-IDR I
    >     frames, PicOrderCnt_offset is set to 0. A frame shall be classified as I
    >     frame when all its slices are I slices, which may be optionally
    >     designated by setting primary_pic_type to 0 in the access delimiter NAL
    >     unit. Otherwise, PicOrderCnt_offset it not changed. PicOrderCnt_offset is
    >     updated in decoding order.
    Co-authored-by: 's avatarJames Almer <jamrial@gmail.com>
    Signed-off-by: 's avatarNiklas Haas <git@haasn.dev>
    Signed-off-by: 's avatarJames Almer <jamrial@gmail.com>
    cf37c3fb
film_grain_params.h 8.3 KB