FFmpeg
libavutil
riscv
fixed_dsp_init.c
Go to the documentation of this file.
1
/*
2
* Copyright © 2022 Rémi Denis-Courmont.
3
*
4
* This file is part of FFmpeg.
5
*
6
* FFmpeg is free software; you can redistribute it and/or
7
* modify it under the terms of the GNU Lesser General Public
8
* License as published by the Free Software Foundation; either
9
* version 2.1 of the License, or (at your option) any later version.
10
*
11
* FFmpeg is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
* Lesser General Public License for more details.
15
*
16
* You should have received a copy of the GNU Lesser General Public
17
* License along with FFmpeg; if not, write to the Free Software
18
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19
*/
20
21
#include <stdint.h>
22
23
#include "config.h"
24
#include "
libavutil/attributes.h
"
25
#include "
libavutil/cpu.h
"
26
#include "
libavutil/fixed_dsp.h
"
27
28
void
ff_butterflies_fixed_rvv
(
int
*v1,
int
*v2,
int
len
);
29
30
av_cold
void
ff_fixed_dsp_init_riscv
(
AVFixedDSPContext
*fdsp)
31
{
32
#if HAVE_RVV
33
int
flags
=
av_get_cpu_flags
();
34
35
if
(
flags
&
AV_CPU_FLAG_RVV_I32
)
36
fdsp->
butterflies_fixed
=
ff_butterflies_fixed_rvv
;
37
#endif
38
}
AVFixedDSPContext
Definition:
fixed_dsp.h:56
av_get_cpu_flags
int av_get_cpu_flags(void)
Return the flags which specify extensions supported by the CPU.
Definition:
cpu.c:103
av_cold
#define av_cold
Definition:
attributes.h:90
ff_fixed_dsp_init_riscv
av_cold void ff_fixed_dsp_init_riscv(AVFixedDSPContext *fdsp)
Definition:
fixed_dsp_init.c:30
fixed_dsp.h
cpu.h
attributes.h
AVFixedDSPContext::butterflies_fixed
void(* butterflies_fixed)(int *av_restrict v1, int *av_restrict v2, int len)
Calculate the sum and difference of two vectors of integers.
Definition:
fixed_dsp.h:153
ff_butterflies_fixed_rvv
void ff_butterflies_fixed_rvv(int *v1, int *v2, int len)
AV_CPU_FLAG_RVV_I32
#define AV_CPU_FLAG_RVV_I32
Vectors of 8/16/32-bit int's */.
Definition:
cpu.h:85
len
int len
Definition:
vorbis_enc_data.h:426
flags
#define flags(name, subs,...)
Definition:
cbs_av1.c:561
Generated on Tue Feb 28 2023 21:34:14 for FFmpeg by
1.8.17