FFmpeg
vf_hqdn3d_init.c
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2012 Loren Merritt
3  *
4  * This file is part of FFmpeg.
5  *
6  * FFmpeg is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (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
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License along
17  * with FFmpeg; if not, write to the Free Software Foundation, Inc.,
18  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19  */
20 
21 #include <stddef.h>
22 #include <stdint.h>
23 
24 #include "libavutil/attributes.h"
25 #include "libavfilter/vf_hqdn3d.h"
26 #include "config.h"
27 
28 void ff_hqdn3d_row_8_x86(uint8_t *src, uint8_t *dst, uint16_t *line_ant,
29  uint16_t *frame_ant, ptrdiff_t w, int16_t *spatial,
30  int16_t *temporal);
31 void ff_hqdn3d_row_9_x86(uint8_t *src, uint8_t *dst, uint16_t *line_ant,
32  uint16_t *frame_ant, ptrdiff_t w, int16_t *spatial,
33  int16_t *temporal);
34 void ff_hqdn3d_row_10_x86(uint8_t *src, uint8_t *dst, uint16_t *line_ant,
35  uint16_t *frame_ant, ptrdiff_t w, int16_t *spatial,
36  int16_t *temporal);
37 void ff_hqdn3d_row_16_x86(uint8_t *src, uint8_t *dst, uint16_t *line_ant,
38  uint16_t *frame_ant, ptrdiff_t w, int16_t *spatial,
39  int16_t *temporal);
40 
42 {
43 #if HAVE_X86ASM
44  hqdn3d->denoise_row[8] = ff_hqdn3d_row_8_x86;
45  hqdn3d->denoise_row[9] = ff_hqdn3d_row_9_x86;
46  hqdn3d->denoise_row[10] = ff_hqdn3d_row_10_x86;
47  hqdn3d->denoise_row[16] = ff_hqdn3d_row_16_x86;
48 #endif /* HAVE_X86ASM */
49 }
vf_hqdn3d.h
w
uint8_t w
Definition: llviddspenc.c:38
ff_hqdn3d_row_16_x86
void ff_hqdn3d_row_16_x86(uint8_t *src, uint8_t *dst, uint16_t *line_ant, uint16_t *frame_ant, ptrdiff_t w, int16_t *spatial, int16_t *temporal)
ff_hqdn3d_row_8_x86
void ff_hqdn3d_row_8_x86(uint8_t *src, uint8_t *dst, uint16_t *line_ant, uint16_t *frame_ant, ptrdiff_t w, int16_t *spatial, int16_t *temporal)
av_cold
#define av_cold
Definition: attributes.h:90
ff_hqdn3d_init_x86
av_cold void ff_hqdn3d_init_x86(HQDN3DContext *hqdn3d)
Definition: vf_hqdn3d_init.c:41
attributes.h
ff_hqdn3d_row_9_x86
void ff_hqdn3d_row_9_x86(uint8_t *src, uint8_t *dst, uint16_t *line_ant, uint16_t *frame_ant, ptrdiff_t w, int16_t *spatial, int16_t *temporal)
HQDN3DContext
Definition: vf_hqdn3d.h:31
src
INIT_CLIP pixel * src
Definition: h264pred_template.c:418
ff_hqdn3d_row_10_x86
void ff_hqdn3d_row_10_x86(uint8_t *src, uint8_t *dst, uint16_t *line_ant, uint16_t *frame_ant, ptrdiff_t w, int16_t *spatial, int16_t *temporal)
HQDN3DContext::denoise_row
void(* denoise_row[17])(uint8_t *src, uint8_t *dst, uint16_t *line_ant, uint16_t *frame_ant, ptrdiff_t w, int16_t *spatial, int16_t *temporal)
Definition: vf_hqdn3d.h:39