[FFmpeg-devel] [PATCH 13/13] fftools/ffmpeg_demux: merge streams in a LCEVC stream group

James Almer jamrial at gmail.com
Sun Sep 1 16:59:27 EEST 2024


On 9/1/2024 10:18 AM, Anton Khirnov wrote:
> Quoting James Almer (2024-08-31 18:31:14)
>> Add the LCEVC data stream payloads as packet side data to the main video
>> stream, ensuring the former is always output by the demuxer even if not
>> used by the process.
>>
>> Signed-off-by: James Almer <jamrial at gmail.com>
>> ---
>>   configure              |   2 +-
>>   fftools/ffmpeg.h       |  17 +++
>>   fftools/ffmpeg_demux.c | 307 ++++++++++++++++++++++++++++++++++++-----
>>   3 files changed, 292 insertions(+), 34 deletions(-)
>>
>> diff --git a/configure b/configure
>> index 3b7cf05bb5..3af3654483 100755
>> --- a/configure
>> +++ b/configure
>> @@ -4044,7 +4044,7 @@ ffmpeg_deps="avcodec avfilter avformat threads"
>>   ffmpeg_select="aformat_filter anull_filter atrim_filter format_filter
>>                  hflip_filter null_filter
>>                  transpose_filter trim_filter vflip_filter"
>> -ffmpeg_suggest="ole32 psapi shell32"
>> +ffmpeg_suggest="ole32 psapi shell32 lcevc_merge_bsf"
>>   ffplay_deps="avcodec avformat avfilter swscale swresample sdl2"
>>   ffplay_select="crop_filter transpose_filter hflip_filter vflip_filter rotate_filter"
>>   ffplay_suggest="shell32 libplacebo vulkan"
>> diff --git a/fftools/ffmpeg.h b/fftools/ffmpeg.h
>> index 3c5d933e17..a9fb55fb6e 100644
>> --- a/fftools/ffmpeg.h
>> +++ b/fftools/ffmpeg.h
>> @@ -440,6 +440,17 @@ typedef struct InputStream {
>>       int                nb_outputs;
>>   } InputStream;
>>   
>> +typedef struct InputStreamGroup {
>> +    const AVClass        *class;
>> +
>> +    /* parent source */
>> +    struct InputFile     *file;
>> +
>> +    int                   index;
>> +
>> +    AVStreamGroup        *stg;
>> +} InputStreamGroup;
> 
> Any reason this is public? The patch doesn't touch anything outside of
> ffmpeg_demux, so presumably no other code uses it.

Ok, locally moved to ffmpeg_demux.c

Eventually we'll need to do merges post decoding (xstack for heif 
images, amerge for iamf), and I assume that said struct will need to be 
public, but that can come later.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature.asc
Type: application/pgp-signature
Size: 495 bytes
Desc: OpenPGP digital signature
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20240901/f4e09a93/attachment.sig>


More information about the ffmpeg-devel mailing list