Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package ffmpegthumbs for openSUSE:Factory 
checked in at 2025-12-15 11:47:25
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ffmpegthumbs (Old)
 and      /work/SRC/openSUSE:Factory/.ffmpegthumbs.new.1939 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ffmpegthumbs"

Mon Dec 15 11:47:25 2025 rev:129 rq:1322318 version:25.12.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/ffmpegthumbs/ffmpegthumbs.changes        
2025-11-08 16:27:43.647119921 +0100
+++ /work/SRC/openSUSE:Factory/.ffmpegthumbs.new.1939/ffmpegthumbs.changes      
2025-12-15 11:48:11.265751972 +0100
@@ -1,0 +2,19 @@
+Sat Dec  6 11:40:18 UTC 2025 - Christophe Marin <[email protected]>
+
+- Update to 25.12.0
+  * New feature release
+  * For more details please see:
+  * https://kde.org/announcements/gear/25.12.0/
+- No code change since 25.11.80
+
+-------------------------------------------------------------------
+Sat Nov 15 19:56:20 UTC 2025 - Christophe Marin <[email protected]>
+
+- Update to 25.11.80
+  * New feature release
+- Changes since 25.08.3:
+  * Require libavcodec >= 60.30, libavutil >= 58.7, support per-component 
version checks
+  * Integrate FFMpeg Thumbs into OSS-Fuzz
+  * Some cleanup and fix deprecation warnings
+
+-------------------------------------------------------------------

Old:
----
  ffmpegthumbs-25.08.3.tar.xz
  ffmpegthumbs-25.08.3.tar.xz.sig

New:
----
  ffmpegthumbs-25.12.0.tar.xz
  ffmpegthumbs-25.12.0.tar.xz.sig

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ ffmpegthumbs.spec ++++++
--- /var/tmp/diff_new_pack.vhEACe/_old  2025-12-15 11:48:11.981781769 +0100
+++ /var/tmp/diff_new_pack.vhEACe/_new  2025-12-15 11:48:11.981781769 +0100
@@ -16,12 +16,12 @@
 #
 
 
-%define kf6_version 6.14.0
-%define qt6_version 6.8.0
+%define kf6_version 6.19.0
+%define qt6_version 6.9.0
 
 %bcond_without released
 Name:           ffmpegthumbs
-Version:        25.08.3
+Version:        25.12.0
 Release:        0
 Summary:        FFmpeg-based thumbnail creator for video files
 License:        LGPL-2.0-or-later


++++++ ffmpegthumbs-25.08.3.tar.xz -> ffmpegthumbs-25.12.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ffmpegthumbs-25.08.3/CMakeLists.txt 
new/ffmpegthumbs-25.12.0/CMakeLists.txt
--- old/ffmpegthumbs-25.08.3/CMakeLists.txt     2025-11-01 01:00:46.000000000 
+0100
+++ new/ffmpegthumbs-25.12.0/CMakeLists.txt     2025-12-03 23:39:26.000000000 
+0100
@@ -2,8 +2,8 @@
 
 # Release Service version, managed by release script
 set(RELEASE_SERVICE_VERSION_MAJOR "25")
-set(RELEASE_SERVICE_VERSION_MINOR "08")
-set(RELEASE_SERVICE_VERSION_MICRO "3")
+set(RELEASE_SERVICE_VERSION_MINOR "12")
+set(RELEASE_SERVICE_VERSION_MICRO "0")
 
 set(RELEASE_SERVICE_VERSION 
"${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}")
 
@@ -23,9 +23,14 @@
 include(FeatureSummary)
 include(ECMDeprecationSettings)
 
