Skip to content

Encoder writes undecodable stream when an MFH OBU and frame resize are combined #5347

Description

@xinzhao-apple

What version / commit were you testing with?

v1.0.0-101-g885b0a892

What steps will reproduce the problem?

  1. Encode with MFH OBU signaling on and a resize that gives the key frame and the inter
    frames different coded sizes:

    ./avmenc --width=160 --height=172 --i420 --input-bit-depth=8 --bit-depth=8 \
             --cpu-used=4 --passes=1 --threads=1 --limit=3 --ivf \
             --resize-mode=1 --resize-denominator=8 --resize-kf-denominator=16 \
             --enable-mfh-obu-signaling=1 -o out.ivf noise_160x172.yuv
  2. Decode it with the reference decoder:

    ./avmdec -o out.yuv out.ivf --rawvideo

Expected behavior

A stream just produced by the reference encoder decodes cleanly with the reference decoder.

Actual behavior

The encoder succeeds (exit 0) but the decoder fails on the first inter frame (exit 1):

Warning: Failed to decode frame 2: Corrupt frame detected
Warning: Additional information: Invalid value for EOB position token

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions