It does not help as an abstraction and adds dsputil dependencies.
Showing the changes to libavcodec/alpha (6 of 163 files). Show all
Unified · Split
| @@ -23,15 +23,15 @@ · 22 unmodified lines | |||
| 23 | #include "dsputil_alpha.h" | 23 | #include "dsputil_alpha.h" |
| 24 | #include "asm.h" | 24 | #include "asm.h" |
| 25 | 25 | ||
| 26 | void (*put_pixels_clamped_axp_p)(const DCTELEM *block, uint8_t *pixels, | 26 | void (*put_pixels_clamped_axp_p)(const int16_t *block, uint8_t *pixels, |
| 27 | int line_size); | 27 | int line_size); |
| 28 | void (*add_pixels_clamped_axp_p)(const DCTELEM *block, uint8_t *pixels, | 28 | void (*add_pixels_clamped_axp_p)(const int16_t *block, uint8_t *pixels, |
| 29 | int line_size); | 29 | int line_size); |
| 30 | 30 | ||
| 31 | #if 0 | 31 | #if 0 |
| 32 | /* These functions were the base for the optimized assembler routines, | 32 | /* These functions were the base for the optimized assembler routines, |
| 33 | and remain here for documentation purposes. */ | 33 | and remain here for documentation purposes. */ |
| 34 | static void put_pixels_clamped_mvi(const DCTELEM *block, uint8_t *pixels, | 34 | static void put_pixels_clamped_mvi(const int16_t *block, uint8_t *pixels, |
| 35 | int line_size) | 35 | int line_size) |
| 36 | { | 36 | { |
| 37 | int i = 8; | 37 | int i = 8; |
| @@ -55,7 +55,7 @@ static void put_pixels_clamped_mvi(const DCTELEM *block, uint8_t *pixels, · 17 unmodified lines | |||
| 55 | } while (--i); | 55 | } while (--i); |
| 56 | } | 56 | } |
| 57 | 57 | ||
| 58 | void add_pixels_clamped_mvi(const DCTELEM *block, uint8_t *pixels, | 58 | void add_pixels_clamped_mvi(const int16_t *block, uint8_t *pixels, |
| 59 | int line_size) | 59 | int line_size) |
| 60 | { | 60 | { |
| 61 | int h = 8; | 61 | int h = 8; |
| @@ -100,9 +100,9 @@ void add_pixels_clamped_mvi(const DCTELEM *block, uint8_t *pixels, · 38 unmodified lines | |||
| 100 | } | 100 | } |
| 101 | #endif | 101 | #endif |
| 102 | 102 | ||
| 103 | static void clear_blocks_axp(DCTELEM *blocks) { | 103 | static void clear_blocks_axp(int16_t *blocks) { |
| 104 | uint64_t *p = (uint64_t *) blocks; | 104 | uint64_t *p = (uint64_t *) blocks; |
| 105 | int n = sizeof(DCTELEM) * 6 * 64; | 105 | int n = sizeof(int16_t) * 6 * 64; |
| 106 | 106 | ||
| 107 | do { | 107 | do { |
| 108 | p[0] = 0; | 108 | p[0] = 0; |
| @@ -19,26 +19,26 @@ · 18 unmodified lines | |||
| 19 | #ifndef AVCODEC_ALPHA_DSPUTIL_ALPHA_H | 19 | #ifndef AVCODEC_ALPHA_DSPUTIL_ALPHA_H |
| 20 | #define AVCODEC_ALPHA_DSPUTIL_ALPHA_H | 20 | #define AVCODEC_ALPHA_DSPUTIL_ALPHA_H |
| 21 | 21 | ||
| 22 | #include "libavcodec/dsputil.h" | 22 | #include <stdint.h> |
| 23 | 23 | ||
| 24 | void ff_simple_idct_axp(DCTELEM *block); | 24 | void ff_simple_idct_axp(int16_t *block); |
| 25 | void ff_simple_idct_put_axp(uint8_t *dest, int line_size, DCTELEM *block); | 25 | void ff_simple_idct_put_axp(uint8_t *dest, int line_size, int16_t *block); |
| 26 | void ff_simple_idct_add_axp(uint8_t *dest, int line_size, DCTELEM *block); | 26 | void ff_simple_idct_add_axp(uint8_t *dest, int line_size, int16_t *block); |
| 27 | 27 | ||
| 28 | void put_pixels_axp_asm(uint8_t *block, const uint8_t *pixels, | 28 | void put_pixels_axp_asm(uint8_t *block, const uint8_t *pixels, |
| 29 | int line_size, int h); | 29 | int line_size, int h); |
| 30 | void put_pixels_clamped_mvi_asm(const DCTELEM *block, uint8_t *pixels, | 30 | void put_pixels_clamped_mvi_asm(const int16_t *block, uint8_t *pixels, |
| 31 | int line_size); | 31 | int line_size); |
| 32 | void add_pixels_clamped_mvi_asm(const DCTELEM *block, uint8_t *pixels, | 32 | void add_pixels_clamped_mvi_asm(const int16_t *block, uint8_t *pixels, |
| 33 | int line_size); | 33 | int line_size); |
| 34 | extern void (*put_pixels_clamped_axp_p)(const DCTELEM *block, uint8_t *pixels, | 34 | extern void (*put_pixels_clamped_axp_p)(const int16_t *block, uint8_t *pixels, |
| 35 | int line_size); | 35 | int line_size); |
| 36 | extern void (*add_pixels_clamped_axp_p)(const DCTELEM *block, uint8_t *pixels, | 36 | extern void (*add_pixels_clamped_axp_p)(const int16_t *block, uint8_t *pixels, |
| 37 | int line_size); | 37 | int line_size); |
| 38 | 38 | ||
| 39 | void get_pixels_mvi(DCTELEM *restrict block, | 39 | void get_pixels_mvi(int16_t *restrict block, |
| 40 | const uint8_t *restrict pixels, int line_size); | 40 | const uint8_t *restrict pixels, int line_size); |
| 41 | void diff_pixels_mvi(DCTELEM *block, const uint8_t *s1, const uint8_t *s2, | 41 | void diff_pixels_mvi(int16_t *block, const uint8_t *s1, const uint8_t *s2, |
| 42 | int stride); | 42 | int stride); |
| 43 | int pix_abs8x8_mvi(void *v, uint8_t *pix1, uint8_t *pix2, int line_size, int h); | 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); | 44 | int pix_abs16x16_mvi_asm(void *v, uint8_t *pix1, uint8_t *pix2, int line_size, int h); |
| @@ -135,7 +135,7 @@ $aligned: · 134 unmodified lines | |||
| 135 | .end put_pixels_axp_asm | 135 | .end put_pixels_axp_asm |
| 136 | 136 | ||
| 137 | /************************************************************************ | 137 | /************************************************************************ |
| 138 | * void put_pixels_clamped_mvi_asm(const DCTELEM *block, uint8_t *pixels, | 138 | * void put_pixels_clamped_mvi_asm(const int16_t *block, uint8_t *pixels, |
| 139 | * int line_size) | 139 | * int line_size) |
| 140 | */ | 140 | */ |
| 141 | .align 6 | 141 | .align 6 |
| @@ -185,7 +185,7 @@ put_pixels_clamped_mvi_asm: · 43 unmodified lines | |||
| 185 | .end put_pixels_clamped_mvi_asm | 185 | .end put_pixels_clamped_mvi_asm |
| 186 | 186 | ||
| 187 | /************************************************************************ | 187 | /************************************************************************ |
| 188 | * void add_pixels_clamped_mvi_asm(const DCTELEM *block, uint8_t *pixels, | 188 | * void add_pixels_clamped_mvi_asm(const int16_t *block, uint8_t *pixels, |
| 189 | * int line_size) | 189 | * int line_size) |
| 190 | */ | 190 | */ |
| 191 | .align 6 | 191 | .align 6 |
| @@ -23,7 +23,7 @@ · 22 unmodified lines | |||
| 23 | #include "dsputil_alpha.h" | 23 | #include "dsputil_alpha.h" |
| 24 | #include "asm.h" | 24 | #include "asm.h" |
| 25 | 25 | ||
| 26 | void get_pixels_mvi(DCTELEM *restrict block, | 26 | void get_pixels_mvi(int16_t *restrict block, |
| 27 | const uint8_t *restrict pixels, int line_size) | 27 | const uint8_t *restrict pixels, int line_size) |
| 28 | { | 28 | { |
| 29 | int h = 8; | 29 | int h = 8; |
| @@ -40,7 +40,7 @@ void get_pixels_mvi(DCTELEM *restrict block, · 10 unmodified lines | |||
| 40 | } while (--h); | 40 | } while (--h); |
| 41 | } | 41 | } |
| 42 | 42 | ||
| 43 | void diff_pixels_mvi(DCTELEM *block, const uint8_t *s1, const uint8_t *s2, | 43 | void diff_pixels_mvi(int16_t *block, const uint8_t *s1, const uint8_t *s2, |
| 44 | int stride) { | 44 | int stride) { |
| 45 | int h = 8; | 45 | int h = 8; |
| 46 | uint64_t mask = 0x4040; | 46 | uint64_t mask = 0x4040; |
| @@ -23,7 +23,7 @@ · 22 unmodified lines | |||
| 23 | #include "libavcodec/mpegvideo.h" | 23 | #include "libavcodec/mpegvideo.h" |
| 24 | #include "asm.h" | 24 | #include "asm.h" |
| 25 | 25 | ||
| 26 | static void dct_unquantize_h263_axp(DCTELEM *block, int n_coeffs, | 26 | static void dct_unquantize_h263_axp(int16_t *block, int n_coeffs, |
| 27 | uint64_t qscale, uint64_t qadd) | 27 | uint64_t qscale, uint64_t qadd) |
| 28 | { | 28 | { |
| 29 | uint64_t qmul = qscale << 1; | 29 | uint64_t qmul = qscale << 1; |
| @@ -69,12 +69,12 @@ static void dct_unquantize_h263_axp(DCTELEM *block, int n_coeffs, · 39 unmodified lines | |||
| 69 | } | 69 | } |
| 70 | } | 70 | } |
| 71 | 71 | ||
| 72 | static void dct_unquantize_h263_intra_axp(MpegEncContext *s, DCTELEM *block, | 72 | static void dct_unquantize_h263_intra_axp(MpegEncContext *s, int16_t *block, |
| 73 | int n, int qscale) | 73 | int n, int qscale) |
| 74 | { | 74 | { |
| 75 | int n_coeffs; | 75 | int n_coeffs; |
| 76 | uint64_t qadd; | 76 | uint64_t qadd; |
| 77 | DCTELEM block0 = block[0]; | 77 | int16_t block0 = block[0]; |
| 78 | 78 | ||
| 79 | if (!s->h263_aic) { | 79 | if (!s->h263_aic) { |
| 80 | if (n < 4) | 80 | if (n < 4) |
| @@ -96,7 +96,7 @@ static void dct_unquantize_h263_intra_axp(MpegEncContext *s, DCTELEM *block, · 15 unmodified lines | |||
| 96 | block[0] = block0; | 96 | block[0] = block0; |
| 97 | } | 97 | } |
| 98 | 98 | ||
| 99 | static void dct_unquantize_h263_inter_axp(MpegEncContext *s, DCTELEM *block, | 99 | static void dct_unquantize_h263_inter_axp(MpegEncContext *s, int16_t *block, |
| 100 | int n, int qscale) | 100 | int n, int qscale) |
| 101 | { | 101 | { |
| 102 | int n_coeffs = s->inter_scantable.raster_end[s->block_last_index[n]]; | 102 | int n_coeffs = s->inter_scantable.raster_end[s->block_last_index[n]]; |
| @@ -44,7 +44,7 @@ · 43 unmodified lines | |||
| 44 | #define COL_SHIFT 20 | 44 | #define COL_SHIFT 20 |
| 45 | 45 | ||
| 46 | /* 0: all entries 0, 1: only first entry nonzero, 2: otherwise */ | 46 | /* 0: all entries 0, 1: only first entry nonzero, 2: otherwise */ |
| 47 | static inline int idct_row(DCTELEM *row) | 47 | static inline int idct_row(int16_t *row) |
| 48 | { | 48 | { |
| 49 | int a0, a1, a2, a3, b0, b1, b2, b3, t; | 49 | int a0, a1, a2, a3, b0, b1, b2, b3, t; |
| 50 | uint64_t l, r, t2; | 50 | uint64_t l, r, t2; |
| @@ -152,7 +152,7 @@ static inline int idct_row(DCTELEM *row) · 101 unmodified lines | |||
| 152 | return 2; | 152 | return 2; |
| 153 | } | 153 | } |
| 154 | 154 | ||
| 155 | static inline void idct_col(DCTELEM *col) | 155 | static inline void idct_col(int16_t *col) |
| 156 | { | 156 | { |
| 157 | int a0, a1, a2, a3, b0, b1, b2, b3; | 157 | int a0, a1, a2, a3, b0, b1, b2, b3; |
| 158 | 158 | ||
| @@ -229,7 +229,7 @@ static inline void idct_col(DCTELEM *col) · 70 unmodified lines | |||
| 229 | 229 | ||
| 230 | /* If all rows but the first one are zero after row transformation, | 230 | /* If all rows but the first one are zero after row transformation, |
| 231 | all rows will be identical after column transformation. */ | 231 | all rows will be identical after column transformation. */ |
| 232 | static inline void idct_col2(DCTELEM *col) | 232 | static inline void idct_col2(int16_t *col) |
| 233 | { | 233 | { |
| 234 | int i; | 234 | int i; |
| 235 | uint64_t l, r; | 235 | uint64_t l, r; |
| @@ -251,7 +251,7 @@ static inline void idct_col2(DCTELEM *col) · 15 unmodified lines | |||
| 251 | stq(l, col + 14 * 4); stq(r, col + 15 * 4); | 251 | stq(l, col + 14 * 4); stq(r, col + 15 * 4); |
| 252 | } | 252 | } |
| 253 | 253 | ||
| 254 | void ff_simple_idct_axp(DCTELEM *block) | 254 | void ff_simple_idct_axp(int16_t *block) |
| 255 | { | 255 | { |
| 256 | 256 | ||
| 257 | int i; | 257 | int i; |
| @@ -291,13 +291,13 @@ void ff_simple_idct_axp(DCTELEM *block) · 33 unmodified lines | |||
| 291 | } | 291 | } |
| 292 | } | 292 | } |
| 293 | 293 | ||
| 294 | void ff_simple_idct_put_axp(uint8_t *dest, int line_size, DCTELEM *block) | 294 | void ff_simple_idct_put_axp(uint8_t *dest, int line_size, int16_t *block) |
| 295 | { | 295 | { |
| 296 | ff_simple_idct_axp(block); | 296 | ff_simple_idct_axp(block); |
| 297 | put_pixels_clamped_axp_p(block, dest, line_size); | 297 | put_pixels_clamped_axp_p(block, dest, line_size); |
| 298 | } | 298 | } |
| 299 | 299 | ||
| 300 | void ff_simple_idct_add_axp(uint8_t *dest, int line_size, DCTELEM *block) | 300 | void ff_simple_idct_add_axp(uint8_t *dest, int line_size, int16_t *block) |
| 301 | { | 301 | { |
| 302 | ff_simple_idct_axp(block); | 302 | ff_simple_idct_axp(block); |
| 303 | add_pixels_clamped_axp_p(block, dest, line_size); | 303 | add_pixels_clamped_axp_p(block, dest, line_size); |