Merge commit '2ec9fa5ec60dcd10e1cb10d8b4e4437e634ea428'

* commit '2ec9fa5ec60dcd10e1cb10d8b4e4437e634ea428':
  idct: Change type of array stride parameters to ptrdiff_t

Merged-by: James Almer <jamrial@gmail.com>
This commit is contained in:
James Almer 2017-03-21 14:29:52 -03:00
commit 5a49097b42
40 changed files with 179 additions and 160 deletions

View File

@ -142,7 +142,7 @@ Alignment:
Some instructions on some architectures have strict alignment restrictions, Some instructions on some architectures have strict alignment restrictions,
for example most SSE/SSE2 instructions on x86. for example most SSE/SSE2 instructions on x86.
The minimum guaranteed alignment is written in the .h files, for example: The minimum guaranteed alignment is written in the .h files, for example:
void (*put_pixels_clamped)(const int16_t *block/*align 16*/, UINT8 *pixels/*align 8*/, int line_size); void (*put_pixels_clamped)(const int16_t *block/*align 16*/, uint8_t *pixels/*align 8*/, ptrdiff_t stride);
General Tips: General Tips:

View File

@ -22,7 +22,7 @@
#include <stdint.h> #include <stdint.h>
void ff_simple_idct_neon(int16_t *data); void ff_simple_idct_neon(int16_t *data);
void ff_simple_idct_put_neon(uint8_t *dest, int line_size, int16_t *data); void ff_simple_idct_put_neon(uint8_t *dest, ptrdiff_t line_size, int16_t *data);
void ff_simple_idct_add_neon(uint8_t *dest, int line_size, int16_t *data); void ff_simple_idct_add_neon(uint8_t *dest, ptrdiff_t line_size, int16_t *data);
#endif /* AVCODEC_AARCH64_IDCT_H */ #endif /* AVCODEC_AARCH64_IDCT_H */

View File

@ -28,7 +28,7 @@ extern void (*add_pixels_clamped_axp_p)(const int16_t *block, uint8_t *pixels,
ptrdiff_t line_size); ptrdiff_t line_size);
void ff_simple_idct_axp(int16_t *block); void ff_simple_idct_axp(int16_t *block);
void ff_simple_idct_put_axp(uint8_t *dest, int line_size, int16_t *block); void ff_simple_idct_put_axp(uint8_t *dest, ptrdiff_t line_size, int16_t *block);
void ff_simple_idct_add_axp(uint8_t *dest, int line_size, int16_t *block); void ff_simple_idct_add_axp(uint8_t *dest, ptrdiff_t line_size, int16_t *block);
#endif /* AVCODEC_ALPHA_IDCTDSP_ALPHA_H */ #endif /* AVCODEC_ALPHA_IDCTDSP_ALPHA_H */

View File

