AOMediaCodec / av1-isobmff

Official specification of the AOM group for the carriage of AV1 in ISOBMFF
https://AOMediaCodec.github.io/av1-isobmff
64 stars 16 forks source link

`MaxRenderWidth`, `Height` in the TrackHeaderBox #133

Closed podborski closed 2 years ago

podborski commented 2 years ago

The following sentence is a little bit confusing:

The width and height in the TrackHeaderBox SHOULD equal, respectively, the maximum RenderWidth, called MaxRenderWidth, and the maximum RenderHeight, called MaxRenderHeight, of all the frames associated with this sample entry.

  1. A track could have multiple sample enries while track header remains the same.
  2. It would be nice to define the MaxRenderWidth, Height. Is this the maximum render_width_minus_1 + 1 and render_height_minus_1 + 1 which can appear in frame_header_obu in all samples of the track (and in all sample entries of the track)?
cconcolato commented 2 years ago

related to #120

wantehchang commented 2 years ago

The RenderWidth and RenderHeight variables are defined in the AV1 spec, Section 5.9.6. Render size syntax. Note that RenderWidth is equal to render_width_minus_1 + 1 and RenderHeight is equal to render_height_minus_1 + 1 only when render_and_frame_size_different is equal to 1. So MaxRenderWidth and MaxRenderHeight should be defined in terms of RenderWidth and RenderHeight, rather than render_width_minus_1 + 1 and render_height_minus_1 + 1.

cconcolato commented 2 years ago

The group thinks point 1 is fixed with #120, and that the wording for MaxRenderWidth (and Height) could be improved (maybe as a formula) for point 2.

We also need to clarify if changes of max_frame_width_minus_1 values within a single sample entry is permitted (related to #136).

cconcolato commented 2 years ago

The current spec says:

The width and height fields of the VisualSampleEntry SHALL equal the values of max_frame_width_minus_1 + 1 and max_frame_height_minus_1 + 1 of the Sequence Header OBU applying to the samples associated with this sample entry.

So I think it is clear that if the max value changes you have to create a new sample entry.