FFmpeg
Loading...
Searching...
No Matches
pixelutils.h
Go to the documentation of this file.
1/*
2 * This file is part of FFmpeg.
3 *
4 * FFmpeg is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
8 *
9 * FFmpeg is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with FFmpeg; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17 */
18
19#ifndef AVUTIL_RISCV_PIXELUTILS_H
20#define AVUTIL_RISCV_PIXELUTILS_H
21
22#include <stddef.h>
23#include <stdint.h>
24
25#include "config.h"
26
27#include "cpu.h"
29#include "libavutil/cpu.h"
31
32int ff_pixelutils_sad16_rvv(const uint8_t *src1, ptrdiff_t stride1,
33 const uint8_t *src2, ptrdiff_t stride2);
34int ff_pixelutils_sad8_rvv (const uint8_t *src1, ptrdiff_t stride1,
35 const uint8_t *src2, ptrdiff_t stride2);
36
38{
39#if HAVE_RVV
40 int flags = av_get_cpu_flags();
41
42 if (flags & AV_CPU_FLAG_RVV_I32 && ff_rv_vlen_least(128)) {
45 }
46#endif
47}
48#endif
#define flags(name, subs,...)
Definition cbs_h264.c:74
static int aligned(int val)
Definition dashdec.c:178
const pixel * src2
Macro definitions for various function/variable attributes.
#define av_cold
Definition attributes.h:117
int av_get_cpu_flags(void)
Return the flags which specify extensions supported by the CPU.
Definition cpu.c:109
#define AV_CPU_FLAG_RVV_I32
Vectors of 8/16/32-bit int's *‍/.
Definition cpu.h:97
int(* av_pixelutils_sad_fn)(const uint8_t *src1, ptrdiff_t stride1, const uint8_t *src2, ptrdiff_t stride2)
Sum of abs(src1[x] - src2[x])
Definition pixelutils.h:28
int ff_pixelutils_sad16_rvv(const uint8_t *src1, ptrdiff_t stride1, const uint8_t *src2, ptrdiff_t stride2)
static av_cold void ff_pixelutils_init_riscv(av_pixelutils_sad_fn *sad, int aligned)
Definition pixelutils.h:37
int ff_pixelutils_sad8_rvv(const uint8_t *src1, ptrdiff_t stride1, const uint8_t *src2, ptrdiff_t stride2)
#define src1
Definition h264pred.c:141