@ -290,13 +290,13 @@ void ff_simple_idct_axp(int16_t *block)
} }
} }
void ff_simple_idct_put_axp(uint8_t *dest, int line_size, int16_t *block) void ff_simple_idct_put_axp(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
{ {
ff_simple_idct_axp(block); ff_simple_idct_axp(block);
put_pixels_clamped_axp_p(block, dest, line_size); put_pixels_clamped_axp_p(block, dest, line_size);
} }
void ff_simple_idct_add_axp(uint8_t *dest, int line_size, int16_t *block) void ff_simple_idct_add_axp(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
{ {
ff_simple_idct_axp(block); ff_simple_idct_axp(block);
add_pixels_clamped_axp_p(block, dest, line_size); add_pixels_clamped_axp_p(block, dest, line_size);

View File

@ -19,6 +19,7 @@
#ifndef AVCODEC_ARM_IDCT_H #ifndef AVCODEC_ARM_IDCT_H
#define AVCODEC_ARM_IDCT_H #define AVCODEC_ARM_IDCT_H
#include <stddef.h>
#include <stdint.h> #include <stdint.h>
void ff_j_rev_dct_arm(int16_t *data); void ff_j_rev_dct_arm(int16_t *data);
@ -26,15 +27,15 @@ void ff_j_rev_dct_arm(int16_t *data);
void ff_simple_idct_arm(int16_t *data); void ff_simple_idct_arm(int16_t *data);
void ff_simple_idct_armv5te(int16_t *data); void ff_simple_idct_armv5te(int16_t *data);
void ff_simple_idct_put_armv5te(uint8_t *dest, int line_size, int16_t *data); void ff_simple_idct_put_armv5te(uint8_t *dest, ptrdiff_t line_size, int16_t *data);
void ff_simple_idct_add_armv5te(uint8_t *dest, int line_size, int16_t *data); void ff_simple_idct_add_armv5te(uint8_t *dest, ptrdiff_t line_size, int16_t *data);
void ff_simple_idct_armv6(int16_t *data); void ff_simple_idct_armv6(int16_t *data);
void ff_simple_idct_put_armv6(uint8_t *dest, int line_size, int16_t *data); void ff_simple_idct_put_armv6(uint8_t *dest, ptrdiff_t line_size, int16_t *data);
void ff_simple_idct_add_armv6(uint8_t *dest, int line_size, int16_t *data); void ff_simple_idct_add_armv6(uint8_t *dest, ptrdiff_t line_size, int16_t *data);
void ff_simple_idct_neon(int16_t *data); void ff_simple_idct_neon(int16_t *data);
void ff_simple_idct_put_neon(uint8_t *dest, int line_size, int16_t *data); void ff_simple_idct_put_neon(uint8_t *dest, ptrdiff_t line_size, int16_t *data);
void ff_simple_idct_add_neon(uint8_t *dest, int line_size, int16_t *data); void ff_simple_idct_add_neon(uint8_t *dest, ptrdiff_t line_size, int16_t *data);
#endif /* AVCODEC_ARM_IDCT_H */ #endif /* AVCODEC_ARM_IDCT_H */

View File

@ -19,6 +19,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/ */
#include <stddef.h>
#include <stdint.h> #include <stdint.h>
#include "libavutil/attributes.h" #include "libavutil/attributes.h"
@ -34,25 +35,29 @@ void ff_add_pixels_clamped_arm(const int16_t *block, uint8_t *dest,
/* XXX: those functions should be suppressed ASAP when all IDCTs are /* XXX: those functions should be suppressed ASAP when all IDCTs are
* converted */ * converted */
static void j_rev_dct_arm_put(uint8_t *dest, int line_size, int16_t *block) static void j_rev_dct_arm_put(uint8_t *dest, ptrdiff_t line_size,
int16_t *block)
{ {
ff_j_rev_dct_arm(block); ff_j_rev_dct_arm(block);
ff_put_pixels_clamped(block, dest, line_size); ff_put_pixels_clamped(block, dest, line_size);
} }
static void j_rev_dct_arm_add(uint8_t *dest, int line_size, int16_t *block) static void j_rev_dct_arm_add(uint8_t *dest, ptrdiff_t line_size,
int16_t *block)
{ {
ff_j_rev_dct_arm(block); ff_j_rev_dct_arm(block);
ff_add_pixels_clamped(block, dest, line_size); ff_add_pixels_clamped(block, dest, line_size);
} }
static void simple_idct_arm_put(uint8_t *dest, int line_size, int16_t *block) static void simple_idct_arm_put(uint8_t *dest, ptrdiff_t line_size,
int16_t *block)
{ {
ff_simple_idct_arm(block); ff_simple_idct_arm(block);
ff_put_pixels_clamped(block, dest, line_size); ff_put_pixels_clamped(block, dest, line_size);
} }
static void simple_idct_arm_add(uint8_t *dest, int line_size, int16_t *block) static void simple_idct_arm_add(uint8_t *dest, ptrdiff_t line_size,
int16_t *block)
{ {
ff_simple_idct_arm(block); ff_simple_idct_arm(block);
ff_add_pixels_clamped(block, dest, line_size); ff_add_pixels_clamped(block, dest, line_size);

View File

@ -390,7 +390,7 @@ function ff_simple_idct_armv6, export=1
pop {r4-r11, pc} pop {r4-r11, pc}
endfunc endfunc
/* ff_simple_idct_add_armv6(uint8_t *dest, int line_size, int16_t *data); */ /* ff_simple_idct_add_armv6(uint8_t *dest, ptrdiff_t line_size, int16_t *data); */
function ff_simple_idct_add_armv6, export=1 function ff_simple_idct_add_armv6, export=1
push {r0, r1, r4-r11, lr} push {r0, r1, r4-r11, lr}
sub sp, sp, #128 sub sp, sp, #128
@ -407,7 +407,7 @@ function ff_simple_idct_add_armv6, export=1
pop {r4-r11, pc} pop {r4-r11, pc}
endfunc endfunc
/* ff_simple_idct_put_armv6(uint8_t *dest, int line_size, int16_t *data); */ /* ff_simple_idct_put_armv6(uint8_t *dest, ptrdiff_t line_size, int16_t *data); */
function ff_simple_idct_put_armv6, export=1 function ff_simple_idct_put_armv6, export=1
push {r0, r1, r4-r11, lr} push {r0, r1, r4-r11, lr}
sub sp, sp, #128 sub sp, sp, #128

View File

@ -261,7 +261,7 @@ endconst
pop {r4-r7, pc} pop {r4-r7, pc}
.endm .endm
/* void ff_simple_idct_put_neon(uint8_t *dst, int line_size, int16_t *data); */ /* void ff_simple_idct_put_neon(uint8_t *dst, ptrdiff_t line_size, int16_t *data); */
function ff_simple_idct_put_neon, export=1 function ff_simple_idct_put_neon, export=1
idct_start r2 idct_start r2
@ -316,7 +316,7 @@ function idct_col4_add8_neon
bx lr bx lr
endfunc endfunc
/* void ff_simple_idct_add_neon(uint8_t *dst, int line_size, int16_t *data); */ /* void ff_simple_idct_add_neon(uint8_t *dst, ptrdiff_t line_size, int16_t *data); */
function ff_simple_idct_add_neon, export=1 function ff_simple_idct_add_neon, export=1
idct_start r2 idct_start r2

View File

@ -25,14 +25,14 @@
#include "config.h" #include "config.h"
void ff_vc1_inv_trans_8x8_neon(int16_t *block); void ff_vc1_inv_trans_8x8_neon(int16_t *block);
void ff_vc1_inv_trans_4x8_neon(uint8_t *dest, int linesize, int16_t *block); void ff_vc1_inv_trans_4x8_neon(uint8_t *dest, ptrdiff_t stride, int16_t *block);
void ff_vc1_inv_trans_8x4_neon(uint8_t *dest, int linesize, int16_t *block); void ff_vc1_inv_trans_8x4_neon(uint8_t *dest, ptrdiff_t stride, int16_t *block);
void ff_vc1_inv_trans_4x4_neon(uint8_t *dest, int linesize, int16_t *block); void ff_vc1_inv_trans_4x4_neon(uint8_t *dest, ptrdiff_t stride, int16_t *block);
void ff_vc1_inv_trans_8x8_dc_neon(uint8_t *dest, int linesize, int16_t *block); void ff_vc1_inv_trans_8x8_dc_neon(uint8_t *dest, ptrdiff_t stride, int16_t *block);
void ff_vc1_inv_trans_4x8_dc_neon(uint8_t *dest, int linesize, int16_t *block); void ff_vc1_inv_trans_4x8_dc_neon(uint8_t *dest, ptrdiff_t stride, int16_t *block);
void ff_vc1_inv_trans_8x4_dc_neon(uint8_t *dest, int linesize, int16_t *block); void ff_vc1_inv_trans_8x4_dc_neon(uint8_t *dest, ptrdiff_t stride, int16_t *block);
void ff_vc1_inv_trans_4x4_dc_neon(uint8_t *dest, int linesize, int16_t *block); void ff_vc1_inv_trans_4x4_dc_neon(uint8_t *dest, ptrdiff_t stride, int16_t *block);
void ff_put_pixels8x8_neon(uint8_t *block, const uint8_t *pixels, void ff_put_pixels8x8_neon(uint8_t *block, const uint8_t *pixels,
ptrdiff_t line_size, int rnd); ptrdiff_t line_size, int rnd);

View File

@ -426,7 +426,7 @@ function ff_vc1_inv_trans_8x8_neon, export=1
bx lr bx lr
endfunc endfunc
@ (uint8_t *dest [r0], int linesize [r1], int16_t *block [r2]) @ (uint8_t *dest [r0], ptrdiff_t stride [r1], int16_t *block [r2])
function ff_vc1_inv_trans_8x4_neon, export=1 function ff_vc1_inv_trans_8x4_neon, export=1
vld1.64 {q0-q1}, [r2,:128]! @ load 8 * 4 * 2 = 64 bytes / 16 bytes per quad = 4 quad registers vld1.64 {q0-q1}, [r2,:128]! @ load 8 * 4 * 2 = 64 bytes / 16 bytes per quad = 4 quad registers
vld1.64 {q2-q3}, [r2,:128] vld1.64 {q2-q3}, [r2,:128]
@ -511,7 +511,7 @@ function ff_vc1_inv_trans_8x4_neon, export=1
bx lr bx lr
endfunc endfunc
@ (uint8_t *dest [r0], int linesize [r1], int16_t *block [r2]) @ (uint8_t *dest [r0], ptrdiff_t stride [r1], int16_t *block [r2])
function ff_vc1_inv_trans_4x8_neon, export=1 function ff_vc1_inv_trans_4x8_neon, export=1
mov r12, #(8 * 2) @ 8 elements per line, each element 2 bytes mov r12, #(8 * 2) @ 8 elements per line, each element 2 bytes
vld4.16 {d0[], d2[], d4[], d6[]}, [r2,:64], r12 @ read each column into a q register vld4.16 {d0[], d2[], d4[], d6[]}, [r2,:64], r12 @ read each column into a q register
@ -593,7 +593,7 @@ endfunc
vshr.s16 q1, q1, #\rshift @ dst[3,1] >>= rshift vshr.s16 q1, q1, #\rshift @ dst[3,1] >>= rshift
.endm .endm
@ (uint8_t *dest [r0], int linesize [r1], int16_t *block [r2]) @ (uint8_t *dest [r0], ptrdiff_t stride [r1], int16_t *block [r2])
function ff_vc1_inv_trans_4x4_neon, export=1 function ff_vc1_inv_trans_4x4_neon, export=1
mov r12, #(8 * 2) @ 8 elements per line, each element 2 bytes mov r12, #(8 * 2) @ 8 elements per line, each element 2 bytes
vld4.16 {d0[], d1[], d2[], d3[]}, [r2,:64], r12 @ read each column into a register vld4.16 {d0[], d1[], d2[], d3[]}, [r2,:64], r12 @ read each column into a register

View File

@ -24,6 +24,7 @@
#if !defined(AVCODEC_DCT_H) && (!defined(FFT_FLOAT) || FFT_FLOAT) #if !defined(AVCODEC_DCT_H) && (!defined(FFT_FLOAT) || FFT_FLOAT)
#define AVCODEC_DCT_H #define AVCODEC_DCT_H
#include <stddef.h>
#include <stdint.h> #include <stdint.h>
#include "rdft.h" #include "rdft.h"
@ -62,7 +63,7 @@ void ff_j_rev_dct(int16_t *data);
void ff_j_rev_dct4(int16_t *data); void ff_j_rev_dct4(int16_t *data);
void ff_j_rev_dct2(int16_t *data); void ff_j_rev_dct2(int16_t *data);
void ff_j_rev_dct1(int16_t *data); void ff_j_rev_dct1(int16_t *data);
void ff_jref_idct_put(uint8_t *dest, int line_size, int16_t *block); void ff_jref_idct_put(uint8_t *dest, ptrdiff_t line_size, int16_t *block);
void ff_jref_idct_add(uint8_t *dest, int line_size, int16_t *block); void ff_jref_idct_add(uint8_t *dest, ptrdiff_t line_size, int16_t *block);
#endif /* AVCODEC_DCT_H */ #endif /* AVCODEC_DCT_H */

View File

@ -47,7 +47,7 @@ typedef struct DVVideoContext {
void (*get_pixels)(int16_t *block, const uint8_t *pixels, ptrdiff_t linesize); void (*get_pixels)(int16_t *block, const uint8_t *pixels, ptrdiff_t linesize);
void (*fdct[2])(int16_t *block); void (*fdct[2])(int16_t *block);
void (*idct_put[2])(uint8_t *dest, int line_size, int16_t *block); void (*idct_put[2])(uint8_t *dest, ptrdiff_t stride, int16_t *block);
me_cmp_func ildct_cmp; me_cmp_func ildct_cmp;
DVwork_chunk work_chunks[4 * 12 * 27]; DVwork_chunk work_chunks[4 * 12 * 27];
uint32_t idct_factor[2 * 4 * 16 * 64]; uint32_t idct_factor[2 * 4 * 16 * 64];

View File

@ -54,7 +54,7 @@ typedef struct BlockInfo {
const uint32_t *factor_table; const uint32_t *factor_table;
const uint8_t *scan_table; const uint8_t *scan_table;
uint8_t pos; /* position in block */ uint8_t pos; /* position in block */
void (*idct_put)(uint8_t *dest, int line_size, int16_t *block); void (*idct_put)(uint8_t *dest, ptrdiff_t stride, int16_t *block);
uint8_t partial_bit_count; uint8_t partial_bit_count;
uint32_t partial_bit_buffer; uint32_t partial_bit_buffer;
int shift_offset; int shift_offset;

View File

@ -47,7 +47,9 @@ B6*B0/8, B6*B1/8, B6*B2/8, B6*B3/8, B6*B4/8, B6*B5/8, B6*B6/8, B6*B7/8,
B7*B0/8, B7*B1/8, B7*B2/8, B7*B3/8, B7*B4/8, B7*B5/8, B7*B6/8, B7*B7/8, B7*B0/8, B7*B1/8, B7*B2/8, B7*B3/8, B7*B4/8, B7*B5/8, B7*B6/8, B7*B7/8,
}; };
static inline void p8idct(int16_t data[64], FLOAT temp[64], uint8_t *dest, int stride, int x, int y, int type){ static inline void p8idct(int16_t data[64], FLOAT temp[64], uint8_t *dest,
ptrdiff_t stride, int x, int y, int type)
{
int i; int i;
FLOAT s04, d04, s17, d17, s26, d26, s53, d53; FLOAT s04, d04, s17, d17, s26, d26, s53, d53;
FLOAT os07, os16, os25, os34; FLOAT os07, os16, os25, os34;
@ -135,7 +137,8 @@ void ff_faanidct(int16_t block[64]){
p8idct(block, temp, NULL, 0, 8, 1, 1); p8idct(block, temp, NULL, 0, 8, 1, 1);
} }
void ff_faanidct_add(uint8_t *dest, int line_size, int16_t block[64]){ void ff_faanidct_add(uint8_t *dest, ptrdiff_t line_size, int16_t block[64])
{
FLOAT temp[64]; FLOAT temp[64];
int i; int i;
@ -148,7 +151,8 @@ void ff_faanidct_add(uint8_t *dest, int line_size, int16_t block[64]){
p8idct(NULL , temp, dest, line_size, 8, 1, 2); p8idct(NULL , temp, dest, line_size, 8, 1, 2);
} }
void ff_faanidct_put(uint8_t *dest, int line_size, int16_t block[64]){ void ff_faanidct_put(uint8_t *dest, ptrdiff_t line_size, int16_t block[64])
{
FLOAT temp[64]; FLOAT temp[64];
int i; int i;

View File

@ -22,10 +22,11 @@
#ifndef AVCODEC_FAANIDCT_H #ifndef AVCODEC_FAANIDCT_H
#define AVCODEC_FAANIDCT_H #define AVCODEC_FAANIDCT_H
#include <stddef.h>
#include <stdint.h> #include <stdint.h>
void ff_faanidct(int16_t block[64]); void ff_faanidct(int16_t block[64]);
void ff_faanidct_add(uint8_t *dest, int line_size, int16_t block[64]); void ff_faanidct_add(uint8_t *dest, ptrdiff_t line_size, int16_t block[64]);
void ff_faanidct_put(uint8_t *dest, int line_size, int16_t block[64]); void ff_faanidct_put(uint8_t *dest, ptrdiff_t line_size, int16_t block[64]);
#endif /* AVCODEC_FAANIDCT_H */ #endif /* AVCODEC_FAANIDCT_H */

View File

@ -207,33 +207,33 @@ static void add_pixels_clamped2_c(const int16_t *block, uint8_t *av_restrict pix
} }
} }
static void ff_jref_idct4_put(uint8_t *dest, int line_size, int16_t *block) static void ff_jref_idct4_put(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
{ {
ff_j_rev_dct4 (block); ff_j_rev_dct4 (block);
put_pixels_clamped4_c(block, dest, line_size); put_pixels_clamped4_c(block, dest, line_size);
} }
static void ff_jref_idct4_add(uint8_t *dest, int line_size, int16_t *block) static void ff_jref_idct4_add(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
{ {
ff_j_rev_dct4 (block); ff_j_rev_dct4 (block);
add_pixels_clamped4_c(block, dest, line_size); add_pixels_clamped4_c(block, dest, line_size);
} }
static void ff_jref_idct2_put(uint8_t *dest, int line_size, int16_t *block) static void ff_jref_idct2_put(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
{ {
ff_j_rev_dct2 (block); ff_j_rev_dct2 (block);
put_pixels_clamped2_c(block, dest, line_size); put_pixels_clamped2_c(block, dest, line_size);
} }
static void ff_jref_idct2_add(uint8_t *dest, int line_size, int16_t *block) static void ff_jref_idct2_add(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
{ {
ff_j_rev_dct2 (block); ff_j_rev_dct2 (block);
add_pixels_clamped2_c(block, dest, line_size); add_pixels_clamped2_c(block, dest, line_size);
} }
static void ff_jref_idct1_put(uint8_t *dest, int line_size, int16_t *block) static void ff_jref_idct1_put(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
{ {
dest[0] = av_clip_uint8((block[0] + 4)>>3); dest[0] = av_clip_uint8((block[0] + 4)>>3);
} }
static void ff_jref_idct1_add(uint8_t *dest, int line_size, int16_t *block) static void ff_jref_idct1_add(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
{ {
dest[0] = av_clip_uint8(dest[0] + ((block[0] + 4)>>3)); dest[0] = av_clip_uint8(dest[0] + ((block[0] + 4)>>3));
} }

View File

@ -68,14 +68,14 @@ typedef struct IDCTDSPContext {
* @param line_size size in bytes of a horizontal line of dest * @param line_size size in bytes of a horizontal line of dest
*/ */
void (*idct_put)(uint8_t *dest /* align 8 */, void (*idct_put)(uint8_t *dest /* align 8 */,
int line_size, int16_t *block /* align 16 */); ptrdiff_t line_size, int16_t *block /* align 16 */);
/** /**
* block -> idct -> add dest -> clip to unsigned 8 bit -> dest. * block -> idct -> add dest -> clip to unsigned 8 bit -> dest.
* @param line_size size in bytes of a horizontal line of dest * @param line_size size in bytes of a horizontal line of dest
*/ */
void (*idct_add)(uint8_t *dest /* align 8 */, void (*idct_add)(uint8_t *dest /* align 8 */,
int line_size, int16_t *block /* align 16 */); ptrdiff_t line_size, int16_t *block /* align 16 */);
/** /**
* IDCT input permutation. * IDCT input permutation.

View File

@ -1156,13 +1156,13 @@ void ff_j_rev_dct1(DCTBLOCK data){
#undef FIX #undef FIX
#undef CONST_BITS #undef CONST_BITS
void ff_jref_idct_put(uint8_t *dest, int line_size, int16_t *block) void ff_jref_idct_put(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
{ {
ff_j_rev_dct(block); ff_j_rev_dct(block);
ff_put_pixels_clamped(block, dest, line_size); ff_put_pixels_clamped(block, dest, line_size);
} }
void ff_jref_idct_add(uint8_t *dest, int line_size, int16_t *block) void ff_jref_idct_add(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
{ {
ff_j_rev_dct(block); ff_j_rev_dct(block);
ff_add_pixels_clamped(block, dest, line_size); ff_add_pixels_clamped(block, dest, line_size);

View File

@ -34,11 +34,11 @@ void ff_add_pixels_clamped_msa(const int16_t *block,
uint8_t *av_restrict pixels, uint8_t *av_restrict pixels,
ptrdiff_t line_size); ptrdiff_t line_size);
void ff_j_rev_dct_msa(int16_t *data); void ff_j_rev_dct_msa(int16_t *data);
void ff_jref_idct_put_msa(uint8_t *dest, int32_t stride, int16_t *block); void ff_jref_idct_put_msa(uint8_t *dest, ptrdiff_t stride, int16_t *block);
void ff_jref_idct_add_msa(uint8_t *dest, int32_t stride, int16_t *block); void ff_jref_idct_add_msa(uint8_t *dest, ptrdiff_t stride, int16_t *block);
void ff_simple_idct_msa(int16_t *block); void ff_simple_idct_msa(int16_t *block);
void ff_simple_idct_put_msa(uint8_t *dest, int32_t stride_dst, int16_t *block); void ff_simple_idct_put_msa(uint8_t *dest, ptrdiff_t stride_dst, int16_t *block);
void ff_simple_idct_add_msa(uint8_t *dest, int32_t stride_dst, int16_t *block); void ff_simple_idct_add_msa(uint8_t *dest, ptrdiff_t stride_dst, int16_t *block);
void ff_put_pixels_clamped_mmi(const int16_t *block, void ff_put_pixels_clamped_mmi(const int16_t *block,
uint8_t *av_restrict pixels, ptrdiff_t line_size); uint8_t *av_restrict pixels, ptrdiff_t line_size);
@ -47,7 +47,7 @@ void ff_put_signed_pixels_clamped_mmi(const int16_t *block,
void ff_add_pixels_clamped_mmi(const int16_t *block, void ff_add_pixels_clamped_mmi(const int16_t *block,
uint8_t *av_restrict pixels, ptrdiff_t line_size); uint8_t *av_restrict pixels, ptrdiff_t line_size);
void ff_simple_idct_mmi(int16_t *block); void ff_simple_idct_mmi(int16_t *block);
void ff_simple_idct_put_mmi(uint8_t *dest, int32_t line_size, int16_t *block); void ff_simple_idct_put_mmi(uint8_t *dest, ptrdiff_t line_size, int16_t *block);
void ff_simple_idct_add_mmi(uint8_t *dest, int32_t line_size, int16_t *block); void ff_simple_idct_add_mmi(uint8_t *dest, ptrdiff_t line_size, int16_t *block);
#endif // #ifndef AVCODEC_MIPS_IDCTDSP_MIPS_H #endif // #ifndef AVCODEC_MIPS_IDCTDSP_MIPS_H

View File

@ -562,12 +562,12 @@ void ff_simple_idct_msa(int16_t *block)
simple_idct_msa(block); simple_idct_msa(block);
} }
void ff_simple_idct_put_msa(uint8_t *dst, int32_t dst_stride, int16_t *block) void ff_simple_idct_put_msa(uint8_t *dst, ptrdiff_t dst_stride, int16_t *block)
{ {
simple_idct_put_msa(dst, dst_stride, block); simple_idct_put_msa(dst, dst_stride, block);
} }
void ff_simple_idct_add_msa(uint8_t *dst, int32_t dst_stride, int16_t *block) void ff_simple_idct_add_msa(uint8_t *dst, ptrdiff_t dst_stride, int16_t *block)
{ {
simple_idct_add_msa(dst, dst_stride, block); simple_idct_add_msa(dst, dst_stride, block);
} }

View File

@ -157,14 +157,14 @@ void ff_avg_vc1_mspel_mc33_16_mmi(uint8_t *dst, const uint8_t *src,
ptrdiff_t stride, int rnd); ptrdiff_t stride, int rnd);
void ff_vc1_inv_trans_8x8_mmi(int16_t block[64]); void ff_vc1_inv_trans_8x8_mmi(int16_t block[64]);
void ff_vc1_inv_trans_8x4_mmi(uint8_t *dest, int linesize, int16_t *block); void ff_vc1_inv_trans_8x4_mmi(uint8_t *dest, ptrdiff_t linesize, int16_t *block);
void ff_vc1_inv_trans_4x8_mmi(uint8_t *dest, int linesize, int16_t *block); void ff_vc1_inv_trans_4x8_mmi(uint8_t *dest, ptrdiff_t linesize, int16_t *block);
void ff_vc1_inv_trans_4x4_mmi(uint8_t *dest, int linesize, int16_t *block); void ff_vc1_inv_trans_4x4_mmi(uint8_t *dest, ptrdiff_t linesize, int16_t *block);
void ff_vc1_inv_trans_4x4_dc_mmi(uint8_t *dest, int linesize, int16_t *block); void ff_vc1_inv_trans_4x4_dc_mmi(uint8_t *dest, ptrdiff_t linesize, int16_t *block);
void ff_vc1_inv_trans_4x8_dc_mmi(uint8_t *dest, int linesize, int16_t *block); void ff_vc1_inv_trans_4x8_dc_mmi(uint8_t *dest, ptrdiff_t linesize, int16_t *block);
void ff_vc1_inv_trans_8x4_dc_mmi(uint8_t *dest, int linesize, int16_t *block); void ff_vc1_inv_trans_8x4_dc_mmi(uint8_t *dest, ptrdiff_t linesize, int16_t *block);
void ff_vc1_inv_trans_8x8_dc_mmi(uint8_t *dest, int linesize, int16_t *block); void ff_vc1_inv_trans_8x8_dc_mmi(uint8_t *dest, ptrdiff_t linesize, int16_t *block);
void ff_vc1_v_overlap_mmi(uint8_t *src, int stride); void ff_vc1_v_overlap_mmi(uint8_t *src, int stride);
void ff_vc1_h_overlap_mmi(uint8_t *src, int stride); void ff_vc1_h_overlap_mmi(uint8_t *src, int stride);

View File

@ -141,7 +141,7 @@
/* Do inverse transform on 8x8 block */ /* Do inverse transform on 8x8 block */
void ff_vc1_inv_trans_8x8_dc_mmi(uint8_t *dest, int linesize, int16_t *block) void ff_vc1_inv_trans_8x8_dc_mmi(uint8_t *dest, ptrdiff_t linesize, int16_t *block)
{ {
int dc = block[0]; int dc = block[0];
double ftmp[9]; double ftmp[9];
@ -368,7 +368,7 @@ void ff_vc1_inv_trans_8x8_mmi(int16_t block[64])
#endif #endif
/* Do inverse transform on 8x4 part of block */ /* Do inverse transform on 8x4 part of block */
void ff_vc1_inv_trans_8x4_dc_mmi(uint8_t *dest, int linesize, int16_t *block) void ff_vc1_inv_trans_8x4_dc_mmi(uint8_t *dest, ptrdiff_t linesize, int16_t *block)
{ {
int dc = block[0]; int dc = block[0];
double ftmp[9]; double ftmp[9];
@ -425,7 +425,7 @@ void ff_vc1_inv_trans_8x4_dc_mmi(uint8_t *dest, int linesize, int16_t *block)
} }
#if _MIPS_SIM != _ABIO32 #if _MIPS_SIM != _ABIO32
void ff_vc1_inv_trans_8x4_mmi(uint8_t *dest, int linesize, int16_t *block) void ff_vc1_inv_trans_8x4_mmi(uint8_t *dest, ptrdiff_t linesize, int16_t *block)
{ {
int16_t *src = block; int16_t *src = block;
int16_t *dst = block; int16_t *dst = block;
@ -599,7 +599,7 @@ void ff_vc1_inv_trans_8x4_mmi(uint8_t *dest, int linesize, int16_t *block)
#endif #endif
/* Do inverse transform on 4x8 parts of block */ /* Do inverse transform on 4x8 parts of block */
void ff_vc1_inv_trans_4x8_dc_mmi(uint8_t *dest, int linesize, int16_t *block) void ff_vc1_inv_trans_4x8_dc_mmi(uint8_t *dest, ptrdiff_t linesize, int16_t *block)
{ {
int dc = block[0]; int dc = block[0];
double ftmp[9]; double ftmp[9];
@ -672,7 +672,7 @@ void ff_vc1_inv_trans_4x8_dc_mmi(uint8_t *dest, int linesize, int16_t *block)
} }
#if _MIPS_SIM != _ABIO32 #if _MIPS_SIM != _ABIO32
void ff_vc1_inv_trans_4x8_mmi(uint8_t *dest, int linesize, int16_t *block) void ff_vc1_inv_trans_4x8_mmi(uint8_t *dest, ptrdiff_t linesize, int16_t *block)
{ {
int16_t *src = block; int16_t *src = block;
int16_t *dst = block; int16_t *dst = block;
@ -838,7 +838,7 @@ void ff_vc1_inv_trans_4x8_mmi(uint8_t *dest, int linesize, int16_t *block)
#endif #endif
/* Do inverse transform on 4x4 part of block */ /* Do inverse transform on 4x4 part of block */
void ff_vc1_inv_trans_4x4_dc_mmi(uint8_t *dest, int linesize, int16_t *block) void ff_vc1_inv_trans_4x4_dc_mmi(uint8_t *dest, ptrdiff_t linesize, int16_t *block)
{ {
int dc = block[0]; int dc = block[0];
double ftmp[5]; double ftmp[5];
@ -886,7 +886,7 @@ void ff_vc1_inv_trans_4x4_dc_mmi(uint8_t *dest, int linesize, int16_t *block)
); );
} }
void ff_vc1_inv_trans_4x4_mmi(uint8_t *dest, int linesize, int16_t *block) void ff_vc1_inv_trans_4x4_mmi(uint8_t *dest, ptrdiff_t linesize, int16_t *block)
{ {
int16_t *src = block; int16_t *src = block;
int16_t *dst = block; int16_t *dst = block;

View File

@ -169,7 +169,7 @@ static void idct_altivec(int16_t *blk)
block[7] = vx7; block[7] = vx7;
} }
static void idct_put_altivec(uint8_t *dest, int stride, int16_t *blk) static void idct_put_altivec(uint8_t *dest, ptrdiff_t stride, int16_t *blk)
{ {
vec_s16 *block = (vec_s16 *) blk; vec_s16 *block = (vec_s16 *) blk;
vec_u8 tmp; vec_u8 tmp;
@ -198,7 +198,7 @@ static void idct_put_altivec(uint8_t *dest, int stride, int16_t *blk)
COPY(dest, vx7); COPY(dest, vx7);
} }
static void idct_add_altivec(uint8_t *dest, int stride, int16_t *blk) static void idct_add_altivec(uint8_t *dest, ptrdiff_t stride, int16_t *blk)
{ {
vec_s16 *block = (vec_s16 *) blk; vec_s16 *block = (vec_s16 *) blk;
vec_u8 tmp; vec_u8 tmp;

View File

@ -229,7 +229,8 @@ static void vc1_inv_trans_8x8_altivec(int16_t block[64])
/** Do inverse transform on 8x4 part of block /** Do inverse transform on 8x4 part of block
*/ */
static void vc1_inv_trans_8x4_altivec(uint8_t *dest, int stride, int16_t *block) static void vc1_inv_trans_8x4_altivec(uint8_t *dest, ptrdiff_t stride,
int16_t *block)
{ {
vector signed short src0, src1, src2, src3, src4, src5, src6, src7; vector signed short src0, src1, src2, src3, src4, src5, src6, src7;
vector signed int s0, s1, s2, s3, s4, s5, s6, s7; vector signed int s0, s1, s2, s3, s4, s5, s6, s7;

View File

@ -58,7 +58,7 @@
and the butterfly must be multiplied by 0.5 * sqrt(2.0) */ and the butterfly must be multiplied by 0.5 * sqrt(2.0) */
#define C_SHIFT (4+1+12) #define C_SHIFT (4+1+12)
static inline void idct4col_put(uint8_t *dest, int line_size, const int16_t *col) static inline void idct4col_put(uint8_t *dest, ptrdiff_t line_size, const int16_t *col)
{ {
int c0, c1, c2, c3, a0, a1, a2, a3; int c0, c1, c2, c3, a0, a1, a2, a3;
@ -94,7 +94,7 @@ static inline void idct4col_put(uint8_t *dest, int line_size, const int16_t *col
/* XXX: I think a 1.0/sqrt(2) normalization should be needed to /* XXX: I think a 1.0/sqrt(2) normalization should be needed to
compensate the extra butterfly stage - I don't have the full DV compensate the extra butterfly stage - I don't have the full DV
specification */ specification */
void ff_simple_idct248_put(uint8_t *dest, int line_size, int16_t *block) void ff_simple_idct248_put(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
{ {
int i; int i;
int16_t *ptr; int16_t *ptr;
@ -137,7 +137,7 @@ void ff_simple_idct248_put(uint8_t *dest, int line_size, int16_t *block)
#define C2 C_FIX(0.2705980501) #define C2 C_FIX(0.2705980501)
#define C3 C_FIX(0.5) #define C3 C_FIX(0.5)
#define C_SHIFT (4+1+12) #define C_SHIFT (4+1+12)
static inline void idct4col_add(uint8_t *dest, int line_size, const int16_t *col) static inline void idct4col_add(uint8_t *dest, ptrdiff_t line_size, const int16_t *col)
{ {
int c0, c1, c2, c3, a0, a1, a2, a3; int c0, c1, c2, c3, a0, a1, a2, a3;
@ -182,7 +182,7 @@ static inline void idct4row(int16_t *row)
row[3]= (c0 - c1) >> R_SHIFT; row[3]= (c0 - c1) >> R_SHIFT;
} }
void ff_simple_idct84_add(uint8_t *dest, int line_size, int16_t *block) void ff_simple_idct84_add(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
{ {
int i; int i;
@ -197,7 +197,7 @@ void ff_simple_idct84_add(uint8_t *dest, int line_size, int16_t *block)
} }
} }
void ff_simple_idct48_add(uint8_t *dest, int line_size, int16_t *block) void ff_simple_idct48_add(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
{ {
int i; int i;
@ -212,7 +212,7 @@ void ff_simple_idct48_add(uint8_t *dest, int line_size, int16_t *block)
} }
} }
void ff_simple_idct44_add(uint8_t *dest, int line_size, int16_t *block) void ff_simple_idct44_add(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
{ {
int i; int i;

View File

@ -28,18 +28,19 @@
#ifndef AVCODEC_SIMPLE_IDCT_H #ifndef AVCODEC_SIMPLE_IDCT_H
#define AVCODEC_SIMPLE_IDCT_H #define AVCODEC_SIMPLE_IDCT_H
#include <stddef.h>
#include <stdint.h> #include <stdint.h>
void ff_simple_idct_put_8(uint8_t *dest, int line_size, int16_t *block); void ff_simple_idct_put_8(uint8_t *dest, ptrdiff_t line_size, int16_t *block);
void ff_simple_idct_add_8(uint8_t *dest, int line_size, int16_t *block); void ff_simple_idct_add_8(uint8_t *dest, ptrdiff_t line_size, int16_t *block);
void ff_simple_idct_8(int16_t *block); void ff_simple_idct_8(int16_t *block);
void ff_simple_idct_put_10(uint8_t *dest, int line_size, int16_t *block); void ff_simple_idct_put_10(uint8_t *dest, ptrdiff_t line_size, int16_t *block);
void ff_simple_idct_add_10(uint8_t *dest, int line_size, int16_t *block); void ff_simple_idct_add_10(uint8_t *dest, ptrdiff_t line_size, int16_t *block);
void ff_simple_idct_10(int16_t *block); void ff_simple_idct_10(int16_t *block);
void ff_simple_idct_put_12(uint8_t *dest, int line_size, int16_t *block); void ff_simple_idct_put_12(uint8_t *dest, ptrdiff_t line_size, int16_t *block);
void ff_simple_idct_add_12(uint8_t *dest, int line_size, int16_t *block); void ff_simple_idct_add_12(uint8_t *dest, ptrdiff_t line_size, int16_t *block);
void ff_simple_idct_12(int16_t *block); void ff_simple_idct_12(int16_t *block);
/** /**
@ -49,10 +50,10 @@ void ff_simple_idct_12(int16_t *block);
*/ */
void ff_prores_idct(int16_t *block, const int16_t *qmat); void ff_prores_idct(int16_t *block, const int16_t *qmat);
void ff_simple_idct248_put(uint8_t *dest, int line_size, int16_t *block); void ff_simple_idct248_put(uint8_t *dest, ptrdiff_t line_size, int16_t *block);
void ff_simple_idct84_add(uint8_t *dest, int line_size, int16_t *block); void ff_simple_idct84_add(uint8_t *dest, ptrdiff_t line_size, int16_t *block);
void ff_simple_idct48_add(uint8_t *dest, int line_size, int16_t *block); void ff_simple_idct48_add(uint8_t *dest, ptrdiff_t line_size, int16_t *block);
void ff_simple_idct44_add(uint8_t *dest, int line_size, int16_t *block); void ff_simple_idct44_add(uint8_t *dest, ptrdiff_t line_size, int16_t *block);
#endif /* AVCODEC_SIMPLE_IDCT_H */ #endif /* AVCODEC_SIMPLE_IDCT_H */

View File

@ -250,7 +250,7 @@ static inline void FUNC(idctRowCondDC)(int16_t *row, int extra_shift)
#ifdef EXTRA_SHIFT #ifdef EXTRA_SHIFT
static inline void FUNC(idctSparseCol_extrashift)(int16_t *col) static inline void FUNC(idctSparseCol_extrashift)(int16_t *col)
#else #else
static inline void FUNC(idctSparseColPut)(pixel *dest, int line_size, static inline void FUNC(idctSparseColPut)(pixel *dest, ptrdiff_t line_size,
int16_t *col) int16_t *col)
{ {
SUINT a0, a1, a2, a3, b0, b1, b2, b3; SUINT a0, a1, a2, a3, b0, b1, b2, b3;
@ -274,7 +274,7 @@ static inline void FUNC(idctSparseColPut)(pixel *dest, int line_size,
dest[0] = av_clip_pixel((int)(a0 - b0) >> COL_SHIFT); dest[0] = av_clip_pixel((int)(a0 - b0) >> COL_SHIFT);
} }
static inline void FUNC(idctSparseColAdd)(pixel *dest, int line_size, static inline void FUNC(idctSparseColAdd)(pixel *dest, ptrdiff_t line_size,
int16_t *col) int16_t *col)
{ {
int a0, a1, a2, a3, b0, b1, b2, b3; int a0, a1, a2, a3, b0, b1, b2, b3;
@ -316,7 +316,7 @@ static inline void FUNC(idctSparseCol)(int16_t *col)
} }
#ifndef EXTRA_SHIFT #ifndef EXTRA_SHIFT
void FUNC(ff_simple_idct_put)(uint8_t *dest_, int line_size, int16_t *block) void FUNC(ff_simple_idct_put)(uint8_t *dest_, ptrdiff_t line_size, int16_t *block)
{ {
pixel *dest = (pixel *)dest_; pixel *dest = (pixel *)dest_;
int i; int i;
@ -330,7 +330,7 @@ void FUNC(ff_simple_idct_put)(uint8_t *dest_, int line_size, int16_t *block)
FUNC(idctSparseColPut)(dest + i, line_size, block + i); FUNC(idctSparseColPut)(dest + i, line_size, block + i);
} }
void FUNC(ff_simple_idct_add)(uint8_t *dest_, int line_size, int16_t *block) void FUNC(ff_simple_idct_add)(uint8_t *dest_, ptrdiff_t line_size, int16_t *block)
{ {
pixel *dest = (pixel *)dest_; pixel *dest = (pixel *)dest_;
int i; int i;

View File

@ -284,7 +284,7 @@ static int dct_error(const struct algo *dct, int test, int is_idct, int speed, c
DECLARE_ALIGNED(8, static uint8_t, img_dest)[64]; DECLARE_ALIGNED(8, static uint8_t, img_dest)[64];
DECLARE_ALIGNED(8, static uint8_t, img_dest1)[64]; DECLARE_ALIGNED(8, static uint8_t, img_dest1)[64];
static void idct248_ref(uint8_t *dest, int linesize, int16_t *block) static void idct248_ref(uint8_t *dest, ptrdiff_t linesize, int16_t *block)
{ {
static int init; static int init;
static double c8[8][8]; static double c8[8][8];
@ -365,7 +365,8 @@ static void idct248_ref(uint8_t *dest, int linesize, int16_t *block)
} }
static void idct248_error(const char *name, static void idct248_error(const char *name,
void (*idct248_put)(uint8_t *dest, int line_size, void (*idct248_put)(uint8_t *dest,
ptrdiff_t line_size,
int16_t *block), int16_t *block),
int speed) int speed)
{ {

View File

@ -238,7 +238,7 @@ static void vc1_h_loop_filter16_c(uint8_t *src, int stride, int pq)
} }
/* Do inverse transform on 8x8 block */ /* Do inverse transform on 8x8 block */
static void vc1_inv_trans_8x8_dc_c(uint8_t *dest, int linesize, int16_t *block) static void vc1_inv_trans_8x8_dc_c(uint8_t *dest, ptrdiff_t stride, int16_t *block)
{ {
int i; int i;
int dc = block[0]; int dc = block[0];
@ -255,7 +255,7 @@ static void vc1_inv_trans_8x8_dc_c(uint8_t *dest, int linesize, int16_t *block)
dest[5] = av_clip_uint8(dest[5] + dc); dest[5] = av_clip_uint8(dest[5] + dc);
dest[6] = av_clip_uint8(dest[6] + dc); dest[6] = av_clip_uint8(dest[6] + dc);
dest[7] = av_clip_uint8(dest[7] + dc); dest[7] = av_clip_uint8(dest[7] + dc);
dest += linesize; dest += stride;
} }
} }
@ -329,7 +329,7 @@ static void vc1_inv_trans_8x8_c(int16_t block[64])
} }
/* Do inverse transform on 8x4 part of block */ /* Do inverse transform on 8x4 part of block */
static void vc1_inv_trans_8x4_dc_c(uint8_t *dest, int linesize, int16_t *block) static void vc1_inv_trans_8x4_dc_c(uint8_t *dest, ptrdiff_t stride, int16_t *block)
{ {
int i; int i;
int dc = block[0]; int dc = block[0];
@ -346,11 +346,11 @@ static void vc1_inv_trans_8x4_dc_c(uint8_t *dest, int linesize, int16_t *block)
dest[5] = av_clip_uint8(dest[5] + dc); dest[5] = av_clip_uint8(dest[5] + dc);
dest[6] = av_clip_uint8(dest[6] + dc); dest[6] = av_clip_uint8(dest[6] + dc);
dest[7] = av_clip_uint8(dest[7] + dc); dest[7] = av_clip_uint8(dest[7] + dc);
dest += linesize; dest += stride;
} }
} }
static void vc1_inv_trans_8x4_c(uint8_t *dest, int linesize, int16_t *block) static void vc1_inv_trans_8x4_c(uint8_t *dest, ptrdiff_t stride, int16_t *block)
{ {
int i; int i;
register int t1, t2, t3, t4, t5, t6, t7, t8; register int t1, t2, t3, t4, t5, t6, t7, t8;
@ -395,10 +395,10 @@ static void vc1_inv_trans_8x4_c(uint8_t *dest, int linesize, int16_t *block)
t3 = 22 * src[ 8] + 10 * src[24]; t3 = 22 * src[ 8] + 10 * src[24];
t4 = 22 * src[24] - 10 * src[ 8]; t4 = 22 * src[24] - 10 * src[ 8];
dest[0 * linesize] = av_clip_uint8(dest[0 * linesize] + ((t1 + t3) >> 7)); dest[0 * stride] = av_clip_uint8(dest[0 * stride] + ((t1 + t3) >> 7));
dest[1 * linesize] = av_clip_uint8(dest[1 * linesize] + ((t2 - t4) >> 7)); dest[1 * stride] = av_clip_uint8(dest[1 * stride] + ((t2 - t4) >> 7));
dest[2 * linesize] = av_clip_uint8(dest[2 * linesize] + ((t2 + t4) >> 7)); dest[2 * stride] = av_clip_uint8(dest[2 * stride] + ((t2 + t4) >> 7));
dest[3 * linesize] = av_clip_uint8(dest[3 * linesize] + ((t1 - t3) >> 7)); dest[3 * stride] = av_clip_uint8(dest[3 * stride] + ((t1 - t3) >> 7));
src++; src++;
dest++; dest++;
@ -406,7 +406,7 @@ static void vc1_inv_trans_8x4_c(uint8_t *dest, int linesize, int16_t *block)
} }
/* Do inverse transform on 4x8 parts of block */ /* Do inverse transform on 4x8 parts of block */
static void vc1_inv_trans_4x8_dc_c(uint8_t *dest, int linesize, int16_t *block) static void vc1_inv_trans_4x8_dc_c(uint8_t *dest, ptrdiff_t stride, int16_t *block)
{ {
int i; int i;
int dc = block[0]; int dc = block[0];
@ -419,11 +419,11 @@ static void vc1_inv_trans_4x8_dc_c(uint8_t *dest, int linesize, int16_t *block)
dest[1] = av_clip_uint8(dest[1] + dc); dest[1] = av_clip_uint8(dest[1] + dc);
dest[2] = av_clip_uint8(dest[2] + dc); dest[2] = av_clip_uint8(dest[2] + dc);
dest[3] = av_clip_uint8(dest[3] + dc); dest[3] = av_clip_uint8(dest[3] + dc);
dest += linesize; dest += stride;
} }
} }
static void vc1_inv_trans_4x8_c(uint8_t *dest, int linesize, int16_t *block) static void vc1_inv_trans_4x8_c(uint8_t *dest, ptrdiff_t stride, int16_t *block)
{ {
int i; int i;
register int t1, t2, t3, t4, t5, t6, t7, t8; register int t1, t2, t3, t4, t5, t6, t7, t8;
@ -464,14 +464,14 @@ static void vc1_inv_trans_4x8_c(uint8_t *dest, int linesize, int16_t *block)
t3 = 9 * src[ 8] - 16 * src[24] + 4 * src[40] + 15 * src[56]; t3 = 9 * src[ 8] - 16 * src[24] + 4 * src[40] + 15 * src[56];
t4 = 4 * src[ 8] - 9 * src[24] + 15 * src[40] - 16 * src[56]; t4 = 4 * src[ 8] - 9 * src[24] + 15 * src[40] - 16 * src[56];
dest[0 * linesize] = av_clip_uint8(dest[0 * linesize] + ((t5 + t1) >> 7)); dest[0 * stride] = av_clip_uint8(dest[0 * stride] + ((t5 + t1) >> 7));
dest[1 * linesize] = av_clip_uint8(dest[1 * linesize] + ((t6 + t2) >> 7)); dest[1 * stride] = av_clip_uint8(dest[1 * stride] + ((t6 + t2) >> 7));
dest[2 * linesize] = av_clip_uint8(dest[2 * linesize] + ((t7 + t3) >> 7)); dest[2 * stride] = av_clip_uint8(dest[2 * stride] + ((t7 + t3) >> 7));
dest[3 * linesize] = av_clip_uint8(dest[3 * linesize] + ((t8 + t4) >> 7)); dest[3 * stride] = av_clip_uint8(dest[3 * stride] + ((t8 + t4) >> 7));
dest[4 * linesize] = av_clip_uint8(dest[4 * linesize] + ((t8 - t4 + 1) >> 7)); dest[4 * stride] = av_clip_uint8(dest[4 * stride] + ((t8 - t4 + 1) >> 7));
dest[5 * linesize] = av_clip_uint8(dest[5 * linesize] + ((t7 - t3 + 1) >> 7)); dest[5 * stride] = av_clip_uint8(dest[5 * stride] + ((t7 - t3 + 1) >> 7));
dest[6 * linesize] = av_clip_uint8(dest[6 * linesize] + ((t6 - t2 + 1) >> 7)); dest[6 * stride] = av_clip_uint8(dest[6 * stride] + ((t6 - t2 + 1) >> 7));
dest[7 * linesize] = av_clip_uint8(dest[7 * linesize] + ((t5 - t1 + 1) >> 7)); dest[7 * stride] = av_clip_uint8(dest[7 * stride] + ((t5 - t1 + 1) >> 7));
src++; src++;
dest++; dest++;
@ -479,7 +479,7 @@ static void vc1_inv_trans_4x8_c(uint8_t *dest, int linesize, int16_t *block)
} }
/* Do inverse transform on 4x4 part of block */ /* Do inverse transform on 4x4 part of block */
static void vc1_inv_trans_4x4_dc_c(uint8_t *dest, int linesize, int16_t *block) static void vc1_inv_trans_4x4_dc_c(uint8_t *dest, ptrdiff_t stride, int16_t *block)
{ {
int i; int i;
int dc = block[0]; int dc = block[0];
@ -492,11 +492,11 @@ static void vc1_inv_trans_4x4_dc_c(uint8_t *dest, int linesize, int16_t *block)
dest[1] = av_clip_uint8(dest[1] + dc); dest[1] = av_clip_uint8(dest[1] + dc);
dest[2] = av_clip_uint8(dest[2] + dc); dest[2] = av_clip_uint8(dest[2] + dc);
dest[3] = av_clip_uint8(dest[3] + dc); dest[3] = av_clip_uint8(dest[3] + dc);
dest += linesize; dest += stride;
} }
} }
static void vc1_inv_trans_4x4_c(uint8_t *dest, int linesize, int16_t *block) static void vc1_inv_trans_4x4_c(uint8_t *dest, ptrdiff_t stride, int16_t *block)
{ {
int i; int i;
register int t1, t2, t3, t4; register int t1, t2, t3, t4;
@ -526,10 +526,10 @@ static void vc1_inv_trans_4x4_c(uint8_t *dest, int linesize, int16_t *block)
t3 = 22 * src[8] + 10 * src[24]; t3 = 22 * src[8] + 10 * src[24];
t4 = 22 * src[24] - 10 * src[8]; t4 = 22 * src[24] - 10 * src[8];
dest[0 * linesize] = av_clip_uint8(dest[0 * linesize] + ((t1 + t3) >> 7)); dest[0 * stride] = av_clip_uint8(dest[0 * stride] + ((t1 + t3) >> 7));
dest[1 * linesize] = av_clip_uint8(dest[1 * linesize] + ((t2 - t4) >> 7)); dest[1 * stride] = av_clip_uint8(dest[1 * stride] + ((t2 - t4) >> 7));
dest[2 * linesize] = av_clip_uint8(dest[2 * linesize] + ((t2 + t4) >> 7)); dest[2 * stride] = av_clip_uint8(dest[2 * stride] + ((t2 + t4) >> 7));
dest[3 * linesize] = av_clip_uint8(dest[3 * linesize] + ((t1 - t3) >> 7)); dest[3 * stride] = av_clip_uint8(dest[3 * stride] + ((t1 - t3) >> 7));
src++; src++;
dest++; dest++;

View File

@ -35,13 +35,13 @@ typedef void (*vc1op_pixels_func)(uint8_t *block/*align width (8 or 16)*/, const
typedef struct VC1DSPContext { typedef struct VC1DSPContext {
/* vc1 functions */ /* vc1 functions */
void (*vc1_inv_trans_8x8)(int16_t *b); void (*vc1_inv_trans_8x8)(int16_t *b);
void (*vc1_inv_trans_8x4)(uint8_t *dest, int line_size, int16_t *block); void (*vc1_inv_trans_8x4)(uint8_t *dest, ptrdiff_t stride, int16_t *block);
void (*vc1_inv_trans_4x8)(uint8_t *dest, int line_size, int16_t *block); void (*vc1_inv_trans_4x8)(uint8_t *dest, ptrdiff_t stride, int16_t *block);
void (*vc1_inv_trans_4x4)(uint8_t *dest, int line_size, int16_t *block); void (*vc1_inv_trans_4x4)(uint8_t *dest, ptrdiff_t stride, int16_t *block);
void (*vc1_inv_trans_8x8_dc)(uint8_t *dest, int line_size, int16_t *block); void (*vc1_inv_trans_8x8_dc)(uint8_t *dest, ptrdiff_t stride, int16_t *block);
void (*vc1_inv_trans_8x4_dc)(uint8_t *dest, int line_size, int16_t *block); void (*vc1_inv_trans_8x4_dc)(uint8_t *dest, ptrdiff_t stride, int16_t *block);
void (*vc1_inv_trans_4x8_dc)(uint8_t *dest, int line_size, int16_t *block); void (*vc1_inv_trans_4x8_dc)(uint8_t *dest, ptrdiff_t stride, int16_t *block);
void (*vc1_inv_trans_4x4_dc)(uint8_t *dest, int line_size, int16_t *block); void (*vc1_inv_trans_4x4_dc)(uint8_t *dest, ptrdiff_t stride, int16_t *block);
void (*vc1_v_overlap)(uint8_t *src, int stride); void (*vc1_v_overlap)(uint8_t *src, int stride);
void (*vc1_h_overlap)(uint8_t *src, int stride); void (*vc1_h_overlap)(uint8_t *src, int stride);
void (*vc1_v_s_overlap)(int16_t *top, int16_t *bottom); void (*vc1_v_s_overlap)(int16_t *top, int16_t *bottom);

View File

@ -93,7 +93,7 @@ static void wmv2_idct_col(short * b)
b[8 * 7] = (a0 + a2 - a1 - a5 + (1 << 13)) >> 14; b[8 * 7] = (a0 + a2 - a1 - a5 + (1 << 13)) >> 14;
} }
static void wmv2_idct_add_c(uint8_t *dest, int line_size, int16_t *block) static void wmv2_idct_add_c(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
{ {
int i; int i;
@ -116,7 +116,7 @@ static void wmv2_idct_add_c(uint8_t *dest, int line_size, int16_t *block)
} }
} }
static void wmv2_idct_put_c(uint8_t *dest, int line_size, int16_t *block) static void wmv2_idct_put_c(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
{ {
int i; int i;

View File

@ -24,8 +24,8 @@
#include "qpeldsp.h" #include "qpeldsp.h"
typedef struct WMV2DSPContext { typedef struct WMV2DSPContext {
void (*idct_add)(uint8_t *dest, int line_size, int16_t *block); void (*idct_add)(uint8_t *dest, ptrdiff_t line_size, int16_t *block);
void (*idct_put)(uint8_t *dest, int line_size, int16_t *block); void (*idct_put)(uint8_t *dest, ptrdiff_t line_size, int16_t *block);
qpel_mc_func put_mspel_pixels_tab[8]; qpel_mc_func put_mspel_pixels_tab[8];

View File

@ -19,6 +19,7 @@
#ifndef AVCODEC_X86_IDCTDSP_H #ifndef AVCODEC_X86_IDCTDSP_H
#define AVCODEC_X86_IDCTDSP_H #define AVCODEC_X86_IDCTDSP_H
#include <stddef.h>
#include <stdint.h> #include <stdint.h>
#include <stddef.h> #include <stddef.h>
@ -35,4 +36,5 @@ void ff_put_signed_pixels_clamped_mmx(const int16_t *block, uint8_t *pixels,
void ff_put_signed_pixels_clamped_sse2(const int16_t *block, uint8_t *pixels, void ff_put_signed_pixels_clamped_sse2(const int16_t *block, uint8_t *pixels,
ptrdiff_t line_size); ptrdiff_t line_size);
#endif /* AVCODEC_X86_IDCTDSP_H */ #endif /* AVCODEC_X86_IDCTDSP_H */

View File

@ -904,12 +904,12 @@ void ff_simple_idct_mmx(int16_t *block)
//FIXME merge add/put into the idct //FIXME merge add/put into the idct
void ff_simple_idct_put_mmx(uint8_t *dest, int line_size, int16_t *block) void ff_simple_idct_put_mmx(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
{ {
idct(block); idct(block);
ff_put_pixels_clamped(block, dest, line_size); ff_put_pixels_clamped(block, dest, line_size);
} }
void ff_simple_idct_add_mmx(uint8_t *dest, int line_size, int16_t *block) void ff_simple_idct_add_mmx(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
{ {
idct(block); idct(block);
ff_add_pixels_clamped(block, dest, line_size); ff_add_pixels_clamped(block, dest, line_size);

View File

@ -19,22 +19,23 @@
#ifndef AVCODEC_X86_SIMPLE_IDCT_H #ifndef AVCODEC_X86_SIMPLE_IDCT_H
#define AVCODEC_X86_SIMPLE_IDCT_H #define AVCODEC_X86_SIMPLE_IDCT_H
#include <stddef.h>
#include <stdint.h> #include <stdint.h>
void ff_simple_idct_mmx(int16_t *block); void ff_simple_idct_mmx(int16_t *block);
void ff_simple_idct_add_mmx(uint8_t *dest, int line_size, int16_t *block); void ff_simple_idct_add_mmx(uint8_t *dest, ptrdiff_t line_size, int16_t *block);
void ff_simple_idct_put_mmx(uint8_t *dest, int line_size, int16_t *block); void ff_simple_idct_put_mmx(uint8_t *dest, ptrdiff_t line_size, int16_t *block);
void ff_simple_idct10_sse2(int16_t *block); void ff_simple_idct10_sse2(int16_t *block);
void ff_simple_idct10_avx(int16_t *block); void ff_simple_idct10_avx(int16_t *block);
void ff_simple_idct10_put_sse2(uint8_t *dest, int line_size, int16_t *block); void ff_simple_idct10_put_sse2(uint8_t *dest, ptrdiff_t line_size, int16_t *block);
void ff_simple_idct10_put_avx(uint8_t *dest, int line_size, int16_t *block); void ff_simple_idct10_put_avx(uint8_t *dest, ptrdiff_t line_size, int16_t *block);
void ff_simple_idct12_sse2(int16_t *block); void ff_simple_idct12_sse2(int16_t *block);
void ff_simple_idct12_avx(int16_t *block); void ff_simple_idct12_avx(int16_t *block);
void ff_simple_idct12_put_sse2(uint8_t *dest, int line_size, int16_t *block); void ff_simple_idct12_put_sse2(uint8_t *dest, ptrdiff_t line_size, int16_t *block);
void ff_simple_idct12_put_avx(uint8_t *dest, int line_size, int16_t *block); void ff_simple_idct12_put_avx(uint8_t *dest, ptrdiff_t line_size, int16_t *block);
#endif /* AVCODEC_X86_SIMPLE_IDCT_H */ #endif /* AVCODEC_X86_SIMPLE_IDCT_H */

View File

@ -92,13 +92,13 @@ void ff_put_vc1_chroma_mc8_nornd_ssse3(uint8_t *dst, uint8_t *src,
int stride, int h, int x, int y); int stride, int h, int x, int y);
void ff_avg_vc1_chroma_mc8_nornd_ssse3(uint8_t *dst, uint8_t *src, void ff_avg_vc1_chroma_mc8_nornd_ssse3(uint8_t *dst, uint8_t *src,
int stride, int h, int x, int y); int stride, int h, int x, int y);
void ff_vc1_inv_trans_4x4_dc_mmxext(uint8_t *dest, int linesize, void ff_vc1_inv_trans_4x4_dc_mmxext(uint8_t *dest, ptrdiff_t linesize,
int16_t *block); int16_t *block);
void ff_vc1_inv_trans_4x8_dc_mmxext(uint8_t *dest, int linesize, void ff_vc1_inv_trans_4x8_dc_mmxext(uint8_t *dest, ptrdiff_t linesize,
int16_t *block); int16_t *block);
void ff_vc1_inv_trans_8x4_dc_mmxext(uint8_t *dest, int linesize, void ff_vc1_inv_trans_8x4_dc_mmxext(uint8_t *dest, ptrdiff_t linesize,
int16_t *block); int16_t *block);
void ff_vc1_inv_trans_8x8_dc_mmxext(uint8_t *dest, int linesize, void ff_vc1_inv_trans_8x8_dc_mmxext(uint8_t *dest, ptrdiff_t linesize,
int16_t *block); int16_t *block);

View File

@ -225,7 +225,7 @@ HOR_16B_SHIFT2 OP_AVG, avg
mov%1 [linesize3q +destq], m5 mov%1 [linesize3q +destq], m5
%endmacro %endmacro
; ff_vc1_inv_trans_?x?_dc_mmxext(uint8_t *dest, int linesize, int16_t *block) ; ff_vc1_inv_trans_?x?_dc_mmxext(uint8_t *dest, ptrdiff_t linesize, int16_t *block)
INIT_MMX mmxext INIT_MMX mmxext
cglobal vc1_inv_trans_4x4_dc, 3,4,0, dest, linesize, block cglobal vc1_inv_trans_4x4_dc, 3,4,0, dest, linesize, block
movsx r3d, WORD [blockq] movsx r3d, WORD [blockq]

View File

@ -26,18 +26,19 @@
#ifndef AVCODEC_X86_XVIDIDCT_H #ifndef AVCODEC_X86_XVIDIDCT_H
#define AVCODEC_X86_XVIDIDCT_H #define AVCODEC_X86_XVIDIDCT_H
#include <stddef.h>
#include <stdint.h> #include <stdint.h>
void ff_xvid_idct_mmx(short *block); void ff_xvid_idct_mmx(short *block);
void ff_xvid_idct_mmx_put(uint8_t *dest, int line_size, int16_t *block); void ff_xvid_idct_mmx_put(uint8_t *dest, ptrdiff_t line_size, int16_t *block);
void ff_xvid_idct_mmx_add(uint8_t *dest, int line_size, int16_t *block); void ff_xvid_idct_mmx_add(uint8_t *dest, ptrdiff_t line_size, int16_t *block);
void ff_xvid_idct_mmxext(short *block); void ff_xvid_idct_mmxext(short *block);
void ff_xvid_idct_mmxext_put(uint8_t *dest, int line_size, int16_t *block); void ff_xvid_idct_mmxext_put(uint8_t *dest, ptrdiff_t line_size, int16_t *block);
void ff_xvid_idct_mmxext_add(uint8_t *dest, int line_size, int16_t *block); void ff_xvid_idct_mmxext_add(uint8_t *dest, ptrdiff_t line_size, int16_t *block);
void ff_xvid_idct_sse2(short *block); void ff_xvid_idct_sse2(short *block);
void ff_xvid_idct_put_sse2(uint8_t *dest, int line_size, short *block); void ff_xvid_idct_put_sse2(uint8_t *dest, ptrdiff_t line_size, short *block);
void ff_xvid_idct_add_sse2(uint8_t *dest, int line_size, short *block); void ff_xvid_idct_add_sse2(uint8_t *dest, ptrdiff_t line_size, short *block);
#endif /* AVCODEC_X86_XVIDIDCT_H */ #endif /* AVCODEC_X86_XVIDIDCT_H */

View File

@ -27,25 +27,25 @@
#include "xvididct.h" #include "xvididct.h"
#if ARCH_X86_32 && HAVE_YASM #if ARCH_X86_32 && HAVE_YASM
static void xvid_idct_mmx_put(uint8_t *dest, int line_size, short *block) static void xvid_idct_mmx_put(uint8_t *dest, ptrdiff_t line_size, short *block)
{ {
ff_xvid_idct_mmx(block); ff_xvid_idct_mmx(block);
ff_put_pixels_clamped(block, dest, line_size); ff_put_pixels_clamped(block, dest, line_size);
} }
static void xvid_idct_mmx_add(uint8_t *dest, int line_size, short *block) static void xvid_idct_mmx_add(uint8_t *dest, ptrdiff_t line_size, short *block)
{ {
ff_xvid_idct_mmx(block); ff_xvid_idct_mmx(block);
ff_add_pixels_clamped(block, dest, line_size); ff_add_pixels_clamped(block, dest, line_size);
} }
static void xvid_idct_mmxext_put(uint8_t *dest, int line_size, short *block) static void xvid_idct_mmxext_put(uint8_t *dest, ptrdiff_t line_size, short *block)
{ {
ff_xvid_idct_mmxext(block); ff_xvid_idct_mmxext(block);
ff_put_pixels_clamped(block, dest, line_size); ff_put_pixels_clamped(block, dest, line_size);
} }
static void xvid_idct_mmxext_add(uint8_t *dest, int line_size, short *block) static void xvid_idct_mmxext_add(uint8_t *dest, ptrdiff_t line_size, short *block)
{ {
ff_xvid_idct_mmxext(block); ff_xvid_idct_mmxext(block);
ff_add_pixels_clamped(block, dest, line_size); ff_add_pixels_clamped(block, dest, line_size);

View File

@ -318,13 +318,13 @@ void ff_xvid_idct(int16_t *const in)
} }
} }
static void xvid_idct_put(uint8_t *dest, int line_size, int16_t *block) static void xvid_idct_put(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
{ {
ff_xvid_idct(block); ff_xvid_idct(block);
ff_put_pixels_clamped(block, dest, line_size); ff_put_pixels_clamped(block, dest, line_size);
} }
static void xvid_idct_add(uint8_t *dest, int line_size, int16_t *block) static void xvid_idct_add(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
{ {
ff_xvid_idct(block); ff_xvid_idct(block);
ff_add_pixels_clamped(block, dest, line_size); ff_add_pixels_clamped(block, dest, line_size);