From 3a3653d9faa2cc0d3e4abefd69490ab39e3ba0fb Mon Sep 17 00:00:00 2001 From: Tim Date: Mon, 13 Apr 2026 21:08:05 +0200 Subject: [PATCH] Update ffmpeg to 8.1 --- ffmpeg/setup.sh | 5 ++--- .../main/cpp/media_thumbnail_retriever.cpp | 11 ++++++++--- mediainfo/src/main/cpp/mediainfo.cpp | 19 ++++++++++++++----- 3 files changed, 24 insertions(+), 11 deletions(-) diff --git a/ffmpeg/setup.sh b/ffmpeg/setup.sh index 7389538..73adc30 100755 --- a/ffmpeg/setup.sh +++ b/ffmpeg/setup.sh @@ -3,7 +3,7 @@ # Versions VPX_VERSION=1.13.0 MBEDTLS_VERSION=3.4.1 -FFMPEG_VERSION=6.0 +FFMPEG_VERSION=8.1 # Directories BASE_DIR=$(cd "$(dirname "$0")" && pwd) @@ -211,7 +211,7 @@ function buildFfmpeg() { ;; x86_64) TOOLCHAIN=x86_64-linux-android21- - CPU=x86_64 + CPU=x86-64 ARCH=x86_64 ;; *) @@ -247,7 +247,6 @@ function buildFfmpeg() { --disable-vulkan \ --disable-avdevice \ --disable-avformat \ - --disable-postproc \ --disable-avfilter \ --disable-symver \ --enable-parsers \ diff --git a/mediainfo/src/main/cpp/media_thumbnail_retriever.cpp b/mediainfo/src/main/cpp/media_thumbnail_retriever.cpp index 6fb2677..11aad28 100644 --- a/mediainfo/src/main/cpp/media_thumbnail_retriever.cpp +++ b/mediainfo/src/main/cpp/media_thumbnail_retriever.cpp @@ -44,9 +44,14 @@ static int read_rotation_degrees(AVStream *stream) { rotation = normalize_rotation(atoi(rotateTag->value)); } - uint8_t *displayMatrix = av_stream_get_side_data(stream, AV_PKT_DATA_DISPLAYMATRIX, nullptr); - if (displayMatrix) { - double theta = av_display_rotation_get(reinterpret_cast(displayMatrix)); + const AVPacketSideData *sideData = av_packet_side_data_get( + stream->codecpar->coded_side_data, + stream->codecpar->nb_coded_side_data, + AV_PKT_DATA_DISPLAYMATRIX + ); + + if (sideData) { + double theta = av_display_rotation_get((const int32_t *)(sideData->data)); rotation = normalize_rotation(static_cast(-theta)); } diff --git a/mediainfo/src/main/cpp/mediainfo.cpp b/mediainfo/src/main/cpp/mediainfo.cpp index 95ae5bd..85098bf 100644 --- a/mediainfo/src/main/cpp/mediainfo.cpp +++ b/mediainfo/src/main/cpp/mediainfo.cpp @@ -86,11 +86,15 @@ void onVideoStreamFound(JNIEnv *env, jobject jMediaInfoBuilder, AVFormatContext rotation %= 360; if (rotation < 0) rotation += 360; } - uint8_t *displaymatrix = av_stream_get_side_data(stream, - AV_PKT_DATA_DISPLAYMATRIX, - nullptr); - if (displaymatrix) { - double theta = av_display_rotation_get((int32_t *) displaymatrix); + + const AVPacketSideData *sideData = av_packet_side_data_get( + stream->codecpar->coded_side_data, + stream->codecpar->nb_coded_side_data, + AV_PKT_DATA_DISPLAYMATRIX + ); + + if (sideData) { + double theta = av_display_rotation_get((const int32_t *) sideData->data); rotation = (int) (-theta) % 360; if (rotation < 0) rotation += 360; } @@ -223,6 +227,11 @@ void media_info_build(JNIEnv *env, jobject jMediaInfoBuilder, const char *uri) { case AVMEDIA_TYPE_SUBTITLE: onSubtitleStreamFound(env, jMediaInfoBuilder, avFormatContext, pos); break; + case AVMEDIA_TYPE_UNKNOWN: + case AVMEDIA_TYPE_DATA: + case AVMEDIA_TYPE_ATTACHMENT: + case AVMEDIA_TYPE_NB: + break; } }