Skip to content

Encoder produces non-conformant bitstream when cropping window is combined with RPR resize (4:2:0/4:2:2) #5303

Description

@xinzhao-apple

What version / commit were you testing with?

v1.0.0-85-g8a2a0a92c

What steps will reproduce the problem?

  1. Encode with a cropping window and RPR both enabled. Note the crop offsets are all even, i.e. they are already aligned to the 4:2:0 chroma grid at full frame size:

avmenc --codec=av2 -w 320 -h 240 --i420 --input-bit-depth=8 --bit-depth=8
--limit=25 --end-usage=q --qp=120 --cpu-used=6
--resize-mode=2
--enable-cropping-window=1
--crop-win-left-offset=2 --crop-win-right-offset=0
--crop-win-top-offset=2 --crop-win-bottom-offset=0
-o out.obu in_320x240_420_8b.yuv

The encoder reports success (exit 0) and writes a bitstream.

2.Decode the resulting stream with the reference decoder:

avmdec --codec=av2 -o dec.yuv out.obu

Expected behavior

Either of the following would be acceptable:

  • The encoder rejects the parameter combination up front with a clear diagnostic, or adjusts the offsets so the emitted stream is conformant; or
  • the encoder produces a conformant bitstream that the reference decoder decodes without error.

A successful encode should not produce a bitstream that the reference decoder refuses.

Actual behavior

The encode succeeds, but the stream violates a bitstream conformance requirement and the reference decoder rejects it at the first inter frame:

Warning: Failed to decode frame 1: Bitstream not supported by this decoder
Warning: Additional information: Conformance window left position 1 must be a multiple of SubX=2

avmdec exits 1 and dec.yuv is 0 bytes (expected 2880000 for 25 frames).

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions