diff options
| author | 2026-08-26 15:08:16 -0400 | |
|---|---|---|
| committer | 2026-08-26 15:08:16 -0400 | |
| commit | 6094c907b26e21f13373bae6bf3306dbae40af3c (patch) | |
| tree | 981864ddb1ab9749d3e10a81edc782311826e101 /src/codec/ffmpeg | |
| parent | da9bddc70ff8544f3294b880d719c4605e87ad97 (diff) | |
| download | camu-6094c907b26e21f13373bae6bf3306dbae40af3c.tar.gz camu-6094c907b26e21f13373bae6bf3306dbae40af3c.tar.bz2 camu-6094c907b26e21f13373bae6bf3306dbae40af3c.zip | |
Update deps, small changes and cleanup
Signed-off-by: Andrew Opalach <andrew@akon.city>
Diffstat (limited to 'src/codec/ffmpeg')
| -rw-r--r-- | src/codec/ffmpeg/meson.build | 14 | ||||
| -rw-r--r-- | src/codec/ffmpeg/packet_ext.c | 14 |
2 files changed, 20 insertions, 8 deletions
diff --git a/src/codec/ffmpeg/meson.build b/src/codec/ffmpeg/meson.build index e34cc92..1691c29 100644 --- a/src/codec/ffmpeg/meson.build +++ b/src/codec/ffmpeg/meson.build @@ -19,15 +19,23 @@ foreach dep: ['ffmpeg', 'libavutil', 'libavformat', 'libavcodec', 'libavdevice', endif endforeach ffmpeg_version_option = get_option('codec-ffmpeg-version') +if ffmpeg_version_option == 'auto' + expect_system = not (is_windows or is_android) + if expect_system + ffmpeg_version_option = 'system' + else # Latest. + ffmpeg_version_option = '9' + endif +endif # Check for FFmpeg version in the environment. if not ffmpeg_force_fallback - libavutil_version_map = { '54': '2', '55': '3', '56': '4', '57': '5', '58': '6', '59': '7', '60': '8' } - libavutil_version_rev = { '2': '54', '3': '55', '4': '56', '5': '57', '6': '58', '7': '59', '8': '60' } + libavutil_version_map = { '54': '2', '55': '3', '56': '4', '57': '5', '58': '6', '59': '7', '60': '8', '61': '9' } + libavutil_version_rev = { '2': '54', '3': '55', '4': '56', '5': '57', '6': '58', '7': '59', '8': '60', '9': '61' } if ffmpeg_version_option != 'system' ffmpeg_version_int = ffmpeg_version_option.to_int() # Overriding a found dependency will error but overriding a found dependency of the wrong version is allowed. libavutil_version_request = ['>=' + libavutil_version_rev[(ffmpeg_version_int).to_string()] + '.0.0'] - if ffmpeg_version_int < 8 + if ffmpeg_version_int < 9 libavutil_version_request += ['<' + libavutil_version_rev[(ffmpeg_version_int + 1).to_string()] + '.0.0'] endif libavutil = dependency('libavutil', required: false, allow_fallback: false, version: libavutil_version_request) diff --git a/src/codec/ffmpeg/packet_ext.c b/src/codec/ffmpeg/packet_ext.c index 6934cfe..8f44caa 100644 --- a/src/codec/ffmpeg/packet_ext.c +++ b/src/codec/ffmpeg/packet_ext.c @@ -6,7 +6,9 @@ void nn_packet_write_av_codec_parameters(struct nn_packet *packet, AVCodecParame NNWT_PACKET_WRITE_TYPE(packet, enum AVCodecID, codecpar->codec_id); NNWT_PACKET_WRITE_TYPE(packet, u32, codecpar->codec_tag); NNWT_PACKET_WRITE_TYPE(packet, s32, codecpar->extradata_size); - NNWT_PACKET_WRITE_DATA(packet, codecpar->extradata, codecpar->extradata_size); + if (codecpar->extradata_size) { + NNWT_PACKET_WRITE_DATA(packet, codecpar->extradata, codecpar->extradata_size); + } NNWT_PACKET_WRITE_TYPE(packet, s32, codecpar->format); NNWT_PACKET_WRITE_TYPE(packet, s64, codecpar->bit_rate); NNWT_PACKET_WRITE_TYPE(packet, s32, codecpar->bits_per_coded_sample); @@ -118,10 +120,12 @@ void nn_packet_read_av_codec_parameters(struct nn_packet *packet, AVCodecParamet NNWT_PACKET_READ_TYPE(packet, enum AVCodecID, codecpar->codec_id); NNWT_PACKET_READ_TYPE(packet, u32, codecpar->codec_tag); NNWT_PACKET_READ_TYPE(packet, s32, codecpar->extradata_size); - codecpar->extradata = (u8 *)av_malloc(codecpar->extradata_size); - u8 *extradata; - NNWT_PACKET_READ_DATA(packet, codecpar->extradata_size, extradata); - al_memcpy(codecpar->extradata, extradata, codecpar->extradata_size); + if (codecpar->extradata_size > 0) { + codecpar->extradata = (u8 *)av_malloc(codecpar->extradata_size); + u8 *extradata; + NNWT_PACKET_READ_DATA(packet, codecpar->extradata_size, extradata); + al_memcpy(codecpar->extradata, extradata, codecpar->extradata_size); + } NNWT_PACKET_READ_TYPE(packet, s32, codecpar->format); NNWT_PACKET_READ_TYPE(packet, s64, codecpar->bit_rate); NNWT_PACKET_READ_TYPE(packet, s32, codecpar->bits_per_coded_sample); |