[packages/avidemux] - added patch for x265 4.0 (build >= 210); release 4

qboosh qboosh at pld-linux.org
Tue Sep 17 22:07:41 CEST 2024


commit 2e3b9c74dec5123aae50209d7da967014742a81c
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Tue Sep 17 22:10:31 2024 +0200

    - added patch for x265 4.0 (build >= 210); release 4

 avidemux-x265.patch | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 avidemux.spec       |  4 +++-
 2 files changed, 55 insertions(+), 1 deletion(-)
---
diff --git a/avidemux.spec b/avidemux.spec
index b70aba0..f71b3a7 100644
--- a/avidemux.spec
+++ b/avidemux.spec
@@ -25,7 +25,7 @@ Summary:	A small audio/video editing software for Linux
 Summary(pl.UTF-8):	Mały edytor audio/wideo dla Linuksa
 Name:		avidemux
 Version:	2.8.1
-Release:	3
+Release:	4
 License:	GPL v2+
 Group:		X11/Applications/Multimedia
 Source0:	https://downloads.sourceforge.net/avidemux/%{name}_%{version}.tar.gz
@@ -40,6 +40,7 @@ Patch3:		%{name}-x32.patch
 Patch4:		qt4.patch
 Patch5:		binutils2.41.patch
 Patch6:		%{name}-soundtouch-simd.patch
+Patch7:		%{name}-x265.patch
 URL:		http://fixounet.free.fr/avidemux/
 %{?with_qt5:BuildRequires:	Qt5Core-devel >= %{qt5_version}}
 %{?with_qt5:BuildRequires:	Qt5Gui-devel >= %{qt5_version}}
@@ -178,6 +179,7 @@ find '(' -name '*.js' -o -name '*.cpp' -o -name '*.h' -o -name '*.cmake' -o -nam
 %patch2 -p1
 %patch4 -p1
 %patch6 -p1
+%patch7 -p1
 
 cp -p %{PATCH5} avidemux_core/ffmpeg_package/patches
 
diff --git a/avidemux-x265.patch b/avidemux-x265.patch
new file mode 100644
index 0000000..2ecd47e
--- /dev/null
+++ b/avidemux-x265.patch
@@ -0,0 +1,52 @@
+--- avidemux_2.8.1/avidemux_plugins/ADM_videoEncoder/x265/ADM_x265.cpp.orig	2024-09-17 20:59:02.308986970 +0200
++++ avidemux_2.8.1/avidemux_plugins/ADM_videoEncoder/x265/ADM_x265.cpp	2024-09-17 21:16:25.483335609 +0200
+@@ -205,15 +205,28 @@ again:
+     //
+       x265_nal          *nal;
+       uint32_t          nbNal = 0;
++      x265_picture      *pic_outp;
++#if X265_BUILD >= 210
++      x265_picture      pic_outl[MAX_SCALABLE_LAYERS];
++      x265_picture      *pic_outlp[MAX_SCALABLE_LAYERS];
++      for (int i = 0; i < MAX_SCALABLE_LAYERS; i++) pic_outlp[i] = &pic_outl[i];
++      pic_outp = pic_outlp[0];
++#else
+       x265_picture      pic_out;
+       api->picture_init(&param,&pic_out);
++      pic_outp = &pic_out;
++#endif
+       out->flags = 0;
+       
+         int er;
+         if(false==gotFrame)     
+         {
+             ADM_info("Flushing delayed frames\n");
++#if X265_BUILD >= 210
++            er = api->encoder_encode(handle, &nal, &nbNal, NULL, pic_outlp);
++#else
+             er = api->encoder_encode(handle, &nal, &nbNal, NULL, &pic_out);
++#endif
+             if(er<=0)
+             {
+                 ADM_info ("End of flush\n");
+@@ -221,7 +234,11 @@ again:
+             }
+         }else 
+         {
++#if X265_BUILD >= 210
++            er = api->encoder_encode(handle, &nal, &nbNal, &pic, pic_outlp);
++#else
+             er = api->encoder_encode(handle, &nal, &nbNal, &pic, &pic_out);
++#endif
+             if(er<0)
+             {
+               ADM_error ("[x265] Error encoding %d\n",er);
+@@ -236,7 +253,7 @@ again:
+ 
+ 
+     // 3-encode
+-    if(false==postAmble(out,nbNal,nal,&pic_out))
++    if(false==postAmble(out,nbNal,nal,pic_outp))
+     {
+         ADM_warning("[x265] postAmble failed\n");
+         return false;     
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/avidemux.git/commitdiff/2e3b9c74dec5123aae50209d7da967014742a81c



More information about the pld-cvs-commit mailing list