Field Encoding (interlaced)

Issue #15 resolved
Steve Borho created an issue

HEVC does not have much support for interlaced video, compared to H.264. At this point they're still hoping that interlaced will be irrelevant for the users of HEVC. Based on past experience this doesn't last long, but as of today it is still true.

What HEVC does support is a flag in the stream header which indicates that the pictures encoded in each slice are in fact fields (half-height pictures with odd or even rows).

The task for us is to expose this flag in our API and CLI, ensure it defaults to progressive, auto-detect interlaced flag from Y4M file (this is in the header), then make sure various decoders can display the video correctly (and there are no hash mismatches)

Comments (4)

  1. Steve Borho reporter

    add experimental support for interlaced content (field encoding) (refs #15)

    • adds param.interlaceMode
    • removes VUI params that are now handled automatically
    • adds --no-interlace --interlace=tff|bff|prog|false CLI options
    • signals interlace source flag, clears progressive source flag

    This initial implementation requires the user to provide fields (half-height) in the correct temporal order; so not very useful for exisitng Y4M or YUV interlaced input files.

    When interlacing is enabled, the encoder emits PictureTiming SEI messages that indicate top or bottom field for the decoder.

    → <<cset e35c8c03ee9f>>

  2. Log in to comment