[packages/davs2] - updated to 1.7 - added x86 patch (restore IA32 compatibility)

qboosh qboosh at pld-linux.org
Wed Apr 5 19:40:34 CEST 2023


commit 3fac8fd0bc01fde8364dc9338d52df62f351c431
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Wed Apr 5 19:43:04 2023 +0200

    - updated to 1.7
    - added x86 patch (restore IA32 compatibility)

 davs2-gcc8-fix.patch | 180 ---------------------------------------------------
 davs2-x86.patch      |  25 +++++++
 davs2.spec           |  14 ++--
 3 files changed, 31 insertions(+), 188 deletions(-)
---
diff --git a/davs2.spec b/davs2.spec
index 3c1e4c7..8a1ad84 100644
--- a/davs2.spec
+++ b/davs2.spec
@@ -1,20 +1,20 @@
 #
 # Conditional build:
-%bcond_without	static_libs	# don't build static libraries
+%bcond_without	static_libs	# static library
 %bcond_without	opencl		# OpenCL features
 #
 Summary:	Open-source decoder of AVS2-P2/IEEE1857.4 video coding standard
 Summary(pl.UTF-8):	Dekoder standardu kodowania obrazu AVS2-P2/IEEE1857.4 o otwartych źródłach
 Name:		davs2
-Version:	1.6
-Release:	2
+Version:	1.7
+Release:	1
 License:	GPL v2+
 Group:		Libraries
-#Source0Download: https://github.com/pkuvcl/davs2/releases
+#Source0Download: https://github.com/pkuvcl/davs2/tags
 Source0:	https://github.com/pkuvcl/davs2/archive/%{version}/%{name}-%{version}.tar.gz
-# Source0-md5:	c8861c1220c05a172b9ce472cbf929af
+# Source0-md5:	d1558a5413b6691ad9c867cbd5c765aa
 Patch0:		%{name}-extern.patch
-Patch1:		%{name}-gcc8-fix.patch
+Patch1:		%{name}-x86.patch
 Patch2:		%{name}-opt.patch
 URL:		https://github.com/pkuvcl/davs2
 %{?with_opencl:BuildRequires:	OpenCL-devel}
@@ -61,8 +61,6 @@ Statyczna biblioteka davs2.
 %prep
 %setup -q
 %patch0 -p1
-
-%undos source/common/vec/intrinsic_{deblock_avx2,idct_avx2,inter_pred,inter_pred_avx2,intra-pred_avx2,pixel_avx,sao_avx2}.cc
 %patch1 -p1
 %patch2 -p1
 
