• Fiona Glaser's avatar
    Interactive encoder control: error resilience · edc1135e
    Fiona Glaser authored
    In low-latency streaming with few clients, it is often feasible to modify encoder behavior in some fashion based on feedback from clients.
    One possible application of this is error resilience: if a packet is lost, mark the associated frame (and any referenced from it) as lost.
    This allows quick recovery from errors with minimal expense bit-wise.
    The new i_dpb_size parameter allows a calling application to tell x264 to use a larger DPB size than required by the number of reference frames.
    This lets x264 and the client keep a large buffer of old references to fall back to in case of lost frames.
    If no recovery is possible even with the available buffer, x264 will force a keyframe.
    This initial version does not support B-frames or intra refresh.
    Recommended usage is to set keyint to a very large value, so that keyframes do not occur except as necessary for extreme error recovery.
    Full documentation is in x264.h.
    Move DTS/PTS calculation to before encoding each frame instead of after.
    Improve documentation of x264_encoder_intra_refresh.
common.c 41.5 KB