+option(BUILD_FUZZERS "Whether to the thumbnail build fuzzers" OFF)
+option(FUZZERS_USE_QT_MINIMAL_INTEGRATION_PLUGIN "Whether to use the Qt 
minimal integration plugin for fuzzers" OFF)
+
 find_package(Qt6 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS Core Gui)
 find_package(KF6 ${KF_MIN_VERSION} REQUIRED COMPONENTS KIO Config)
-find_package(FFmpeg COMPONENTS AVCODEC AVFORMAT SWSCALE)
+find_package(FFmpeg 60.30 REQUIRED COMPONENTS AVCODEC)
+find_package(FFmpeg 58.7 REQUIRED COMPONENTS AVUTIL)
+find_package(FFmpeg REQUIRED COMPONENTS AVFILTER AVFORMAT SWSCALE)
 
 include_directories(
     ${FFMPEG_INCLUDE_DIRS}
@@ -69,15 +74,15 @@
 target_link_libraries(ffmpegthumbs
     Qt::Core
     Qt::Gui
-    KF6::KIOWidgets
     KF6::KIOCore
+    KF6::KIOGui
     KF6::ConfigCore
     KF6::ConfigGui
-    ${AVUTIL_LIBRARIES}
     ${AVFILTER_LIBRARIES}
+    ${SWSCALE_LIBRARIES}
     ${AVFORMAT_LIBRARIES}
     ${AVCODEC_LIBRARIES}
-    ${SWSCALE_LIBRARIES}
+    ${AVUTIL_LIBRARIES}
 )
 
 install(FILES ffmpegthumbnailersettings5.kcfg DESTINATION 
${KDE_INSTALL_KCFGDIR})
@@ -96,4 +101,8 @@
     add_subdirectory(tests)
 endif()
 
+if(BUILD_FUZZERS)
+    add_subdirectory(autotests/ossfuzz)
+endif()
+
 feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ffmpegthumbs-25.08.3/autotests/ossfuzz/CMakeLists.txt 
new/ffmpegthumbs-25.12.0/autotests/ossfuzz/CMakeLists.txt
--- old/ffmpegthumbs-25.08.3/autotests/ossfuzz/CMakeLists.txt   1970-01-01 
01:00:00.000000000 +0100
+++ new/ffmpegthumbs-25.12.0/autotests/ossfuzz/CMakeLists.txt   2025-12-03 
23:39:26.000000000 +0100
@@ -0,0 +1,47 @@
+# SPDX-FileCopyrightText: 2025 Azhar Momin <[email protected]>
+# SPDX-License-Identifier: BSD-2-Clause
+
+if(DEFINED ENV{LIB_FUZZING_ENGINE})
+    set(fuzzing_engine $ENV{LIB_FUZZING_ENGINE})
+else()
+    if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
+        set(fuzzing_engine -fsanitize=fuzzer)
+    else()
+        message(FATAL_ERROR "Fuzzing engine not supported")
+    endif()
+endif()
+
+function(add_thumbnail_fuzzer creator creator_header target_lib)
+    set(gen_src ${CMAKE_CURRENT_BINARY_DIR}/${target_lib}_fuzzer.cc)
+    set(CREATOR "${creator}")
+    set(CREATOR_HEADER "${creator_header}")
+    configure_file(
+        ${CMAKE_CURRENT_SOURCE_DIR}/kde_thumbnailers_fuzzer.cc.in
+        ${gen_src}
+        @ONLY
+    )
+
+    add_executable(${target_lib}_fuzzer
+        ${gen_src}
+    )
+
+    kcoreaddons_target_static_plugins(${target_lib}_fuzzer
+        LINK_OPTION PRIVATE
+        TARGETS ${target_lib}
+    )
+
+    target_link_libraries(${target_lib}_fuzzer
+        PRIVATE
+            ${fuzzing_engine}
+    )
+
+    if(FUZZERS_USE_QT_MINIMAL_INTEGRATION_PLUGIN)
+        qt_import_plugins(${target_lib}_fuzzer INCLUDE 
Qt::QMinimalIntegrationPlugin)
+    endif()
+
+    set_target_properties(${target_lib}_fuzzer PROPERTIES
+        RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin/fuzzers
+    )
+endfunction()
+
+add_thumbnail_fuzzer(FFMpegThumbnailer ffmpegthumbnailer.h ffmpegthumbs)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ffmpegthumbs-25.08.3/autotests/ossfuzz/build_fuzzers.sh 
new/ffmpegthumbs-25.12.0/autotests/ossfuzz/build_fuzzers.sh
--- old/ffmpegthumbs-25.08.3/autotests/ossfuzz/build_fuzzers.sh 1970-01-01 
01:00:00.000000000 +0100
+++ new/ffmpegthumbs-25.12.0/autotests/ossfuzz/build_fuzzers.sh 2025-12-03 
23:39:26.000000000 +0100
@@ -0,0 +1,59 @@
+#!/bin/bash -eu
+#
+# SPDX-FileCopyrightText: 2025 Azhar Momin <[email protected]>
+# SPDX-License-Identifier: LGPL-2.0-or-later
+#
+# This script must be run after 
kio-extras/thumbnail/autotests/ossfuzz/build_fuzzers.sh
+
+export PATH="$WORK/bin:$WORK/libexec:$PATH"
+export PKG_CONFIG="$(which pkg-config) --static"
+export 
PKG_CONFIG_PATH="$WORK/lib/pkgconfig:$WORK/share/pkgconfig:$WORK/lib/x86_64-linux-gnu/pkgconfig"
+
+# For FFMpegThumbnailer
+cd $SRC/ffmpeg
+if [ "$SANITIZER" = "memory" ]; then
+  disable_asm="--disable-inline-asm --disable-x86asm"
+else
+  disable_asm=
+fi
+./configure \
+  --cc="$CC" \
+  --cxx="$CXX" \
+  --ld="$CXX $CXXFLAGS -std=c++11" \
+  --prefix=$WORK \
+  $disable_asm \
+  --enable-static \
+  --disable-shared \
+  --disable-doc \
+  --disable-everything \
+  --disable-programs \
+  --disable-avdevice \
+  --disable-swresample \
+  --enable-avfilter \
+  --enable-swscale \
+  --enable-avformat \
+  --enable-avcodec \
+  --enable-avutil
+make install -j$(nproc)
+
+# Build FFMpegThumbs
+cd $SRC/ffmpegthumbs
+cmake -B build -G Ninja \
+    -DCMAKE_PREFIX_PATH=$WORK \
+    -DCMAKE_INSTALL_PREFIX=$WORK \
+    -DBUILD_FUZZERS=ON \
+    -DFUZZERS_USE_QT_MINIMAL_INTEGRATION_PLUGIN=ON \
+    -DBUILD_SHARED_LIBS=OFF
+ninja -C build -j$(nproc)
+
+EXTENSIONS="ffmpegthumbs_fuzzer ogg wma wmv mp4 mkv webm avi mov flv m3u8"
+
+echo "$EXTENSIONS" | while read fuzzer_name extensions; do
+    # copy the fuzzer binary
+    cp build/bin/fuzzers/$fuzzer_name $OUT
+
+    # create seed corpus
+    for extension in $extensions; do
+        find . -name "*.$extension" -exec zip -q 
"$OUT/${fuzzer_name}_seed_corpus.zip" {} +
+    done
+done
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ffmpegthumbs-25.08.3/autotests/ossfuzz/kde_thumbnailers_fuzzer.cc.in 
new/ffmpegthumbs-25.12.0/autotests/ossfuzz/kde_thumbnailers_fuzzer.cc.in
--- old/ffmpegthumbs-25.08.3/autotests/ossfuzz/kde_thumbnailers_fuzzer.cc.in    
1970-01-01 01:00:00.000000000 +0100
+++ new/ffmpegthumbs-25.12.0/autotests/ossfuzz/kde_thumbnailers_fuzzer.cc.in    
2025-12-03 23:39:26.000000000 +0100
@@ -0,0 +1,53 @@
+/*
+ * SPDX-FileCopyrightText: 2025 Azhar Momin <[email protected]>
+ * SPDX-License-Identifier: LGPL-2.0-or-later
+ */
+
+#include <QByteArray>
+#include <QGuiApplication>
+#include <QMimeDatabase>
+#include <QSize>
+#include <QTemporaryFile>
+#include <QUrl>
+#include <QVariant>
+
+#include "@CREATOR_HEADER@"
+
+static void runThumbnailer(const QString &fileName, const QString &mimetype)
+{
+    QSize targetSize(128, 128);
+    qreal dpr = 1.0;
+    float sequenceIndex = 0.0f;
+
+    KIO::ThumbnailRequest request(QUrl::fromLocalFile(fileName), targetSize, 
mimetype, dpr, sequenceIndex);
+
+    @CREATOR@ thumbnailer(nullptr, {});
+    thumbnailer.create(request);
+}
+
+extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
+{
+    int argc = 0;
+    QGuiApplication app(argc, nullptr);
+
+    QByteArray b(reinterpret_cast<const char *>(data), static_cast<int>(size));
+
+    QTemporaryFile f;
+    if (!f.open()) {
+        return 0;
+    }
+    f.write(b);
+    f.close();
+
+    QMimeDatabase mimeDb;
+    QMimeType mimetype = mimeDb.mimeTypeForData(b);
+
+    runThumbnailer(f.fileName(), mimetype.name());
+    for (const QString &ancestor : mimetype.allAncestors()) {
+        if (ancestor != QLatin1String("application/octet-stream")) {
+            runThumbnailer(f.fileName(), ancestor);
+        }
+    }
+
+    return 0;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ffmpegthumbs-25.08.3/autotests/ossfuzz/prepare_build.sh 
new/ffmpegthumbs-25.12.0/autotests/ossfuzz/prepare_build.sh
--- old/ffmpegthumbs-25.08.3/autotests/ossfuzz/prepare_build.sh 1970-01-01 
01:00:00.000000000 +0100
+++ new/ffmpegthumbs-25.12.0/autotests/ossfuzz/prepare_build.sh 2025-12-03 
23:39:26.000000000 +0100
@@ -0,0 +1,9 @@
+#!/bin/bash -eu
+#
+# SPDX-FileCopyrightText: 2025 Azhar Momin <[email protected]>
+# SPDX-License-Identifier: LGPL-2.0-or-later
+
+apt-get install -y nasm
+
+# For FFMpegThumbnailer
+git clone --depth 1 https://git.ffmpeg.org/ffmpeg.git
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ffmpegthumbs-25.08.3/cmake/FindFFmpeg.cmake 
new/ffmpegthumbs-25.12.0/cmake/FindFFmpeg.cmake
--- old/ffmpegthumbs-25.08.3/cmake/FindFFmpeg.cmake     2025-11-01 
01:00:46.000000000 +0100
+++ new/ffmpegthumbs-25.12.0/cmake/FindFFmpeg.cmake     2025-12-03 
23:39:26.000000000 +0100
@@ -7,24 +7,33 @@
 #  FFMPEG_LIBRARIES     - Link these to use the required ffmpeg components.
 #  FFMPEG_DEFINITIONS   - Compiler switches required for using the required 
ffmpeg components.
 #
-# For each of the components it will additionally set.
+# For each of the components
 #   - AVCODEC
+#   - AVFILTER
 #   - AVDEVICE
 #   - AVFORMAT
 #   - AVUTIL
 #   - POSTPROCESS
 #   - SWSCALE
-# the following variables will be defined
+# the following variables will be defined:
 #  <component>_FOUND        - System has <component>
 #  <component>_INCLUDE_DIRS - Include directory necessary for using the 
<component> headers
 #  <component>_LIBRARIES    - Link these to use <component>
 #  <component>_DEFINITIONS  - Compiler switches required for using <component>
 #  <component>_VERSION      - The components version
 #
+# As the versions of the various FFmpeg components differ for a given release,
+# and CMake supports only one common version for all components, use the
+# following to specify required versions for multiple components:
+#
+# find_package(FFmpeg 57.48 COMPONENTS AVCODEC)
+# find_package(FFmpeg 57.40 COMPONENTS AVFORMAT)
+# find_package(FFmpeg 55.27 COMPONENTS AVUTIL)
+#
 # SPDX-FileCopyrightText: 2006 Matthias Kretz <[email protected]>
 # SPDX-FileCopyrightText: 2008 Alexander Neundorf <[email protected]>
 # SPDX-FileCopyrightText: 2011 Michael Jansen <[email protected]>
-#
+# SPDX-FileCopyrightText: 2021 Stefan Brüns <[email protected]>
 # SPDX-License-Identifier: BSD-3-Clause
 
 include(FindPackageHandleStandardArgs)
@@ -34,6 +43,17 @@
   set(FFmpeg_FIND_COMPONENTS AVCODEC AVFORMAT AVUTIL)
 endif ()
 
+list(LENGTH FFmpeg_FIND_COMPONENTS _numComponents)
+if ((${_numComponents} GREATER 1) AND DEFINED ${FFmpeg_FIND_VERSION})
+  message(WARNING "Using a required version in combination with multiple 
COMPONENTS is not supported")
+  set(_FFmpeg_REQUIRED_VERSION 0)
+elseif (DEFINED FFmpeg_FIND_VERSION)
+  set(_FFmpeg_REQUIRED_VERSION ${FFmpeg_FIND_VERSION})
+else ()
+  set(_FFmpeg_REQUIRED_VERSION 0)
+endif ()
+set(_FFmpeg_ALL_COMPONENTS AVCODEC AVDEVICE AVFORMAT AVUTIL POSTPROC SWSCALE)
+
 #
 ### Macro: set_component_found
 #
@@ -41,10 +61,8 @@
 #
 macro(set_component_found _component )
   if (${_component}_LIBRARIES AND ${_component}_INCLUDE_DIRS)
-    # message(STATUS "  - ${_component} found.")
     set(${_component}_FOUND TRUE)
-  else ()
-    # message(STATUS "  - ${_component} not found.")
+    set(FFmpeg_${_component}_FOUND TRUE)
   endif ()
 endmacro()
 
@@ -61,7 +79,7 @@
      # in the FIND_PATH() and FIND_LIBRARY() calls
      find_package(PkgConfig)
      if (PKG_CONFIG_FOUND)
-       pkg_check_modules(PC_${_component} ${_pkgconfig})
+       pkg_check_modules(PC_${_component} QUIET ${_pkgconfig})
      endif ()
   endif (NOT WIN32)
 
@@ -92,7 +110,6 @@
 
 endmacro()
 
-
 # Check for cached results. If there are skip the costly part.
 if (NOT FFMPEG_LIBRARIES)
 
@@ -106,14 +123,11 @@
   find_component(POSTPROC libpostproc postproc libpostproc/postprocess.h)
 
   # Check if the required components were found and add their stuff to the 
FFMPEG_* vars.
-  foreach (_component ${FFmpeg_FIND_COMPONENTS})
+  foreach (_component ${_FFmpeg_ALL_COMPONENTS})
     if (${_component}_FOUND)
-      # message(STATUS "Required component ${_component} present.")
       set(FFMPEG_LIBRARIES   ${FFMPEG_LIBRARIES}   ${${_component}_LIBRARIES})
       set(FFMPEG_DEFINITIONS ${FFMPEG_DEFINITIONS} 
${${_component}_DEFINITIONS})
       list(APPEND FFMPEG_INCLUDE_DIRS ${${_component}_INCLUDE_DIRS})
-    else ()
-      # message(STATUS "Required component ${_component} missing.")
     endif ()
   endforeach ()
 
@@ -131,18 +145,33 @@
                    FFMPEG_LIBRARIES
                    FFMPEG_DEFINITIONS)
 
+else ()
+  # Set the noncached _FOUND vars for the components.
+  foreach (_component ${_FFmpeg_ALL_COMPONENTS})
+    set_component_found(${_component})
+  endforeach ()
 endif ()
 
-# Now set the noncached _FOUND vars for the components.
-foreach (_component AVCODEC AVDEVICE AVFORMAT AVUTIL POSTPROCESS SWSCALE)
-  set_component_found(${_component})
-endforeach ()
-
 # Compile the list of required vars
-set(_FFmpeg_REQUIRED_VARS FFMPEG_LIBRARIES FFMPEG_INCLUDE_DIRS)
+unset(_FFmpeg_REQUIRED_VARS)
+set(_FFmpeg_FOUND_LIBRARIES "")
 foreach (_component ${FFmpeg_FIND_COMPONENTS})
-  list(APPEND _FFmpeg_REQUIRED_VARS ${_component}_LIBRARIES 
${_component}_INCLUDE_DIRS)
+  if (${_component}_FOUND)
+    if (NOT WIN32)
+        if (${_component}_VERSION VERSION_LESS _FFmpeg_REQUIRED_VERSION)
+            message(STATUS "${_component}: ${${_component}_VERSION} < 
${_FFmpeg_REQUIRED_VERSION}")
+            unset(${_component}_FOUND)
+        endif ()
+    else (NOT WIN32)
+        message(WARNING "${_component}: Version check is not supported on 
Windows")
+    endif(NOT WIN32)
+    list(APPEND _FFmpeg_FOUND_LIBRARIES ${${_component}_LIBRARIES})
+  endif ()
+  list(APPEND _FFmpeg_REQUIRED_VARS ${_component}_LIBRARIES 
${_component}_INCLUDE_DIRS ${_component}_FOUND)
 endforeach ()
+list(INSERT _FFmpeg_REQUIRED_VARS 0 _FFmpeg_FOUND_LIBRARIES)
 
 # Give a nice error message if some of the required vars are missing.
-find_package_handle_standard_args(FFmpeg DEFAULT_MSG ${_FFmpeg_REQUIRED_VARS})
+find_package_handle_standard_args(FFmpeg
+    REQUIRED_VARS ${_FFmpeg_REQUIRED_VARS}
+    HANDLE_COMPONENTS)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ffmpegthumbs-25.08.3/ffmpegthumbnailer/filmstripfilter.cpp 
new/ffmpegthumbs-25.12.0/ffmpegthumbnailer/filmstripfilter.cpp
--- old/ffmpegthumbs-25.08.3/ffmpegthumbnailer/filmstripfilter.cpp      
2025-11-01 01:00:46.000000000 +0100
+++ new/ffmpegthumbs-25.12.0/ffmpegthumbnailer/filmstripfilter.cpp      
2025-12-03 23:39:26.000000000 +0100
@@ -10,16 +10,13 @@
 namespace ffmpegthumbnailer
 {
 
-static const int FILMHOLE_WIDTH = 12;
-static const int FILMHOLE_HEIGHT = 10;
-
 static const quint8* determineFilmStrip(quint32 videoWidth, quint32& 
filmStripWidth, quint32& filmStripHeight)
 {
     if (videoWidth <= SMALLEST_FILM_STRIP_WIDTH * 2)
     {
         return nullptr;
     }
-    
+
     if (videoWidth <= 96)
     {
         filmStripWidth = filmStripHeight = 4;
@@ -55,12 +52,12 @@
     quint32 filmStripWidth;
     quint32 filmStripHeight;
     const quint8* filmHole = determineFilmStrip(videoFrame.width, 
filmStripWidth, filmStripHeight);
-    
+
     if (!filmHole)
     {
         return;
     }
-    
+
     int frameIndex = 0;
     int filmHoleIndex = 0;
     int offset = (videoFrame.width * 3) - 3;
@@ -81,7 +78,7 @@
         }
         frameIndex += videoFrame.lineSize;
         filmHoleIndex = (i % filmStripHeight) * filmStripWidth * 3;
-    }   
+    }
 }
 
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ffmpegthumbs-25.08.3/ffmpegthumbnailer/moviedecoder.cpp 
new/ffmpegthumbs-25.12.0/ffmpegthumbnailer/moviedecoder.cpp
--- old/ffmpegthumbs-25.08.3/ffmpegthumbnailer/moviedecoder.cpp 2025-11-01 
01:00:46.000000000 +0100
+++ new/ffmpegthumbs-25.12.0/ffmpegthumbnailer/moviedecoder.cpp 2025-12-03 
23:39:26.000000000 +0100
@@ -12,7 +12,6 @@
 
 extern "C" {
 #include <libswscale/swscale.h>
-#include <libavcodec/version.h>
 #include <libavutil/display.h>
 #include <libavutil/imgutils.h>
 }
@@ -90,11 +89,7 @@
 {
     deleteFilterGraph();
     if (m_pVideoCodecContext) {
-#if LIBAVCODEC_VERSION_MAJOR >= 60
         avcodec_free_context(&m_pVideoCodecContext);
-#else
-        avcodec_close(m_pVideoCodecContext);
-#endif
         m_pVideoCodecContext = nullptr;
     }
     m_pVideoStream = nullptr;
@@ -220,11 +215,7 @@
         }
 
         ++keyFrameAttempts;
-#if LIBAVCODEC_VERSION_MAJOR >= 60
     } while ((!gotFrame || !(m_pFrame->flags & AV_FRAME_FLAG_KEY)) && 
keyFrameAttempts < 200);
-#else
-    } while ((!gotFrame || !m_pFrame->key_frame) && keyFrameAttempts < 200);
-#endif
 
     if (gotFrame == 0) {
         qCDebug(ffmpegthumbs_LOG) << "Seeking in video failed";
@@ -272,29 +263,15 @@
         return ret;
     }
 
-#if LIBAVCODEC_VERSION_MAJOR >= 60
     for (int i=0; i<m_pVideoStream->codecpar->nb_coded_side_data; i++) {
         if (m_pVideoStream->codecpar->coded_side_data[i].type != 
AV_PKT_DATA_DISPLAYMATRIX) {
-#else
-    for (int i=0; i<m_pVideoStream->nb_side_data; i++) {
-        if (m_pVideoStream->side_data[i].type != AV_PKT_DATA_DISPLAYMATRIX) {
-#endif
             continue;
         }
-#if LIBAVCODEC_VERSION_MAJOR >= 60
         if (m_pVideoStream->codecpar->coded_side_data[i].size != 
sizeof(int32_t) * 9) {
             qCWarning(ffmpegthumbs_LOG) << "Invalid display matrix size" << 
m_pVideoStream->codecpar->coded_side_data[i].size << "expected" << 
sizeof(int32_t) * 9;
-#else
-        if (m_pVideoStream->side_data[i].size != sizeof(int32_t) * 9) {
-            qCWarning(ffmpegthumbs_LOG) << "Invalid display matrix size" << 
m_pVideoStream->side_data[i].size << "expected" << sizeof(int32_t) * 9;
-#endif
             continue;
         }
-#if LIBAVCODEC_VERSION_MAJOR >= 60
         int32_t *matrix = 
reinterpret_cast<int32_t*>(m_pVideoStream->codecpar->coded_side_data[i].data);
-#else
-        int32_t *matrix = 
reinterpret_cast<int32_t*>(m_pVideoStream->side_data[i].data);
-#endif
         double rotation = av_display_rotation_get(matrix);
         if (qFuzzyCompare(rotation, 0.)) {
             ret |= QImageIOHandler::TransformationNone;
@@ -427,11 +404,7 @@
 
 void MovieDecoder::getScaledVideoFrame(int scaledSize, bool 
maintainAspectRatio, VideoFrame& videoFrame)
 {
-#if LIBAVCODEC_VERSION_MAJOR >= 60
     if (m_pFrame->flags & AV_FRAME_FLAG_INTERLACED) {
-#else
-    if (m_pFrame->interlaced_frame) {
-#endif
         processFilterGraph((AVFrame*) m_pFrame, (AVFrame*) m_pFrame, 
m_pVideoCodecContext->pix_fmt,
                               m_pVideoCodecContext->width, 
m_pVideoCodecContext->height);
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ffmpegthumbs-25.08.3/ffmpegthumbnailer.cpp 
new/ffmpegthumbs-25.12.0/ffmpegthumbnailer.cpp
--- old/ffmpegthumbs-25.08.3/ffmpegthumbnailer.cpp      2025-11-01 
01:00:46.000000000 +0100
+++ new/ffmpegthumbs-25.12.0/ffmpegthumbnailer.cpp      2025-12-03 
23:39:26.000000000 +0100
@@ -12,11 +12,7 @@
 #include <limits>
 
 #include <KPluginFactory>
-#include <QCheckBox>
-#include <QFormLayout>
 #include <QImage>
-#include <QLineEdit>
-#include <QSpinBox>
 
 extern "C" {
 #include <libavformat/avformat.h>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ffmpegthumbs-25.08.3/ffmpegthumbs.json 
new/ffmpegthumbs-25.12.0/ffmpegthumbs.json
--- old/ffmpegthumbs-25.08.3/ffmpegthumbs.json  2025-11-01 01:00:46.000000000 
+0100
+++ new/ffmpegthumbs-25.12.0/ffmpegthumbs.json  2025-12-03 23:39:26.000000000 
+0100
@@ -57,7 +57,7 @@
         "Name[kk]": "Видео файлдар (ffmpegthumbs)",
         "Name[km]": "ឯកសារ​វីដេអូ (ffmpegthumbs)",
         "Name[ko]": "동영상 파일 (ffmpegthumbs)",
-        "Name[lt]": "Video failai (ffmpegthumbs)",
+        "Name[lt]": "Vaizdo įrašo failai (ffmpegthumbs)",
         "Name[lv]": "Video datnes (ffmpegthumbs)",
         "Name[mr]": "व्हिडीओ फाईल्स (ffmpegthumbs)",
         "Name[nb]": "Videofiler (ffmpegthumbs)",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ffmpegthumbs-25.08.3/org.kde.ffmpegthumbs.metainfo.xml 
new/ffmpegthumbs-25.12.0/org.kde.ffmpegthumbs.metainfo.xml
--- old/ffmpegthumbs-25.08.3/org.kde.ffmpegthumbs.metainfo.xml  2025-11-01 
01:00:46.000000000 +0100
+++ new/ffmpegthumbs-25.12.0/org.kde.ffmpegthumbs.metainfo.xml  2025-12-03 
23:39:26.000000000 +0100
@@ -32,6 +32,7 @@
   <name xml:lang="it">Generatore di miniature FFmpeg</name>
   <name xml:lang="ka">FFmpeg-ით მინიატურების შექმნა</name>
   <name xml:lang="ko">FFmpeg 섬네일 생성기</name>
+  <name xml:lang="lt">FFmpeg miniatiūrų kūrimo įrankis</name>
   <name xml:lang="lv">FFmpeg Thumbnailer</name>
   <name xml:lang="nl">FFmpeg miniatuurmaker</name>
   <name xml:lang="nn">FFmpeg Thumbnailer</name>
@@ -73,6 +74,7 @@
   <summary xml:lang="it">Generatore di miniature video che usa FFmpeg</summary>
   <summary xml:lang="ka">FFmpeg-ით ვიდეო მინიატურების შექმნა</summary>
   <summary xml:lang="ko">FFmpeg를 사용하여 동영상 섬네일 생성</summary>
+  <summary xml:lang="lt">Vaizdo įrašų miniatiūrų gamintojas naudojantis 
FFmpeg</summary>
   <summary xml:lang="lv">Video sīktēlu ģenerators, kas izmanto 
„FFmpeg“</summary>
   <summary xml:lang="nl">Generator van videominiatuur met behulp van 
FFmpeg</summary>
   <summary xml:lang="nn">Generer miniatyrbilete for video via FFmpeg</summary>
@@ -116,6 +118,7 @@
     <p xml:lang="it">Il generatore di miniature FFmpeg è un generatore di 
miniature video per i gestori di file di KDE.</p>
     <p xml:lang="ka">FFmpeg მემინიატურე KDE-ის ფაილის მმართველებისთვის 
ვიდეოდან სურათებს იღებს.</p>
     <p xml:lang="ko">FFmpeg 섬네일 생성기는 KDE 파일 관리자의 동영상 섬네일 생성기입니다.</p>
+    <p xml:lang="lt">FFmpeg miniatiūrų kūrimo įrankis yra vaizdo įrašų 
miniatiūrų gamintojas, skirtas KDE failų tvarkytuvėms.</p>
     <p xml:lang="lv">„FFmpeg Thumbnailer“ ir video sīktēlu ģenerators KDE 
datņu pārvaldniekiem.</p>
     <p xml:lang="nl">FFmpeg miniatuurmaker is een generator voor een 
videominiatuur voor KDE bestandsbeheerders.</p>
     <p xml:lang="nn">FFmpeg Thumbnailer er eit program for å generera 
video-miniatyrbilete for KDE-baserte filhandsamarar.</p>
@@ -145,6 +148,7 @@
     </screenshot>
   </screenshots>
   <releases>
+    <release version="25.12.0" date="2025-12-11"/>
     <release version="25.08.3" date="2025-11-06"/>
     <release version="25.08.2" date="2025-10-09"/>
     <release version="25.08.1" date="2025-09-11"/>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ffmpegthumbs-25.08.3/tests/CMakeLists.txt 
new/ffmpegthumbs-25.12.0/tests/CMakeLists.txt
--- old/ffmpegthumbs-25.08.3/tests/CMakeLists.txt       2025-11-01 
01:00:46.000000000 +0100
+++ new/ffmpegthumbs-25.12.0/tests/CMakeLists.txt       2025-12-03 
23:39:26.000000000 +0100
@@ -24,13 +24,13 @@
 target_link_libraries(ffmpegthumbtest
     Qt::Core
     Qt::Gui
-    KF6::KIOWidgets
     KF6::KIOCore
+    KF6::KIOGui
     KF6::ConfigCore
     KF6::ConfigGui
-    ${AVUTIL_LIBRARIES}
     ${AVFILTER_LIBRARIES}
+    ${SWSCALE_LIBRARIES}
     ${AVFORMAT_LIBRARIES}
     ${AVCODEC_LIBRARIES}
-    ${SWSCALE_LIBRARIES}
+    ${AVUTIL_LIBRARIES}
 )

Reply via email to