James Almer:
> On 1/30/2024 6:47 PM, Andreas Rheinhardt wrote:
>>> +    *obu_size = get_leb(&gb);
>> This stuff here should not a GetBitContext at all, as basically
>> everything is byte-aligned (and the flags above are in known bits).
> 
> I'm not going to write yet another leb() reading function to work on raw
> bytes. We have enough scattered around and in fact we should try to
> remove most.
> 
>>> +static const enum AVCodecID iamf_stream_split_codec_ids[] = {
>>> +    AV_CODEC_ID_PCM_S16LE, AV_CODEC_ID_PCM_S16BE,
>>> +    AV_CODEC_ID_PCM_S24LE, AV_CODEC_ID_PCM_S24BE,
>>> +    AV_CODEC_ID_PCM_S32LE, AV_CODEC_ID_PCM_S32BE,
>>> +    AV_CODEC_ID_OPUS,      AV_CODEC_ID_AAC,
>>> +    AV_CODEC_ID_FLAC,      AV_CODEC_ID_NONE,
>>> +};
>>> +
>>> +const FFBitStreamFilter ff_iamf_stream_split_bsf = {
>>> +    .p.name         = "iamf_stream_split",
>>> +    .p.codec_ids    = iamf_stream_split_codec_ids,
>>> +    .p.priv_class   = &iamf_stream_split_class,
>>> +    .priv_data_size = sizeof(IAMFSplitContext),
>>> +    .init           = iamf_stream_split_init,
>>> +    .flush          = iamf_stream_split_flush,
>>> +    .close          = iamf_stream_split_close,
>>> +    .filter         = iamf_stream_split_filter,
>>> +};
>>
>> This needs to add documentation for what this BSF is actually supposed
>> to do. Right now it seems crazy: It parses the packet's data and expects
>> to find OBU headers, although the input data is supposed to be PCM,
>> Opus, AAC or Flac.
> 
> It's not too different than aac_adtstoasc in that it takes audio from
> those codecs listed above encapsulated in one form and returns it in
> another form.
> In this case, it takes OBUs containing one or more audio frames, removes
> the OBU encapsulation, and propagates each raw audio frame in separate
> packets.
> 

Then these packets do not really contain PCM, Opus or Flac at all.

- Andreas

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to