diff options
| author | Carl Hetherington <cth@carlh.net> | 2024-01-25 20:15:27 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2024-01-28 23:00:53 +0100 |
| commit | 111319696c3c3384e28e31ffe08015da815c48d5 (patch) | |
| tree | 379d64208da5597b6ef82aaf7104f9bb4ba4ef19 | |
| parent | a897da41ce8852fa7b38309bb375c70ce4d1d9af (diff) | |
Bump FFmpeg to 6.1.v2.17.10
| -rw-r--r-- | cscript | 4 | ||||
| -rw-r--r-- | platform/windows/wscript | 14 | ||||
| -rw-r--r-- | src/lib/audio_filter_graph.h | 1 | ||||
| -rw-r--r-- | src/lib/ffmpeg_examiner.cc | 8 | ||||
| m--------- | test/data | 0 | ||||
| -rw-r--r-- | test/ffmpeg_examiner_test.cc | 2 |
6 files changed, 15 insertions, 14 deletions
@@ -502,7 +502,7 @@ def dependencies(target, options): ffmpeg_options = {} if target.platform != 'linux' or target.distro != 'arch': - deps = [('ffmpeg', '38d4c009b128f0bf8b67a1875489eb214f5c0fcb', ffmpeg_options)] + deps = [('ffmpeg', '0b73d2f5e70a04a67aa902902c42e3025ef3bb77', ffmpeg_options)] else: # Use distro-provided FFmpeg on Arch deps = [] @@ -518,7 +518,7 @@ def dependencies(target, options): deps.append(('openssl', '54298369cacfe0ae01c5aa42ace8a463fd2e7a2e')) if can_build_disk(target): deps.append(('lwext4', 'ab082923a791b58478d1d9939d65a0583566ac1f')) - deps.append(('ffcmp', '50648dd763e915787f907a812c630742664cdb77')) + deps.append(('ffcmp', '5ab6ed3b75d8ca7cf1f66bb9fb08792b92f4b419')) return deps diff --git a/platform/windows/wscript b/platform/windows/wscript index f76f7aede..02acb041b 100644 --- a/platform/windows/wscript +++ b/platform/windows/wscript @@ -195,14 +195,14 @@ File "%cdist_deps%/lib/liblwext4.dll" """, file=f) print(""" -File "%cdist_deps%/bin/avcodec-59.dll" -File "%cdist_deps%/bin/avfilter-8.dll" -File "%cdist_deps%/bin/avformat-59.dll" -File "%cdist_deps%/bin/avutil-57.dll" -File "%cdist_deps%/bin/avdevice-59.dll" -File "%cdist_deps%/bin/postproc-56.dll" +File "%cdist_deps%/bin/avcodec-60.dll" +File "%cdist_deps%/bin/avfilter-9.dll" +File "%cdist_deps%/bin/avformat-60.dll" +File "%cdist_deps%/bin/avutil-58.dll" +File "%cdist_deps%/bin/avdevice-60.dll" +File "%cdist_deps%/bin/postproc-57.dll" File "%cdist_deps%/bin/swresample-4.dll" -File "%cdist_deps%/bin/swscale-6.dll" +File "%cdist_deps%/bin/swscale-7.dll" File "%cdist_deps%/bin/dcp-1.0.dll" File "%cdist_deps%/bin/cxml-0.dll" File "%cdist_deps%/bin/sub-1.0.dll" diff --git a/src/lib/audio_filter_graph.h b/src/lib/audio_filter_graph.h index 1ac2b071b..6d09f15be 100644 --- a/src/lib/audio_filter_graph.h +++ b/src/lib/audio_filter_graph.h @@ -26,6 +26,7 @@ #include "filter_graph.h" extern "C" { #include <libavfilter/buffersink.h> +#include <libavutil/channel_layout.h> } class AudioBuffers; diff --git a/src/lib/ffmpeg_examiner.cc b/src/lib/ffmpeg_examiner.cc index 59c74b9cc..824b496d8 100644 --- a/src/lib/ffmpeg_examiner.cc +++ b/src/lib/ffmpeg_examiner.cc @@ -173,7 +173,6 @@ FFmpegExaminer::FFmpegExaminer (shared_ptr<const FFmpegContent> c, shared_ptr<Jo /* This code taken from get_rotation() in ffmpeg:cmdutils.c */ auto stream = _format_context->streams[*_video_stream]; auto rotate_tag = av_dict_get (stream->metadata, "rotate", 0, 0); - uint8_t* displaymatrix = av_stream_get_side_data (stream, AV_PKT_DATA_DISPLAYMATRIX, 0); _rotation = 0; if (rotate_tag && *rotate_tag->value && strcmp(rotate_tag->value, "0")) { @@ -184,8 +183,9 @@ FFmpegExaminer::FFmpegExaminer (shared_ptr<const FFmpegContent> c, shared_ptr<Jo } } - if (displaymatrix && !_rotation) { - _rotation = - av_display_rotation_get ((int32_t*) displaymatrix); + auto side_data = av_packet_side_data_get(stream->codecpar->coded_side_data, stream->codecpar->nb_coded_side_data, AV_PKT_DATA_DISPLAYMATRIX); + if (side_data && !_rotation) { + _rotation = - av_display_rotation_get(reinterpret_cast<int32_t*>(side_data->data)); } _rotation = *_rotation - 360 * floor (*_rotation / 360 + 0.9 / 360); @@ -244,7 +244,7 @@ FFmpegExaminer::video_packet (AVCodecContext* context, string& temporal_referenc ).get_value_or (ContentTime ()).frames_round (video_frame_rate().get ()); } if (temporal_reference.size() < (PULLDOWN_CHECK_FRAMES * 2)) { - temporal_reference += (_video_frame->top_field_first ? "T" : "B"); + temporal_reference += ((_video_frame->flags & AV_FRAME_FLAG_TOP_FIELD_FIRST) ? "T" : "B"); temporal_reference += (_video_frame->repeat_pict ? "3" : "2"); } diff --git a/test/data b/test/data -Subproject 916370761c2451c8f59e978cf9e14fd7aac8319 +Subproject 515c71604fe16cc95a5f240b0333f78f47b9ea9 diff --git a/test/ffmpeg_examiner_test.cc b/test/ffmpeg_examiner_test.cc index c745335ae..231bd16e0 100644 --- a/test/ffmpeg_examiner_test.cc +++ b/test/ffmpeg_examiner_test.cc @@ -64,7 +64,7 @@ BOOST_AUTO_TEST_CASE (ffmpeg_examiner_probesize_test) BOOST_CHECK_EQUAL (examiner->audio_streams()[0]->frame_rate(), 48000); BOOST_CHECK_EQUAL (examiner->audio_streams()[0]->channels(), 2); BOOST_CHECK_EQUAL (examiner->audio_streams()[1]->frame_rate(), 48000); - BOOST_CHECK_EQUAL (examiner->audio_streams()[1]->channels(), 5); + BOOST_CHECK_EQUAL (examiner->audio_streams()[1]->channels(), 6); } |
