mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2026-10-24 02:09:03 +03:00
avcodec/diracdsp: Use ptrdiff_t for stride
Reviewed-by: Lynne <dev@lynne.ee> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
This commit is contained in:
@@ -227,9 +227,9 @@ typedef struct DiracContext {
|
||||
|
||||
DECLARE_ALIGNED(16, uint8_t, obmc_weight)[3][MAX_BLOCKSIZE*MAX_BLOCKSIZE];
|
||||
|
||||
void (*put_pixels_tab[4])(uint8_t *dst, const uint8_t *src[5], int stride, int h);
|
||||
void (*avg_pixels_tab[4])(uint8_t *dst, const uint8_t *src[5], int stride, int h);
|
||||
void (*add_obmc)(uint16_t *dst, const uint8_t *src, int stride, const uint8_t *obmc_weight, int yblen);
|
||||
void (*put_pixels_tab[4])(uint8_t *dst, const uint8_t *src[5], ptrdiff_t stride, int h);
|
||||
void (*avg_pixels_tab[4])(uint8_t *dst, const uint8_t *src[5], ptrdiff_t stride, int h);
|
||||
void (*add_obmc)(uint16_t *dst, const uint8_t *src, ptrdiff_t stride, const uint8_t *obmc_weight, int yblen);
|
||||
dirac_weight_func weight_func;
|
||||
dirac_biweight_func biweight_func;
|
||||
|
||||
|
||||
@@ -29,8 +29,8 @@
|
||||
+3*((src)[-2*stride] + (src)[3*stride]) \
|
||||
-1*((src)[-3*stride] + (src)[4*stride]) + 16) >> 5)
|
||||
|
||||
static void dirac_hpel_filter(uint8_t *dsth, uint8_t *dstv, uint8_t *dstc, const uint8_t *src,
|
||||
int stride, int width, int height)
|
||||
static void dirac_hpel_filter(uint8_t *dsth, uint8_t *dstv, uint8_t *dstc,
|
||||
const uint8_t *src, ptrdiff_t stride, int width, int height)
|
||||
{
|
||||
int x, y;
|
||||
|
||||
@@ -52,7 +52,7 @@ static void dirac_hpel_filter(uint8_t *dsth, uint8_t *dstv, uint8_t *dstc, const
|
||||
}
|
||||
|
||||
#define PIXOP_BILINEAR(PFX, OP, WIDTH) \
|
||||
static void ff_ ## PFX ## _dirac_pixels ## WIDTH ## _bilinear_c(uint8_t *dst, const uint8_t *src[5], int stride, int h) \
|
||||
static void ff_ ## PFX ## _dirac_pixels ## WIDTH ## _bilinear_c(uint8_t *dst, const uint8_t *src[5], ptrdiff_t stride, int h) \
|
||||
{ \
|
||||
int x; \
|
||||
const uint8_t *s0 = src[0]; \
|
||||
@@ -88,8 +88,9 @@ PIXOP_BILINEAR(avg, OP_AVG, 32)
|
||||
#define op_scale2(x) dst[x] = av_clip_uint8( (src[x]*weights + dst[x]*weightd + (1<<(log2_denom-1))) >> log2_denom)
|
||||
|
||||
#define DIRAC_WEIGHT(W) \
|
||||
static void weight_dirac_pixels ## W ## _c(uint8_t *block, int stride, int log2_denom, \
|
||||
int weight, int h) { \
|
||||
static void weight_dirac_pixels ## W ## _c(uint8_t *block, ptrdiff_t stride, \
|
||||
int log2_denom, int weight, int h) \
|
||||
{ \
|
||||
int x; \
|
||||
while (h--) { \
|
||||
for (x = 0; x < W; x++) { \
|
||||
@@ -99,7 +100,8 @@ PIXOP_BILINEAR(avg, OP_AVG, 32)
|
||||
block += stride; \
|
||||
} \
|
||||
} \
|
||||
static void biweight_dirac_pixels ## W ## _c(uint8_t *dst, const uint8_t *src, int stride, int log2_denom, \
|
||||
static void biweight_dirac_pixels ## W ## _c(uint8_t *dst, const uint8_t *src, \
|
||||
ptrdiff_t stride, int log2_denom, \
|
||||
int weightd, int weights, int h) { \
|
||||
int x; \
|
||||
while (h--) { \
|
||||
@@ -117,7 +119,7 @@ DIRAC_WEIGHT(16)
|
||||
DIRAC_WEIGHT(32)
|
||||
|
||||
#define ADD_OBMC(xblen) \
|
||||
static void add_obmc ## xblen ## _c(uint16_t *dst, const uint8_t *src, int stride, \
|
||||
static void add_obmc ## xblen ## _c(uint16_t *dst, const uint8_t *src, ptrdiff_t stride, \
|
||||
const uint8_t *obmc_weight, int yblen) \
|
||||
{ \
|
||||
int x; \
|
||||
@@ -136,7 +138,9 @@ ADD_OBMC(8)
|
||||
ADD_OBMC(16)
|
||||
ADD_OBMC(32)
|
||||
|
||||
static void put_signed_rect_clamped_8bit_c(uint8_t *dst, int dst_stride, const uint8_t *_src, int src_stride, int width, int height)
|
||||
static void put_signed_rect_clamped_8bit_c(uint8_t *dst, ptrdiff_t dst_stride,
|
||||
const uint8_t *_src, ptrdiff_t src_stride,
|
||||
int width, int height)
|
||||
{
|
||||
int x, y;
|
||||
const int16_t *src = (const int16_t *)_src;
|
||||
@@ -153,8 +157,9 @@ static void put_signed_rect_clamped_8bit_c(uint8_t *dst, int dst_stride, const u
|
||||
}
|
||||
|
||||
#define PUT_SIGNED_RECT_CLAMPED(PX) \
|
||||
static void put_signed_rect_clamped_ ## PX ## bit_c(uint8_t *_dst, int dst_stride, const uint8_t *_src, \
|
||||
int src_stride, int width, int height) \
|
||||
static void put_signed_rect_clamped_ ## PX ## bit_c(uint8_t *_dst, ptrdiff_t dst_stride, \
|
||||
const uint8_t *_src, ptrdiff_t src_stride, \
|
||||
int width, int height) \
|
||||
{ \
|
||||
int x, y; \
|
||||
uint16_t *dst = (uint16_t *)_dst; \
|
||||
@@ -174,8 +179,8 @@ static void put_signed_rect_clamped_ ## PX ## bit_c(uint8_t *_dst, int dst_strid
|
||||
PUT_SIGNED_RECT_CLAMPED(10)
|
||||
PUT_SIGNED_RECT_CLAMPED(12)
|
||||
|
||||
static void add_rect_clamped_c(uint8_t *dst, const uint16_t *src, int stride,
|
||||
const int16_t *idwt, int idwt_stride,
|
||||
static void add_rect_clamped_c(uint8_t *dst, const uint16_t *src, ptrdiff_t stride,
|
||||
const int16_t *idwt, ptrdiff_t idwt_stride,
|
||||
int width, int height)
|
||||
{
|
||||
int x, y;
|
||||
|
||||
@@ -24,11 +24,13 @@
|
||||
#include <stdint.h>
|
||||
#include <stddef.h>
|
||||
|
||||
typedef void (*dirac_weight_func)(uint8_t *block, int stride, int log2_denom, int weight, int h);
|
||||
typedef void (*dirac_biweight_func)(uint8_t *dst, const uint8_t *src, int stride, int log2_denom, int weightd, int weights, int h);
|
||||
typedef void (*dirac_weight_func)(uint8_t *block, ptrdiff_t stride, int log2_denom, int weight, int h);
|
||||
typedef void (*dirac_biweight_func)(uint8_t *dst, const uint8_t *src, ptrdiff_t stride,
|
||||
int log2_denom, int weightd, int weights, int h);
|
||||
|
||||
typedef struct {
|
||||
void (*dirac_hpel_filter)(uint8_t *dsth, uint8_t *dstv, uint8_t *dstc, const uint8_t *src, int stride, int width, int height);
|
||||
void (*dirac_hpel_filter)(uint8_t *dsth, uint8_t *dstv, uint8_t *dstc,
|
||||
const uint8_t *src, ptrdiff_t stride, int width, int height);
|
||||
/**
|
||||
* dirac_pixels_tab[width][subpel]
|
||||
* width is 2 for 32, 1 for 16, 0 for 8
|
||||
@@ -39,13 +41,20 @@ typedef struct {
|
||||
* src[0-3] is each of the hpel planes
|
||||
* src[4] is the 1/8 pel weights if needed
|
||||
*/
|
||||
void (*put_dirac_pixels_tab[3][4])(uint8_t *dst, const uint8_t *src[5], int stride, int h);
|
||||
void (*avg_dirac_pixels_tab[3][4])(uint8_t *dst, const uint8_t *src[5], int stride, int h);
|
||||
void (*put_dirac_pixels_tab[3][4])(uint8_t *dst, const uint8_t *src[5], ptrdiff_t stride, int h);
|
||||
void (*avg_dirac_pixels_tab[3][4])(uint8_t *dst, const uint8_t *src[5], ptrdiff_t stride, int h);
|
||||
|
||||
void (*put_signed_rect_clamped[3])(uint8_t *dst/*align 16*/, int dst_stride, const uint8_t *src/*align 16*/, int src_stride, int width, int height/*mod 2*/);
|
||||
void (*put_rect_clamped)(uint8_t *dst/*align 16*/, int dst_stride, const uint8_t *src/*align 16*/, int src_stride, int width, int height/*mod 2*/);
|
||||
void (*add_rect_clamped)(uint8_t *dst/*align 16*/, const uint16_t *src/*align 16*/, int stride, const int16_t *idwt/*align 16*/, int idwt_stride, int width, int height/*mod 2*/);
|
||||
void (*add_dirac_obmc[3])(uint16_t *dst, const uint8_t *src, int stride, const uint8_t *obmc_weight, int yblen);
|
||||
void (*put_signed_rect_clamped[3])(uint8_t *dst/*align 16*/, ptrdiff_t dst_stride,
|
||||
const uint8_t *src/*align 16*/, ptrdiff_t src_stride,
|
||||
int width, int height/*mod 2*/);
|
||||
void (*put_rect_clamped)(uint8_t *dst/*align 16*/, ptrdiff_t dst_stride,
|
||||
const uint8_t *src/*align 16*/, ptrdiff_t src_stride,
|
||||
int width, int height/*mod 2*/);
|
||||
void (*add_rect_clamped)(uint8_t *dst/*align 16*/, const uint16_t *src/*align 16*/,
|
||||
ptrdiff_t stride, const int16_t *idwt/*align 16*/,
|
||||
ptrdiff_t idwt_stride, int width, int height/*mod 2*/);
|
||||
void (*add_dirac_obmc[3])(uint16_t *dst, const uint8_t *src, ptrdiff_t stride,
|
||||
const uint8_t *obmc_weight, int yblen);
|
||||
|
||||
/* 0-1: int16_t and int32_t asm/c, 2-3: int16 and int32_t, C only */
|
||||
void (*dequant_subband[4])(uint8_t *src, uint8_t *dst, ptrdiff_t stride, const int qf, const int qs, int tot_v, int tot_h);
|
||||
@@ -55,9 +64,9 @@ typedef struct {
|
||||
} DiracDSPContext;
|
||||
|
||||
#define DECL_DIRAC_PIXOP(PFX, EXT) \
|
||||
void ff_ ## PFX ## _dirac_pixels8_ ## EXT(uint8_t *dst, const uint8_t *src[5], int stride, int h); \
|
||||
void ff_ ## PFX ## _dirac_pixels16_ ## EXT(uint8_t *dst, const uint8_t *src[5], int stride, int h); \
|
||||
void ff_ ## PFX ## _dirac_pixels32_ ## EXT(uint8_t *dst, const uint8_t *src[5], int stride, int h)
|
||||
void ff_ ## PFX ## _dirac_pixels8_ ## EXT(uint8_t *dst, const uint8_t *src[5], ptrdiff_t stride, int h); \
|
||||
void ff_ ## PFX ## _dirac_pixels16_ ## EXT(uint8_t *dst, const uint8_t *src[5], ptrdiff_t stride, int h); \
|
||||
void ff_ ## PFX ## _dirac_pixels32_ ## EXT(uint8_t *dst, const uint8_t *src[5], ptrdiff_t stride, int h)
|
||||
|
||||
DECL_DIRAC_PIXOP(put, c);
|
||||
DECL_DIRAC_PIXOP(avg, c);
|
||||
|
||||
@@ -738,41 +738,41 @@ void ff_put_pixels8_l2_8(uint8_t *dst, const uint8_t *src1, const uint8_t *src2,
|
||||
|
||||
#if CONFIG_DIRAC_DECODER
|
||||
#define DIRAC_MC(OPNAME)\
|
||||
void ff_ ## OPNAME ## _dirac_pixels8_c(uint8_t *dst, const uint8_t *src[5], int stride, int h)\
|
||||
void ff_ ## OPNAME ## _dirac_pixels8_c(uint8_t *dst, const uint8_t *src[5], ptrdiff_t stride, int h)\
|
||||
{\
|
||||
OPNAME ## _pixels8_8_c(dst, src[0], stride, h);\
|
||||
}\
|
||||
void ff_ ## OPNAME ## _dirac_pixels16_c(uint8_t *dst, const uint8_t *src[5], int stride, int h)\
|
||||
void ff_ ## OPNAME ## _dirac_pixels16_c(uint8_t *dst, const uint8_t *src[5], ptrdiff_t stride, int h)\
|
||||
{\
|
||||
OPNAME ## _pixels16_8_c(dst, src[0], stride, h);\
|
||||
}\
|
||||
void ff_ ## OPNAME ## _dirac_pixels32_c(uint8_t *dst, const uint8_t *src[5], int stride, int h)\
|
||||
void ff_ ## OPNAME ## _dirac_pixels32_c(uint8_t *dst, const uint8_t *src[5], ptrdiff_t stride, int h)\
|
||||
{\
|
||||
OPNAME ## _pixels16_8_c(dst , src[0] , stride, h);\
|
||||
OPNAME ## _pixels16_8_c(dst+16, src[0]+16, stride, h);\
|
||||
}\
|
||||
void ff_ ## OPNAME ## _dirac_pixels8_l2_c(uint8_t *dst, const uint8_t *src[5], int stride, int h)\
|
||||
void ff_ ## OPNAME ## _dirac_pixels8_l2_c(uint8_t *dst, const uint8_t *src[5], ptrdiff_t stride, int h)\
|
||||
{\
|
||||
OPNAME ## _pixels8_l2_8(dst, src[0], src[1], stride, stride, stride, h);\
|
||||
}\
|
||||
void ff_ ## OPNAME ## _dirac_pixels16_l2_c(uint8_t *dst, const uint8_t *src[5], int stride, int h)\
|
||||
void ff_ ## OPNAME ## _dirac_pixels16_l2_c(uint8_t *dst, const uint8_t *src[5], ptrdiff_t stride, int h)\
|
||||
{\
|
||||
OPNAME ## _pixels16_l2_8(dst, src[0], src[1], stride, stride, stride, h);\
|
||||
}\
|
||||
void ff_ ## OPNAME ## _dirac_pixels32_l2_c(uint8_t *dst, const uint8_t *src[5], int stride, int h)\
|
||||
void ff_ ## OPNAME ## _dirac_pixels32_l2_c(uint8_t *dst, const uint8_t *src[5], ptrdiff_t stride, int h)\
|
||||
{\
|
||||
OPNAME ## _pixels16_l2_8(dst , src[0] , src[1] , stride, stride, stride, h);\
|
||||
OPNAME ## _pixels16_l2_8(dst+16, src[0]+16, src[1]+16, stride, stride, stride, h);\
|
||||
}\
|
||||
void ff_ ## OPNAME ## _dirac_pixels8_l4_c(uint8_t *dst, const uint8_t *src[5], int stride, int h)\
|
||||
void ff_ ## OPNAME ## _dirac_pixels8_l4_c(uint8_t *dst, const uint8_t *src[5], ptrdiff_t stride, int h)\
|
||||
{\
|
||||
OPNAME ## _pixels8_l4_8(dst, src[0], src[1], src[2], src[3], stride, stride, stride, stride, stride, h);\
|
||||
}\
|
||||
void ff_ ## OPNAME ## _dirac_pixels16_l4_c(uint8_t *dst, const uint8_t *src[5], int stride, int h)\
|
||||
void ff_ ## OPNAME ## _dirac_pixels16_l4_c(uint8_t *dst, const uint8_t *src[5], ptrdiff_t stride, int h)\
|
||||
{\
|
||||
OPNAME ## _pixels16_l4_8(dst, src[0], src[1], src[2], src[3], stride, stride, stride, stride, stride, h);\
|
||||
}\
|
||||
void ff_ ## OPNAME ## _dirac_pixels32_l4_c(uint8_t *dst, const uint8_t *src[5], int stride, int h)\
|
||||
void ff_ ## OPNAME ## _dirac_pixels32_l4_c(uint8_t *dst, const uint8_t *src[5], ptrdiff_t stride, int h)\
|
||||
{\
|
||||
OPNAME ## _pixels16_l4_8(dst , src[0] , src[1] , src[2] , src[3] , stride, stride, stride, stride, stride, h);\
|
||||
OPNAME ## _pixels16_l4_8(dst+16, src[0]+16, src[1]+16, src[2]+16, src[3]+16, stride, stride, stride, stride, stride, h);\
|
||||
|
||||
@@ -132,15 +132,15 @@ cglobal dirac_hpel_filter_h_%1, 3,3,8, dst, src, width
|
||||
%endmacro
|
||||
|
||||
%macro PUT_RECT 1
|
||||
; void put_rect_clamped(uint8_t *dst, int dst_stride, int16_t *src, int src_stride, int width, int height)
|
||||
; void ff_put_signed_rect_clamped_sse2(uint8_t *dst, ptrdiff_t dst_stride,
|
||||
; const int16_t *src, ptrdiff_t src_stride,
|
||||
; int width, int height)
|
||||
cglobal put_signed_rect_clamped_%1, 5,9,3, dst, dst_stride, src, src_stride, w, dst2, src2
|
||||
mova m0, [pb_80]
|
||||
add wd, (mmsize-1)
|
||||
and wd, ~(mmsize-1)
|
||||
|
||||
%if ARCH_X86_64
|
||||
movsxd dst_strideq, dst_strided
|
||||
movsxd src_strideq, src_strided
|
||||
mov r7d, r5m
|
||||
mov r8d, wd
|
||||
%define wspill r8d
|
||||
@@ -175,15 +175,15 @@ cglobal put_signed_rect_clamped_%1, 5,9,3, dst, dst_stride, src, src_stride, w,
|
||||
%endm
|
||||
|
||||
%macro ADD_RECT 1
|
||||
; void add_rect_clamped(uint8_t *dst, uint16_t *src, int stride, int16_t *idwt, int idwt_stride, int width, int height)
|
||||
; void ff_add_rect_clamped_sse2(uint8_t *dst, const uint16_t *src, ptrdiff_t stride,
|
||||
; const int16_t *idwt, ptrdiff_t idwt_stride,
|
||||
; int width, int height)
|
||||
cglobal add_rect_clamped_%1, 7,9,3, dst, src, stride, idwt, idwt_stride, w, h
|
||||
mova m0, [pw_32]
|
||||
add wd, (mmsize-1)
|
||||
and wd, ~(mmsize-1)
|
||||
|
||||
%if ARCH_X86_64
|
||||
movsxd strideq, strided
|
||||
movsxd idwt_strideq, idwt_strided
|
||||
mov r8d, wd
|
||||
%define wspill r8d
|
||||
%else
|
||||
@@ -215,10 +215,10 @@ cglobal add_rect_clamped_%1, 7,9,3, dst, src, stride, idwt, idwt_stride, w, h
|
||||
%endm
|
||||
|
||||
%macro ADD_OBMC 2
|
||||
; void add_obmc(uint16_t *dst, uint8_t *src, int stride, uint8_t *obmc_weight, int yblen)
|
||||
; void ff_add_dirac_obmc16/32_sse2(uint16_t *dst, const uint8_t *src,
|
||||
; ptrdiff_t stride, const uint8_t *obmc_weight, int yblen)
|
||||
cglobal add_dirac_obmc%1_%2, 5,5,5, dst, src, stride, obmc, yblen
|
||||
pxor m4, m4
|
||||
movsxdifnidn strideq, strided
|
||||
.loop:
|
||||
%assign i 0
|
||||
%rep %1 / mmsize
|
||||
@@ -258,7 +258,6 @@ ADD_OBMC 16, sse2
|
||||
|
||||
cglobal add_dirac_obmc8_sse2, 5,5,4, dst, src, stride, obmc, yblen
|
||||
pxor m3, m3
|
||||
movsxdifnidn strideq, strided
|
||||
.loop:
|
||||
movh m0, [srcq]
|
||||
punpcklbw m0, m3
|
||||
@@ -314,11 +313,11 @@ cglobal dequant_subband_32, 7, 7, 4, src, dst, stride, qf, qs, tot_v, tot_h
|
||||
RET
|
||||
|
||||
INIT_XMM sse4
|
||||
; void put_signed_rect_clamped_10(uint8_t *dst, int dst_stride, const uint8_t *src, int src_stride, int width, int height)
|
||||
; void ff_put_signed_rect_clamped_10_sse4(uint8_t *dst, ptrdiff_t dst_stride,
|
||||
; const uint8_t *src, ptrdiff_t src_stride,
|
||||
; int width, int height)
|
||||
%if ARCH_X86_64
|
||||
cglobal put_signed_rect_clamped_10, 6, 8, 5, dst, dst_stride, src, src_stride, w, h, t1, t2
|
||||
movsxd dst_strideq, dst_strided
|
||||
movsxd src_strideq, src_strided
|
||||
%else
|
||||
cglobal put_signed_rect_clamped_10, 5, 7, 5, dst, dst_stride, src, src_stride, w, t1, t2
|
||||
%define hd r5mp
|
||||
|
||||
@@ -22,15 +22,23 @@
|
||||
#include "libavcodec/diracdsp.h"
|
||||
#include "fpel.h"
|
||||
|
||||
void ff_add_rect_clamped_sse2(uint8_t *, const uint16_t *, int, const int16_t *, int, int, int);
|
||||
void ff_add_rect_clamped_sse2(uint8_t *dst, const uint16_t *src, ptrdiff_t stride,
|
||||
const int16_t *idwt, ptrdiff_t idwt_stride,
|
||||
int width, int height);
|
||||
|
||||
void ff_add_dirac_obmc8_sse2(uint16_t *dst, const uint8_t *src, int stride, const uint8_t *obmc_weight, int yblen);
|
||||
void ff_add_dirac_obmc16_sse2(uint16_t *dst, const uint8_t *src, int stride, const uint8_t *obmc_weight, int yblen);
|
||||
void ff_add_dirac_obmc32_sse2(uint16_t *dst, const uint8_t *src, int stride, const uint8_t *obmc_weight, int yblen);
|
||||
void ff_add_dirac_obmc8_sse2(uint16_t *dst, const uint8_t *src, ptrdiff_t stride,
|
||||
const uint8_t *obmc_weight, int yblen);
|
||||
void ff_add_dirac_obmc16_sse2(uint16_t *dst, const uint8_t *src, ptrdiff_t stride,
|
||||
const uint8_t *obmc_weight, int yblen);
|
||||
void ff_add_dirac_obmc32_sse2(uint16_t *dst, const uint8_t *src, ptrdiff_t stride,
|
||||
const uint8_t *obmc_weight, int yblen);
|
||||
|
||||
void ff_put_rect_clamped_sse2(uint8_t *dst, int dst_stride, const int16_t *src, int src_stride, int width, int height);
|
||||
void ff_put_signed_rect_clamped_sse2(uint8_t *dst, int dst_stride, const int16_t *src, int src_stride, int width, int height);
|
||||
void ff_put_signed_rect_clamped_10_sse4(uint8_t *dst, int dst_stride, const uint8_t *src, int src_stride, int width, int height);
|
||||
void ff_put_rect_clamped_sse2(uint8_t *dst, ptrdiff_t dst_stride, const int16_t *src,
|
||||
ptrdiff_t src_stride, int width, int height);
|
||||
void ff_put_signed_rect_clamped_sse2(uint8_t *dst, ptrdiff_t dst_stride, const int16_t *src,
|
||||
ptrdiff_t src_stride, int width, int height);
|
||||
void ff_put_signed_rect_clamped_10_sse4(uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *src,
|
||||
ptrdiff_t src_stride, int width, int height);
|
||||
|
||||
void ff_dequant_subband_32_sse4(uint8_t *src, uint8_t *dst, ptrdiff_t stride, const int qf, const int qs, int tot_v, int tot_h);
|
||||
|
||||
@@ -40,7 +48,7 @@ void ff_dequant_subband_32_sse4(uint8_t *src, uint8_t *dst, ptrdiff_t stride, co
|
||||
void ff_dirac_hpel_filter_h_ ## EXT(uint8_t *, const uint8_t *, int); \
|
||||
\
|
||||
static void dirac_hpel_filter_ ## EXT(uint8_t *dsth, uint8_t *dstv, uint8_t *dstc, \
|
||||
const uint8_t *src, int stride, int width, int height) \
|
||||
const uint8_t *src, ptrdiff_t stride, int width, int height) \
|
||||
{ \
|
||||
while( height-- ) \
|
||||
{ \
|
||||
@@ -57,7 +65,7 @@ void ff_dequant_subband_32_sse4(uint8_t *src, uint8_t *dst, ptrdiff_t stride, co
|
||||
|
||||
#define DIRAC_PIXOP(OPNAME, EXT)\
|
||||
static void OPNAME ## _dirac_pixels16_ ## EXT(uint8_t *dst, const uint8_t *src[5], \
|
||||
int stride, int h) \
|
||||
ptrdiff_t stride, int h) \
|
||||
{\
|
||||
if (h&3)\
|
||||
ff_ ## OPNAME ## _dirac_pixels16_c(dst, src, stride, h);\
|
||||
@@ -65,7 +73,7 @@ static void OPNAME ## _dirac_pixels16_ ## EXT(uint8_t *dst, const uint8_t *src[5
|
||||
ff_ ## OPNAME ## _pixels16_ ## EXT(dst, src[0], stride, h);\
|
||||
}\
|
||||
static void OPNAME ## _dirac_pixels32_ ## EXT(uint8_t *dst, const uint8_t *src[5], \
|
||||
int stride, int h) \
|
||||
ptrdiff_t stride, int h) \
|
||||
{\
|
||||
if (h&3) {\
|
||||
ff_ ## OPNAME ## _dirac_pixels32_c(dst, src, stride, h);\
|
||||
|
||||
@@ -68,7 +68,8 @@ static void check_add_obmc(size_t func_index, int xblen)
|
||||
ff_diracdsp_init(&h);
|
||||
|
||||
if (check_func(h.add_dirac_obmc[func_index], "diracdsp.add_dirac_obmc_%d", xblen)) {
|
||||
declare_func(void, uint16_t*, const uint8_t*, int, const uint8_t *, int);
|
||||
declare_func(void, uint16_t *dst, const uint8_t *src, ptrdiff_t stride,
|
||||
const uint8_t *obmc_weight, int yblen);
|
||||
|
||||
RANDOMIZE_BUFFER8(src, YBLEN_MAX * xblen);
|
||||
RANDOMIZE_DESTS(dst, YBLEN_MAX * xblen);
|
||||
|
||||
Reference in New Issue
Block a user