FFmpeg
Loading...
Searching...
No Matches
libavcodec
aarch64
mpegvideoencdsp_init.c
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
#include <stddef.h>
20
#include <stdint.h>
21
22
#include "
libavutil/attributes.h
"
23
#include "
libavutil/aarch64/cpu.h
"
24
#include "
libavcodec/mpegvideoencdsp.h
"
25
#include "config.h"
26
27
int
ff_pix_sum16_neon
(
const
uint8_t *
pix
, ptrdiff_t line_size);
28
int
ff_pix_norm1_neon
(
const
uint8_t *
pix
, ptrdiff_t line_size);
29
30
#if HAVE_DOTPROD
31
int
ff_pix_norm1_neon_dotprod(
const
uint8_t *
pix
, ptrdiff_t line_size);
32
#endif
33
34
av_cold
void
ff_mpegvideoencdsp_init_aarch64
(
MpegvideoEncDSPContext
*
c
,
35
AVCodecContext
*avctx)
36
{
37
int
cpu_flags
=
av_get_cpu_flags
();
38
39
if
(
have_neon
(
cpu_flags
)) {
40
c
->pix_sum =
ff_pix_sum16_neon
;
41
c
->pix_norm1 =
ff_pix_norm1_neon
;
42
}
43
44
#if HAVE_DOTPROD
45
if
(
have_dotprod
(
cpu_flags
)) {
46
c
->pix_norm1 = ff_pix_norm1_neon_dotprod;
47
}
48
#endif
49
}
ff_pix_norm1_neon
int ff_pix_norm1_neon(const uint8_t *pix, ptrdiff_t line_size)
ff_pix_sum16_neon
int ff_pix_sum16_neon(const uint8_t *pix, ptrdiff_t line_size)
ff_mpegvideoencdsp_init_aarch64
av_cold void ff_mpegvideoencdsp_init_aarch64(MpegvideoEncDSPContext *c, AVCodecContext *avctx)
Definition
mpegvideoencdsp_init.c:34
cpu.h
have_dotprod
#define have_dotprod(flags)
Definition
cpu.h:31
have_neon
#define have_neon(flags)
Definition
cpu.h:26
attributes.h
Macro definitions for various function/variable attributes.
av_cold
#define av_cold
Definition
attributes.h:117
cpu_flags
static atomic_int cpu_flags
Definition
cpu.c:56
av_get_cpu_flags
int av_get_cpu_flags(void)
Return the flags which specify extensions supported by the CPU.
Definition
cpu.c:109
mpegvideoencdsp.h
pix
enum AVPixelFormat pix
Definition
ohcodec.c:55
AVCodecContext
main external API structure.
Definition
avcodec.h:443
MpegvideoEncDSPContext
Definition
mpegvideoencdsp.h:32
c
static double c[64]
Definition
vsrc_mptestsrc.c:89
Generated on Sun Aug 23 2026 19:20:49 for FFmpeg by
1.13.2