On 4/20/2025 1:07 PM, Derek Buitenhuis wrote: > On 4/19/2025 8:07 PM, Mark Thompson wrote: >> +typedef struct APVHeaderInfo { >> + uint8_t pbu_type; >> + uint16_t group_id; >> + >> + uint8_t profile_idc; >> + uint8_t level_idc; >> + uint8_t band_idc; >> + >> + uint32_t frame_width; >> + uint32_t frame_height; >> + >> + uint8_t chroma_format_idc; >> + uint8_t bit_depth_minus8; >> + >> + enum AVPixelFormat pixel_format; >> +} APVHeaderInfo; > > Possibly this should put in the codec private data, and used > in the decoder directly, since APV in ISOBMFF requires a global > APVDecoderConfigurationRecord to be used - i.e. align with that. > Mostly because I imagine that is how most APV is produced on > phones. > > (Also, just excited to see APV!) Assuming we define extradata for this codec, given there's no "raw" version of it like there's for h26*, we might want to enforce it to always be a APVDecoderConfigurationRecord, even if exported from the raw demuxer. Having extradata will also let us know the value of things like bit_depth during init(), so things like DSP function pointers can be set with that knowledge in mind.