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.