[FFmpeg-cvslog] [ffmpeg-web] branch master updated. 45066f6 web: add a news entry about STF sponsorship

2024-05-16 Thread ffmpeg-git
The branch, master has been updated
   via  45066f60746b2f2522a20580ed4c9694bab6d490 (commit)
  from  2898a925bce78b1e4c4289f669b8c5ce485d03c5 (commit)


- Log -
commit 45066f60746b2f2522a20580ed4c9694bab6d490
Author: Thilo Borgmann 
AuthorDate: Wed May 15 21:18:42 2024 +0200
Commit: Thilo Borgmann 
CommitDate: Wed May 15 21:18:42 2024 +0200

web: add a news entry about STF sponsorship

diff --git a/src/index b/src/index
index d035ffa..442db4b 100644
--- a/src/index
+++ b/src/index
@@ -35,6 +35,16 @@
 News
   
 
+  May 13th, 2024, Sovereign Tech Fund
+  
+  The FFmpeg community is excited to announce that Germany's
+  https://www.sovereigntechfund.de/tech/ffmpeg";>Sovereign Tech 
Fund
+  has become its first governmental sponsor. Their support will help
+  sustain the maintainance of the FFmpeg project, a critical open-source
+  software multimedia component essential to bringing audio and video to
+  billions around the world everyday.
+  
+
   April 5th, 2024, FFmpeg 7.0 "Dijkstra"
   
   A new major release, FFmpeg 7.0 
"Dijkstra",

---

Summary of changes:
 src/index | 10 ++
 1 file changed, 10 insertions(+)


hooks/post-receive
-- 

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog

To unsubscribe, visit link above, or email
ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".


[FFmpeg-cvslog] lavc/vc1dsp: R-V V mspel_pixels

2024-05-16 Thread sunyuechi
ffmpeg | branch: master | sunyuechi  | Sun May 12 
20:57:07 2024 +0800| [d4083ecb7c872807aa24b6ec5865f8a2fba95cf2] | committer: 
Rémi Denis-Courmont

lavc/vc1dsp: R-V V mspel_pixels

  C908 X60
vc1dsp.avg_vc1_mspel_pixels_tab[0][0]_c:  14.7 13.2
vc1dsp.avg_vc1_mspel_pixels_tab[0][0]_rvv_i32  :   2.5  2.2
vc1dsp.avg_vc1_mspel_pixels_tab[1][0]_c:   3.7  3.5
vc1dsp.avg_vc1_mspel_pixels_tab[1][0]_rvv_i64  :   1.0  1.2
vc1dsp.put_vc1_mspel_pixels_tab[0][0]_c:   9.0  8.0
vc1dsp.put_vc1_mspel_pixels_tab[0][0]_rvi  :   1.0  1.0
vc1dsp.put_vc1_mspel_pixels_tab[1][0]_c:   2.5  2.2
vc1dsp.put_vc1_mspel_pixels_tab[1][0]_rvi  :   0.5  0.5

Signed-off-by: Rémi Denis-Courmont 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=d4083ecb7c872807aa24b6ec5865f8a2fba95cf2
---

 libavcodec/riscv/Makefile  |  1 +
 libavcodec/riscv/vc1dsp_init.c | 16 +-
 libavcodec/riscv/vc1dsp_rvi.S  | 47 +
 libavcodec/riscv/vc1dsp_rvv.S  | 48 ++
 4 files changed, 111 insertions(+), 1 deletion(-)

diff --git a/libavcodec/riscv/Makefile b/libavcodec/riscv/Makefile
index 27b268ae39..f7a3bf76f1 100644
--- a/libavcodec/riscv/Makefile
+++ b/libavcodec/riscv/Makefile
@@ -58,6 +58,7 @@ RVV-OBJS-$(CONFIG_TAK_DECODER) += riscv/takdsp_rvv.o
 OBJS-$(CONFIG_UTVIDEO_DECODER) += riscv/utvideodsp_init.o
 RVV-OBJS-$(CONFIG_UTVIDEO_DECODER) += riscv/utvideodsp_rvv.o
 OBJS-$(CONFIG_VC1DSP) += riscv/vc1dsp_init.o
