ffmpeg: fix transparency for yuv->rgb32 with altivec

This commit is contained in:
q66 2021-01-28 15:56:41 +01:00
parent 1e6369a3c4
commit 89e1681ef9
2 changed files with 42 additions and 1 deletions

View file

@ -0,0 +1,41 @@
From 2687070d9b092d3a354a6963c65197054ddf7a75 Mon Sep 17 00:00:00 2001
From: Carl Eugen Hoyos <ceffmpeg@gmail.com>
Date: Sat, 23 Jan 2021 19:33:13 +0100
Subject: [PATCH] lsws/ppc/yuv2rgb: Fix transparency converting from
yuv->rgb32.
MIME-Version: 1.0
Content-Type: text/plain; charset=utf8
Content-Transfer-Encoding: 8bit
Based on 68363b69 by Reimar Döffinger.
Fixes ticket #9077.
---
libswscale/ppc/yuv2rgb_altivec.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/libswscale/ppc/yuv2rgb_altivec.c b/libswscale/ppc/yuv2rgb_altivec.c
index 58e480dd2c..4f5382e4c1 100644
--- libswscale/ppc/yuv2rgb_altivec.c
+++ libswscale/ppc/yuv2rgb_altivec.c
@@ -425,13 +425,13 @@ static int altivec_ ## name(SwsContext *c, const unsigned char **in, \
}
#define out_abgr(a, b, c, ptr) \
- vec_mstrgb32(__typeof__(a), ((__typeof__(a)) { 255 }), c, b, a, ptr)
+ vec_mstrgb32(__typeof__(a), ((__typeof__(a)) vec_splat((__typeof__(a)){ 255 }, 0)), c, b, a, ptr)
#define out_bgra(a, b, c, ptr) \
- vec_mstrgb32(__typeof__(a), c, b, a, ((__typeof__(a)) { 255 }), ptr)
+ vec_mstrgb32(__typeof__(a), c, b, a, ((__typeof__(a)) vec_splat((__typeof__(a)){ 255 }, 0)), ptr)
#define out_rgba(a, b, c, ptr) \
- vec_mstrgb32(__typeof__(a), a, b, c, ((__typeof__(a)) { 255 }), ptr)
+ vec_mstrgb32(__typeof__(a), a, b, c, ((__typeof__(a)) vec_splat((__typeof__(a)){ 255 }, 0)), ptr)
#define out_argb(a, b, c, ptr) \
- vec_mstrgb32(__typeof__(a), ((__typeof__(a)) { 255 }), a, b, c, ptr)
+ vec_mstrgb32(__typeof__(a), ((__typeof__(a)) vec_splat((__typeof__(a)){ 255 }, 0)), a, b, c, ptr)
#define out_rgb24(a, b, c, ptr) vec_mstrgb24(a, b, c, ptr)
#define out_bgr24(a, b, c, ptr) vec_mstbgr24(a, b, c, ptr)
--
2.20.1

View file

@ -2,7 +2,7 @@
# audacity also needs to be bumped when a new ffmpeg version bumps libavformat's soname!
pkgname=ffmpeg
version=4.3.1
revision=4
revision=5
short_desc="Decoding, encoding and streaming software"
maintainer="Johannes <johannes.brechtmann@gmail.com>"
license="GPL-3.0-or-later"