[FFmpeg-devel] [PATCH 1/7 v4] avcodec: add an Immersive Audio Model and Formats frame split bsf
James Almer
jamrial at gmail.com
Mon Feb 12 20:13:59 EET 2024
On 2/12/2024 2:28 PM, Andreas Rheinhardt wrote:
> James Almer:
>>
>>
>> On 2/12/2024 2:04 PM, Andreas Rheinhardt wrote:
>>> James Almer:
>>>> On 2/12/2024 1:40 PM, Andreas Rheinhardt wrote:
>>>>> James Almer:
>>>>>> On 2/6/2024 10:05 AM, James Almer wrote:
>>>>>>> Signed-off-by: James Almer <jamrial at gmail.com>
>>>>>>> ---
>>>>>>> Now reading decriptors from extradata, plus a setting to ensure any
>>>>>>> descriptors
>>>>>>> present inband are omitted has been added.
>>>>>>>
>>>>>>> doc/bitstream_filters.texi | 16 +
>>>>>>> libavcodec/bitstream_filters.c | 1 +
>>>>>>> libavcodec/bsf/Makefile | 1 +
>>>>>>> libavcodec/bsf/iamf_frame_split_bsf.c | 887
>>>>>>> ++++++++++++++++++++++++++
>>>>>>> 4 files changed, 905 insertions(+)
>>>>>>> create mode 100644 libavcodec/bsf/iamf_frame_split_bsf.c
>>>>>>
>>>>>> Will apply the set soon if there are no objections.
>>>>>
>>>>> I still object to the BSF in #1 existing as it just duplicates parsing
>>>>> code into lavc and lavf. And the issue with creating new framings for
>>>>> stuff for which no framing except raw data can't exist is still there.
>>>>
>>>> I insist on using the split bsf, but i can try to remove the merge one
>>>> and do that within lavf, to avoid creating packets with OBU framing.
>>>
>>> Why is splitting not simply done inside lavf (and inside the demuxer,
>>> not the generic code in demux.c)? What is the advantage of that?
>>
>> Not making a mess in mov.c's read_packet() from reiterated calls because
>> one Track Sample has packets for several AVStreams.
>
> Mess? All you would need to do is add a check at the beginning of
> read_packet whether there are any more packets buffered. If so, return
> them, if not, read new data.
Buffered where? Internally in the demuxer?
> (I consider adding bsfs to the demuxing code to be at least a bit messy
> and not worth it unless there were several users of this.)
>
>>
>> Do such
>>> packets as the split bsf expects exist somewhere in the wild outside of
>>> isobmff files?
>>
>> Sure, it's raw iamf. Other containers may also support it in the future,
>> like Matroska, mpegs and the like.
>>
>
> I don't see any reason why we should any of this framing outside of lavf
> (i.e. it should be treated like e.g. Matroska's wavpack framing and
> repacked inside the (de)muxer).
>
> - Andreas
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
More information about the ffmpeg-devel
mailing list