Revision 2e63619f

View differences:

libavcodec/alpha/dsputil_alpha.c
20 20
 */
21 21

  
22 22
#include "libavcodec/dsputil.h"
23
#include "dsputil_alpha.h"
23 24
#include "asm.h"
24 25

  
25
void ff_simple_idct_axp(DCTELEM *block);
26
void ff_simple_idct_put_axp(uint8_t *dest, int line_size, DCTELEM *block);
27
void ff_simple_idct_add_axp(uint8_t *dest, int line_size, DCTELEM *block);
28

  
29
void put_pixels_axp_asm(uint8_t *block, const uint8_t *pixels,
30
                        int line_size, int h);
31
void put_pixels_clamped_mvi_asm(const DCTELEM *block, uint8_t *pixels,
32
                                int line_size);
33
void add_pixels_clamped_mvi_asm(const DCTELEM *block, uint8_t *pixels,
34
                                int line_size);
35 26
void (*put_pixels_clamped_axp_p)(const DCTELEM *block, uint8_t *pixels,
36 27
                                 int line_size);
37 28
void (*add_pixels_clamped_axp_p)(const DCTELEM *block, uint8_t *pixels,
38 29
                                 int line_size);
39 30

  
40
void get_pixels_mvi(DCTELEM *restrict block,
41
                    const uint8_t *restrict pixels, int line_size);
42
void diff_pixels_mvi(DCTELEM *block, const uint8_t *s1, const uint8_t *s2,
43
                     int stride);
44
int pix_abs8x8_mvi(void *v, uint8_t *pix1, uint8_t *pix2, int line_size, int h);
45
int pix_abs16x16_mvi_asm(void *v, uint8_t *pix1, uint8_t *pix2, int line_size, int h);
46
int pix_abs16x16_x2_mvi(void *v, uint8_t *pix1, uint8_t *pix2, int line_size, int h);
47
int pix_abs16x16_y2_mvi(void *v, uint8_t *pix1, uint8_t *pix2, int line_size, int h);
48
int pix_abs16x16_xy2_mvi(void *v, uint8_t *pix1, uint8_t *pix2, int line_size, int h);
49

  
50 31
#if 0
51 32
/* These functions were the base for the optimized assembler routines,
52 33
   and remain here for documentation purposes.  */
......
280 261
#define STORE(l, b) stq(AVG2(l, ldq(b)), b);
281 262
PIXOP(avg_no_rnd, STORE);
282 263

  
283
void put_pixels16_axp_asm(uint8_t *block, const uint8_t *pixels,
284
                          int line_size, int h)
264
static void put_pixels16_axp_asm(uint8_t *block, const uint8_t *pixels,
265
                                 int line_size, int h)
285 266
{
286 267
    put_pixels_axp_asm(block,     pixels,     line_size, h);
287 268
    put_pixels_axp_asm(block + 8, pixels + 8, line_size, h);
libavcodec/alpha/dsputil_alpha.h
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 AVCODEC_ALPHA_DSPUTIL_ALPHA_H
20
#define AVCODEC_ALPHA_DSPUTIL_ALPHA_H
21

  
22
#include "libavcodec/dsputil.h"
23

  
24
void ff_simple_idct_axp(DCTELEM *block);
25
void ff_simple_idct_put_axp(uint8_t *dest, int line_size, DCTELEM *block);
26
void ff_simple_idct_add_axp(uint8_t *dest, int line_size, DCTELEM *block);
27

  
28
void put_pixels_axp_asm(uint8_t *block, const uint8_t *pixels,
29
                        int line_size, int h);
30
void put_pixels_clamped_mvi_asm(const DCTELEM *block, uint8_t *pixels,
31
                                int line_size);
32
void add_pixels_clamped_mvi_asm(const DCTELEM *block, uint8_t *pixels,
33
                                int line_size);
34
extern void (*put_pixels_clamped_axp_p)(const DCTELEM *block, uint8_t *pixels,
35
                                        int line_size);
36
extern void (*add_pixels_clamped_axp_p)(const DCTELEM *block, uint8_t *pixels,
37
                                        int line_size);
38

  
39
void get_pixels_mvi(DCTELEM *restrict block,
40
                    const uint8_t *restrict pixels, int line_size);
41
void diff_pixels_mvi(DCTELEM *block, const uint8_t *s1, const uint8_t *s2,
42
                     int stride);
43
int pix_abs8x8_mvi(void *v, uint8_t *pix1, uint8_t *pix2, int line_size, int h);
44
int pix_abs16x16_mvi_asm(void *v, uint8_t *pix1, uint8_t *pix2, int line_size, int h);
45
int pix_abs16x16_x2_mvi(void *v, uint8_t *pix1, uint8_t *pix2, int line_size, int h);
46
int pix_abs16x16_y2_mvi(void *v, uint8_t *pix1, uint8_t *pix2, int line_size, int h);
47
int pix_abs16x16_xy2_mvi(void *v, uint8_t *pix1, uint8_t *pix2, int line_size, int h);
48

  
49

  
50
#endif /* AVCODEC_ALPHA_DSPUTIL_ALPHA_H */
libavcodec/alpha/motion_est_alpha.c
20 20
 */
21 21

  
22 22
#include "libavcodec/dsputil.h"
23
#include "dsputil_alpha.h"
23 24
#include "asm.h"
24 25

  
25 26
void get_pixels_mvi(DCTELEM *restrict block,
libavcodec/alpha/simple_idct_alpha.c
27 27
 */
28 28

  
29 29
#include "libavcodec/dsputil.h"
30
#include "dsputil_alpha.h"
30 31
#include "asm.h"
31 32

  
32
extern void (*put_pixels_clamped_axp_p)(const DCTELEM *block, uint8_t *pixels,
33
                                        int line_size);
34
extern void (*add_pixels_clamped_axp_p)(const DCTELEM *block, uint8_t *pixels,
35
                                        int line_size);
36

  
37 33
// cos(i * M_PI / 16) * sqrt(2) * (1 << 14)
38 34
// W4 is actually exactly 16384, but using 16383 works around
39 35
// accumulating rounding errors for some encoders

Also available in: Unified diff