diff --git a/davs2-gcc8-fix.patch b/davs2-gcc8-fix.patch
deleted file mode 100644
index 592a8cd..0000000
--- a/davs2-gcc8-fix.patch
+++ /dev/null
@@ -1,180 +0,0 @@
-From 00ef2c8062a7f7d7265d933676fb5cc60f1ea659 Mon Sep 17 00:00:00 2001
-From: Daniel Bermond <danielbermond at yahoo.com>
-Date: Tue, 20 Nov 2018 16:54:25 +0000
-Subject: [PATCH] Make AVX symbols to be strictly visible (fix build with gcc8)
-
-_mm256_insertf128_si256 and _mm256_castsi128_si256 are undeclared
-in the scope of source/common/vec/intrinsic.h, which seems to be
-strictly not permitted by gcc8.
-
-Fixes #9
----
- source/common/vec/intrinsic_deblock_avx2.cc    | 5 ++---
- source/common/vec/intrinsic_idct_avx2.cc       | 6 +++---
- source/common/vec/intrinsic_inter_pred.cc      | 6 +++---
- source/common/vec/intrinsic_inter_pred_avx2.cc | 7 ++++---
- source/common/vec/intrinsic_intra-pred_avx2.cc | 6 +++---
- source/common/vec/intrinsic_pixel_avx.cc       | 6 +++---
- source/common/vec/intrinsic_sao_avx2.cc        | 6 +++---
- 7 files changed, 21 insertions(+), 21 deletions(-)
-
-diff --git a/source/common/vec/intrinsic_deblock_avx2.cc b/source/common/vec/intrinsic_deblock_avx2.cc
-index b87e472..ca9534e 100644
---- a/source/common/vec/intrinsic_deblock_avx2.cc
-+++ b/source/common/vec/intrinsic_deblock_avx2.cc
-@@ -30,15 +30,14 @@
-  *    For more information, contact us at sswang @ pku.edu.cn.
-  */
- 
--#include "../common.h"
--#include "intrinsic.h"
--
- #include <mmintrin.h>
- #include <emmintrin.h>
- #include <tmmintrin.h>
- #include <smmintrin.h>
- #include <immintrin.h>
- 
-+#include "../common.h"
-+#include "intrinsic.h"
- 
- #if !HIGH_BIT_DEPTH
- __m128i c_0_128;
-diff --git a/source/common/vec/intrinsic_idct_avx2.cc b/source/common/vec/intrinsic_idct_avx2.cc
-index 0b40fde..ee5384d 100644
---- a/source/common/vec/intrinsic_idct_avx2.cc
-+++ b/source/common/vec/intrinsic_idct_avx2.cc
-@@ -30,15 +30,15 @@
-  *    For more information, contact us at sswang @ pku.edu.cn.
-  */
- 
--#include "../common.h"
--#include "intrinsic.h"
--
- #include <mmintrin.h>
- #include <emmintrin.h>
- #include <tmmintrin.h>
- #include <smmintrin.h>
- #include <immintrin.h>
- 
-+#include "../common.h"
-+#include "intrinsic.h"
-+
- /* disable warnings */
- #pragma warning(disable:4127)  // warning C4127: ��������ʽ�dz���
- 
-diff --git a/source/common/vec/intrinsic_inter_pred.cc b/source/common/vec/intrinsic_inter_pred.cc
-index 46c0da8..55ff6a0 100644
---- a/source/common/vec/intrinsic_inter_pred.cc
-+++ b/source/common/vec/intrinsic_inter_pred.cc
-@@ -30,15 +30,15 @@
-  *    For more information, contact us at sswang @ pku.edu.cn.
-  */
- 
--#include "../common.h"
--#include "intrinsic.h"
--
- #include <mmintrin.h>
- #include <emmintrin.h>
- #include <tmmintrin.h>
- #include <smmintrin.h>
- #include <immintrin.h>
- 
-+#include "../common.h"
-+#include "intrinsic.h"
-+
- #if !HIGH_BIT_DEPTH
- /* ---------------------------------------------------------------------------
-  */
-diff --git a/source/common/vec/intrinsic_inter_pred_avx2.cc b/source/common/vec/intrinsic_inter_pred_avx2.cc
-index 6f35771..05f6957 100644
---- a/source/common/vec/intrinsic_inter_pred_avx2.cc
-+++ b/source/common/vec/intrinsic_inter_pred_avx2.cc
-@@ -30,14 +30,15 @@
-  *    For more information, contact us at sswang @ pku.edu.cn.
-  */
- 
--#include "../common.h"
--#include "intrinsic.h"
--
- #include <mmintrin.h>
- #include <emmintrin.h>
- #include <tmmintrin.h>
- #include <smmintrin.h>
- #include <immintrin.h>
-+
-+#include "../common.h"
-+#include "intrinsic.h"
-+
- #pragma warning(disable:4127)  // warning C4127: ��������ʽ�dz���
- 
- #if !HIGH_BIT_DEPTH
-diff --git a/source/common/vec/intrinsic_intra-pred_avx2.cc b/source/common/vec/intrinsic_intra-pred_avx2.cc
-index 6440929..1357bdb 100644
---- a/source/common/vec/intrinsic_intra-pred_avx2.cc
-+++ b/source/common/vec/intrinsic_intra-pred_avx2.cc
-@@ -30,15 +30,15 @@
-  *    For more information, contact us at sswang @ pku.edu.cn.
-  */
- 
--#include "../common.h"
--#include "intrinsic.h"
--
- #include <mmintrin.h>
- #include <emmintrin.h>
- #include <tmmintrin.h>
- #include <smmintrin.h>
- #include <immintrin.h>
- 
-+#include "../common.h"
-+#include "intrinsic.h"
-+
- #if !HIGH_BIT_DEPTH
- 
- void intra_pred_ver_avx(pel_t *src, pel_t *dst, int i_dst, int dir_mode, int bsx, int bsy)
-diff --git a/source/common/vec/intrinsic_pixel_avx.cc b/source/common/vec/intrinsic_pixel_avx.cc
-index 813a36f..fba7e46 100644
---- a/source/common/vec/intrinsic_pixel_avx.cc
-+++ b/source/common/vec/intrinsic_pixel_avx.cc
-@@ -30,15 +30,15 @@
-  *    For more information, contact us at sswang @ pku.edu.cn.
-  */
- 
--#include "../common.h"
--#include "intrinsic.h"
--
- #include <mmintrin.h>
- #include <emmintrin.h>
- #include <tmmintrin.h>
- #include <smmintrin.h>
- #include <immintrin.h>
- 
-+#include "../common.h"
-+#include "intrinsic.h"
-+
- /* ---------------------------------------------------------------------------
-  */
- void *davs2_memzero_aligned_c_avx(void *dst, size_t n)
-diff --git a/source/common/vec/intrinsic_sao_avx2.cc b/source/common/vec/intrinsic_sao_avx2.cc
-index 11be4d3..bb0c4aa 100644
---- a/source/common/vec/intrinsic_sao_avx2.cc
-+++ b/source/common/vec/intrinsic_sao_avx2.cc
-@@ -30,15 +30,15 @@
-  *    For more information, contact us at sswang @ pku.edu.cn.
-  */
- 
--#include "../common.h"
--#include "intrinsic.h"
--
- #include <mmintrin.h>
- #include <emmintrin.h>
- #include <tmmintrin.h>
- #include <smmintrin.h>
- #include <immintrin.h>
- 
-+#include "../common.h"
-+#include "intrinsic.h"
-+
- #if !HIGH_BIT_DEPTH
- #ifdef _MSC_VER
- #pragma warning(disable:4244)  // TODO: ��������warning
diff --git a/davs2-x86.patch b/davs2-x86.patch
new file mode 100644
index 0000000..a754280
--- /dev/null
+++ b/davs2-x86.patch
@@ -0,0 +1,25 @@
+--- davs2-1.7/source/common/x86/quant8.asm.orig	2020-04-19 08:19:59.000000000 +0200
++++ davs2-1.7/source/common/x86/quant8.asm	2023-04-05 18:41:59.923915421 +0200
+@@ -45,13 +45,22 @@ INIT_XMM sse4
+ cglobal dequant, 2,2,7
+ ;{
+     mov         r3, r3mp              ; r3  <-- shift
++%if ARCH_X86_64
+     movq        m4, r2mp              ; m4[0] = scale
+     movq        m6, r3                ; m6[0] = shift
++%else
++    movd        m4, r2mp              ; m4[0] = scale
++    movd        m6, r3                ; m6[0] = shift
++%endif
+     dec         r3                    ; r3d <-- shift - 1
+     xor         r2, r2                ; r2 <-- 0
+     shr         r1, 4                 ; r1    = i_coef/16
+     bts         r2, r3                ; r2 <-- add = 1 < (shift - 1)
++%if ARCH_X86_64
+     movq        m5, r2                ; m5[0] = add
++%else
++    movd        m5, r2                ; m5[0] = add
++%endif
+     pshufd      m4, m4, 0             ; m4[3210] = scale
+     pshufd      m5, m5, 0             ; m5[3210] = add
+                                       ;
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/davs2.git/commitdiff/3fac8fd0bc01fde8364dc9338d52df62f351c431



More information about the pld-cvs-commit mailing list