+RV-OBJS-$(CONFIG_VC1DSP) += riscv/vc1dsp_rvi.o
 RVV-OBJS-$(CONFIG_VC1DSP) += riscv/vc1dsp_rvv.o
 OBJS-$(CONFIG_VP8DSP) += riscv/vp8dsp_init.o
 RV-OBJS-$(CONFIG_VP8DSP) += riscv/vp8dsp_rvi.o
diff --git a/libavcodec/riscv/vc1dsp_init.c b/libavcodec/riscv/vc1dsp_init.c
index eea389a1a1..e1dd374a4a 100644
--- a/libavcodec/riscv/vc1dsp_init.c
+++ b/libavcodec/riscv/vc1dsp_init.c
@@ -29,19 +29,33 @@ void ff_vc1_inv_trans_8x8_dc_rvv(uint8_t *dest, ptrdiff_t 
stride, int16_t *block
 void ff_vc1_inv_trans_4x8_dc_rvv(uint8_t *dest, ptrdiff_t stride, int16_t 
*block);
 void ff_vc1_inv_trans_8x4_dc_rvv(uint8_t *dest, ptrdiff_t stride, int16_t 
*block);
 void ff_vc1_inv_trans_4x4_dc_rvv(uint8_t *dest, ptrdiff_t stride, int16_t 
*block);
+void ff_put_pixels16x16_rvi(uint8_t *dst, const uint8_t *src, ptrdiff_t 
line_size, int rnd);
+void ff_put_pixels8x8_rvi(uint8_t *dst, const uint8_t *src, ptrdiff_t 
line_size, int rnd);
+void ff_avg_pixels16x16_rvv(uint8_t *dst, const uint8_t *src, ptrdiff_t 
line_size, int rnd);
+void ff_avg_pixels8x8_rvv(uint8_t *dst, const uint8_t *src, ptrdiff_t 
line_size, int rnd);
 
 av_cold void ff_vc1dsp_init_riscv(VC1DSPContext *dsp)
 {
-#if HAVE_RVV
+#if HAVE_RV
 int flags = av_get_cpu_flags();
 
+# if __riscv_xlen >= 64
+if (flags & AV_CPU_FLAG_RVI) {
+dsp->put_vc1_mspel_pixels_tab[1][0] = ff_put_pixels8x8_rvi;
+dsp->put_vc1_mspel_pixels_tab[0][0] = ff_put_pixels16x16_rvi;
+}
+# endif
+#if HAVE_RVV
 if (flags & AV_CPU_FLAG_RVV_I32 && ff_rv_vlen_least(128)) {
 dsp->vc1_inv_trans_4x8_dc = ff_vc1_inv_trans_4x8_dc_rvv;
 dsp->vc1_inv_trans_4x4_dc = ff_vc1_inv_trans_4x4_dc_rvv;
+dsp->avg_vc1_mspel_pixels_tab[0][0] = ff_avg_pixels16x16_rvv;
 if (flags & AV_CPU_FLAG_RVV_I64) {
 dsp->vc1_inv_trans_8x8_dc = ff_vc1_inv_trans_8x8_dc_rvv;
 dsp->vc1_inv_trans_8x4_dc = ff_vc1_inv_trans_8x4_dc_rvv;
+dsp->avg_vc1_mspel_pixels_tab[1][0] = ff_avg_pixels8x8_rvv;
 }
 }
 #endif
+#endif
 }
diff --git a/libavcodec/riscv/vc1dsp_rvi.S b/libavcodec/riscv/vc1dsp_rvi.S
new file mode 100644
index 00..d4a1b5bf49
--- /dev/null
+++ b/libavcodec/riscv/vc1dsp_rvi.S
@@ -0,0 +1,47 @@
+/*
+ * Copyright (c) 2024 Institue of Software Chinese Academy of Sciences (ISCAS).
+ *
+ * This file is part of FFmpeg.
+ *
+ * FFmpeg is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * FFmpeg is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with FFmpeg; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include "libavutil/riscv/asm.S"
+
+#if __riscv_xlen >= 64
+func ff_put_pixels8x8_rvi
+.rept 8
+ld t0, (a1)
+sd t0, (a0)
+add a1, a1, a2
+add a0, a0, a2
+.endr
+
+ret
+endfunc
+
+func ff_put_pixels16x16_rvi
+.rept 16
+ld t0, (a1)
+ld t1, 8(a1)