mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-26 19:01:44 +02:00
configure: Remove av_restrict
All versions of MSVC that support C11 (namely >= v19.27)
also support the restrict keyword, therefore av_restrict
is no longer necessary since 75697836b1
.
Reviewed-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
This commit is contained in:
parent
53a51e70f2
commit
c00cd007e8
16
configure
vendored
16
configure
vendored
@ -6033,10 +6033,6 @@ extern_prefix=${sym%%ff_extern*}
|
|||||||
|
|
||||||
! disabled inline_asm && check_inline_asm inline_asm '"" ::'
|
! disabled inline_asm && check_inline_asm inline_asm '"" ::'
|
||||||
|
|
||||||
for restrict_keyword in restrict __restrict__ __restrict ""; do
|
|
||||||
test_code cc "" "char * $restrict_keyword p" && break
|
|
||||||
done
|
|
||||||
|
|
||||||
check_cc pragma_deprecated "" '_Pragma("GCC diagnostic push") _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"")'
|
check_cc pragma_deprecated "" '_Pragma("GCC diagnostic push") _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"")'
|
||||||
|
|
||||||
# The global variable ensures the bits appear unchanged in the object file.
|
# The global variable ensures the bits appear unchanged in the object file.
|
||||||
@ -7543,17 +7539,6 @@ elif enabled_any msvc icl; then
|
|||||||
fi
|
fi
|
||||||
# msvcrt10 x64 incorrectly enables log2, only msvcrt12 (MSVC 2013) onwards actually has log2.
|
# msvcrt10 x64 incorrectly enables log2, only msvcrt12 (MSVC 2013) onwards actually has log2.
|
||||||
check_cpp_condition log2 crtversion.h "_VC_CRT_MAJOR_VERSION >= 12"
|
check_cpp_condition log2 crtversion.h "_VC_CRT_MAJOR_VERSION >= 12"
|
||||||
# The CRT headers contain __declspec(restrict) in a few places, but if redefining
|
|
||||||
# restrict, this might break. MSVC 2010 and 2012 fail with __declspec(__restrict)
|
|
||||||
# (as it ends up if the restrict redefine is done before including stdlib.h), while
|
|
||||||
# MSVC 2013 and newer can handle it fine.
|
|
||||||
# If this declspec fails, force including stdlib.h before the restrict redefinition
|
|
||||||
# happens in config.h.
|
|
||||||
if [ $restrict_keyword != restrict ]; then
|
|
||||||
test_cc <<EOF || add_cflags -FIstdlib.h
|
|
||||||
__declspec($restrict_keyword) void *foo(int);
|
|
||||||
EOF
|
|
||||||
fi
|
|
||||||
# the new SSA optimzer in VS2015 U3 is mis-optimizing some parts of the code
|
# the new SSA optimzer in VS2015 U3 is mis-optimizing some parts of the code
|
||||||
# Issue has been fixed in MSVC v19.00.24218.
|
# Issue has been fixed in MSVC v19.00.24218.
|
||||||
test_cpp_condition windows.h "_MSC_FULL_VER >= 190024218" ||
|
test_cpp_condition windows.h "_MSC_FULL_VER >= 190024218" ||
|
||||||
@ -8091,7 +8076,6 @@ cat > $TMPH <<EOF
|
|||||||
#define AVCONV_DATADIR "$(eval c_escape $datadir)"
|
#define AVCONV_DATADIR "$(eval c_escape $datadir)"
|
||||||
#define CC_IDENT "$(c_escape ${cc_ident:-Unknown compiler})"
|
#define CC_IDENT "$(c_escape ${cc_ident:-Unknown compiler})"
|
||||||
#define OS_NAME $target_os
|
#define OS_NAME $target_os
|
||||||
#define av_restrict $restrict_keyword
|
|
||||||
#define EXTERN_PREFIX "${extern_prefix}"
|
#define EXTERN_PREFIX "${extern_prefix}"
|
||||||
#define EXTERN_ASM ${extern_prefix}
|
#define EXTERN_ASM ${extern_prefix}
|
||||||
#define BUILDSUF "$build_suffix"
|
#define BUILDSUF "$build_suffix"
|
||||||
|
@ -26,14 +26,14 @@
|
|||||||
#include "libavutil/attributes.h"
|
#include "libavutil/attributes.h"
|
||||||
#include "aacpsdsp.h"
|
#include "aacpsdsp.h"
|
||||||
|
|
||||||
static void ps_add_squares_c(INTFLOAT *av_restrict dst,
|
static void ps_add_squares_c(INTFLOAT *restrict dst,
|
||||||
const INTFLOAT (*src)[2], int n)
|
const INTFLOAT (*src)[2], int n)
|
||||||
{
|
{
|
||||||
for (int i = 0; i < n; i++)
|
for (int i = 0; i < n; i++)
|
||||||
dst[i] += (UINTFLOAT)AAC_MADD28(src[i][0], src[i][0], src[i][1], src[i][1]);
|
dst[i] += (UINTFLOAT)AAC_MADD28(src[i][0], src[i][0], src[i][1], src[i][1]);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ps_mul_pair_single_c(INTFLOAT (*av_restrict dst)[2],
|
static void ps_mul_pair_single_c(INTFLOAT (*restrict dst)[2],
|
||||||
INTFLOAT (*src0)[2], INTFLOAT *src1,
|
INTFLOAT (*src0)[2], INTFLOAT *src1,
|
||||||
int n)
|
int n)
|
||||||
{
|
{
|
||||||
@ -43,7 +43,7 @@ static void ps_mul_pair_single_c(INTFLOAT (*av_restrict dst)[2],
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ps_hybrid_analysis_c(INTFLOAT (*av_restrict out)[2],
|
static void ps_hybrid_analysis_c(INTFLOAT (*restrict out)[2],
|
||||||
INTFLOAT (*in)[2],
|
INTFLOAT (*in)[2],
|
||||||
const INTFLOAT (*filter)[8][2],
|
const INTFLOAT (*filter)[8][2],
|
||||||
ptrdiff_t stride, int n)
|
ptrdiff_t stride, int n)
|
||||||
@ -77,7 +77,7 @@ static void ps_hybrid_analysis_c(INTFLOAT (*av_restrict out)[2],
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ps_hybrid_analysis_ileave_c(INTFLOAT (*av_restrict out)[32][2],
|
static void ps_hybrid_analysis_ileave_c(INTFLOAT (*restrict out)[32][2],
|
||||||
INTFLOAT L[2][38][64],
|
INTFLOAT L[2][38][64],
|
||||||
int i, int len)
|
int i, int len)
|
||||||
{
|
{
|
||||||
@ -90,7 +90,7 @@ static void ps_hybrid_analysis_ileave_c(INTFLOAT (*av_restrict out)[32][2],
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void ps_hybrid_synthesis_deint_c(INTFLOAT out[2][38][64],
|
static void ps_hybrid_synthesis_deint_c(INTFLOAT out[2][38][64],
|
||||||
INTFLOAT (*av_restrict in)[32][2],
|
INTFLOAT (*restrict in)[32][2],
|
||||||
int i, int len)
|
int i, int len)
|
||||||
{
|
{
|
||||||
for (; i < 64; i++) {
|
for (; i < 64; i++) {
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
* Bink DSP routines
|
* Bink DSP routines
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "config.h"
|
|
||||||
#include "libavutil/attributes.h"
|
#include "libavutil/attributes.h"
|
||||||
#include "binkdsp.h"
|
#include "binkdsp.h"
|
||||||
|
|
||||||
@ -131,7 +130,7 @@ static void scale_block_c(const uint8_t src[64]/*align 8*/, uint8_t *dst/*align
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void add_pixels8_c(uint8_t *av_restrict pixels, int16_t *block,
|
static void add_pixels8_c(uint8_t *restrict pixels, int16_t *block,
|
||||||
int line_size)
|
int line_size)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
@ -29,13 +29,11 @@
|
|||||||
|
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
#include "config.h"
|
|
||||||
|
|
||||||
typedef struct BinkDSPContext {
|
typedef struct BinkDSPContext {
|
||||||
void (*idct_put)(uint8_t *dest/*align 8*/, int line_size, int32_t *block/*align 16*/);
|
void (*idct_put)(uint8_t *dest/*align 8*/, int line_size, int32_t *block/*align 16*/);
|
||||||
void (*idct_add)(uint8_t *dest/*align 8*/, int line_size, int32_t *block/*align 16*/);
|
void (*idct_add)(uint8_t *dest/*align 8*/, int line_size, int32_t *block/*align 16*/);
|
||||||
void (*scale_block)(const uint8_t src[64]/*align 8*/, uint8_t *dst/*align 8*/, int linesize);
|
void (*scale_block)(const uint8_t src[64]/*align 8*/, uint8_t *dst/*align 8*/, int linesize);
|
||||||
void (*add_pixels8)(uint8_t *av_restrict pixels, int16_t *block, int line_size);
|
void (*add_pixels8)(uint8_t *restrict pixels, int16_t *block, int line_size);
|
||||||
} BinkDSPContext;
|
} BinkDSPContext;
|
||||||
|
|
||||||
void ff_binkdsp_init(BinkDSPContext *c);
|
void ff_binkdsp_init(BinkDSPContext *c);
|
||||||
|
@ -78,7 +78,7 @@ static const AVClass dnxhd_class = {
|
|||||||
.version = LIBAVUTIL_VERSION_INT,
|
.version = LIBAVUTIL_VERSION_INT,
|
||||||
};
|
};
|
||||||
|
|
||||||
static void dnxhd_8bit_get_pixels_8x4_sym(int16_t *av_restrict block,
|
static void dnxhd_8bit_get_pixels_8x4_sym(int16_t *restrict block,
|
||||||
const uint8_t *pixels,
|
const uint8_t *pixels,
|
||||||
ptrdiff_t line_size)
|
ptrdiff_t line_size)
|
||||||
{
|
{
|
||||||
@ -102,7 +102,7 @@ static void dnxhd_8bit_get_pixels_8x4_sym(int16_t *av_restrict block,
|
|||||||
}
|
}
|
||||||
|
|
||||||
static av_always_inline
|
static av_always_inline
|
||||||
void dnxhd_10bit_get_pixels_8x4_sym(int16_t *av_restrict block,
|
void dnxhd_10bit_get_pixels_8x4_sym(int16_t *restrict block,
|
||||||
const uint8_t *pixels,
|
const uint8_t *pixels,
|
||||||
ptrdiff_t line_size)
|
ptrdiff_t line_size)
|
||||||
{
|
{
|
||||||
|
@ -26,8 +26,6 @@
|
|||||||
|
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
#include "config.h"
|
|
||||||
|
|
||||||
#include "libavutil/mem_internal.h"
|
#include "libavutil/mem_internal.h"
|
||||||
|
|
||||||
#include "mpegvideo.h"
|
#include "mpegvideo.h"
|
||||||
@ -107,7 +105,7 @@ typedef struct DNXHDEncContext {
|
|||||||
RCCMPEntry *mb_cmp_tmp;
|
RCCMPEntry *mb_cmp_tmp;
|
||||||
RCEntry *mb_rc;
|
RCEntry *mb_rc;
|
||||||
|
|
||||||
void (*get_pixels_8x4_sym)(int16_t *av_restrict /* align 16 */ block,
|
void (*get_pixels_8x4_sym)(int16_t *restrict /* align 16 */ block,
|
||||||
const uint8_t *pixels, ptrdiff_t line_size);
|
const uint8_t *pixels, ptrdiff_t line_size);
|
||||||
} DNXHDEncContext;
|
} DNXHDEncContext;
|
||||||
|
|
||||||
|
@ -346,7 +346,7 @@ static inline void bit_copy(PutBitContext *pb, GetBitContext *gb)
|
|||||||
put_bits(pb, bits_left, get_bits(gb, bits_left));
|
put_bits(pb, bits_left, get_bits(gb, bits_left));
|
||||||
}
|
}
|
||||||
|
|
||||||
static av_always_inline void put_block_8x4(int16_t *block, uint8_t *av_restrict p, int stride)
|
static av_always_inline void put_block_8x4(int16_t *block, uint8_t *restrict p, int stride)
|
||||||
{
|
{
|
||||||
int i, j;
|
int i, j;
|
||||||
|
|
||||||
|
@ -361,7 +361,7 @@ static void do_shiftings(ELBGContext *elbg)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void do_elbg(ELBGContext *av_restrict elbg, int *points, int numpoints,
|
static void do_elbg(ELBGContext *restrict elbg, int *points, int numpoints,
|
||||||
int max_steps)
|
int max_steps)
|
||||||
{
|
{
|
||||||
int *const size_part = elbg->size_part;
|
int *const size_part = elbg->size_part;
|
||||||
@ -435,7 +435,7 @@ static void do_elbg(ELBGContext *av_restrict elbg, int *points, int numpoints,
|
|||||||
* If not, it calls do_elbg for a (smaller) random sample of the points in
|
* If not, it calls do_elbg for a (smaller) random sample of the points in
|
||||||
* points.
|
* points.
|
||||||
*/
|
*/
|
||||||
static void init_elbg(ELBGContext *av_restrict elbg, int *points, int *temp_points,
|
static void init_elbg(ELBGContext *restrict elbg, int *points, int *temp_points,
|
||||||
int numpoints, int max_steps)
|
int numpoints, int max_steps)
|
||||||
{
|
{
|
||||||
int dim = elbg->dim;
|
int dim = elbg->dim;
|
||||||
@ -463,7 +463,7 @@ int avpriv_elbg_do(ELBGContext **elbgp, int *points, int dim, int numpoints,
|
|||||||
int *codebook, int num_cb, int max_steps,
|
int *codebook, int num_cb, int max_steps,
|
||||||
int *closest_cb, AVLFG *rand_state, uintptr_t flags)
|
int *closest_cb, AVLFG *rand_state, uintptr_t flags)
|
||||||
{
|
{
|
||||||
ELBGContext *const av_restrict elbg = *elbgp ? *elbgp : av_mallocz(sizeof(*elbg));
|
ELBGContext *const restrict elbg = *elbgp ? *elbgp : av_mallocz(sizeof(*elbg));
|
||||||
|
|
||||||
if (!elbg)
|
if (!elbg)
|
||||||
return AVERROR(ENOMEM);
|
return AVERROR(ENOMEM);
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
#include "hpel_template.c"
|
#include "hpel_template.c"
|
||||||
#include "pel_template.c"
|
#include "pel_template.c"
|
||||||
|
|
||||||
static inline void FUNC(copy_block2)(uint8_t *dst, const uint8_t *av_restrict src, int dstStride, int srcStride, int h)
|
static inline void FUNC(copy_block2)(uint8_t *dst, const uint8_t *restrict src, int dstStride, int srcStride, int h)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
for(i=0; i<h; i++)
|
for(i=0; i<h; i++)
|
||||||
@ -37,7 +37,7 @@ static inline void FUNC(copy_block2)(uint8_t *dst, const uint8_t *av_restrict sr
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void FUNC(copy_block4)(uint8_t *dst, const uint8_t *av_restrict src, int dstStride, int srcStride, int h)
|
static inline void FUNC(copy_block4)(uint8_t *dst, const uint8_t *restrict src, int dstStride, int srcStride, int h)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
for(i=0; i<h; i++)
|
for(i=0; i<h; i++)
|
||||||
@ -48,7 +48,7 @@ static inline void FUNC(copy_block4)(uint8_t *dst, const uint8_t *av_restrict sr
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void FUNC(copy_block8)(uint8_t *dst, const uint8_t *av_restrict src, int dstStride, int srcStride, int h)
|
static inline void FUNC(copy_block8)(uint8_t *dst, const uint8_t *restrict src, int dstStride, int srcStride, int h)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
for(i=0; i<h; i++)
|
for(i=0; i<h; i++)
|
||||||
@ -60,7 +60,7 @@ static inline void FUNC(copy_block8)(uint8_t *dst, const uint8_t *av_restrict sr
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void FUNC(copy_block16)(uint8_t *dst, const uint8_t *av_restrict src, int dstStride, int srcStride, int h)
|
static inline void FUNC(copy_block16)(uint8_t *dst, const uint8_t *restrict src, int dstStride, int srcStride, int h)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
for(i=0; i<h; i++)
|
for(i=0; i<h; i++)
|
||||||
@ -75,13 +75,13 @@ static inline void FUNC(copy_block16)(uint8_t *dst, const uint8_t *av_restrict s
|
|||||||
}
|
}
|
||||||
|
|
||||||
#define H264_LOWPASS(OPNAME, OP, OP2) \
|
#define H264_LOWPASS(OPNAME, OP, OP2) \
|
||||||
static av_unused void FUNC(OPNAME ## h264_qpel2_h_lowpass)(uint8_t *p_dst, const uint8_t *av_restrict p_src, int dstStride, int srcStride)\
|
static av_unused void FUNC(OPNAME ## h264_qpel2_h_lowpass)(uint8_t *p_dst, const uint8_t *restrict p_src, int dstStride, int srcStride)\
|
||||||
{\
|
{\
|
||||||
const int h=2;\
|
const int h=2;\
|
||||||
INIT_CLIP\
|
INIT_CLIP\
|
||||||
int i;\
|
int i;\
|
||||||
pixel *dst = (pixel*)p_dst;\
|
pixel *dst = (pixel*)p_dst;\
|
||||||
const pixel *av_restrict src = (const pixel*)p_src;\
|
const pixel *restrict src = (const pixel*)p_src;\
|
||||||
dstStride >>= sizeof(pixel)-1;\
|
dstStride >>= sizeof(pixel)-1;\
|
||||||
srcStride >>= sizeof(pixel)-1;\
|
srcStride >>= sizeof(pixel)-1;\
|
||||||
for(i=0; i<h; i++)\
|
for(i=0; i<h; i++)\
|
||||||
@ -93,13 +93,13 @@ static av_unused void FUNC(OPNAME ## h264_qpel2_h_lowpass)(uint8_t *p_dst, const
|
|||||||
}\
|
}\
|
||||||
}\
|
}\
|
||||||
\
|
\
|
||||||
static av_unused void FUNC(OPNAME ## h264_qpel2_v_lowpass)(uint8_t *_dst, const uint8_t *av_restrict _src, int dstStride, int srcStride)\
|
static av_unused void FUNC(OPNAME ## h264_qpel2_v_lowpass)(uint8_t *_dst, const uint8_t *restrict _src, int dstStride, int srcStride)\
|
||||||
{\
|
{\
|
||||||
const int w=2;\
|
const int w=2;\
|
||||||
INIT_CLIP\
|
INIT_CLIP\
|
||||||
int i;\
|
int i;\
|
||||||
pixel *dst = (pixel*)_dst;\
|
pixel *dst = (pixel*)_dst;\
|
||||||
const pixel *av_restrict src = (const pixel*)_src;\
|
const pixel *restrict src = (const pixel*)_src;\
|
||||||
dstStride >>= sizeof(pixel)-1;\
|
dstStride >>= sizeof(pixel)-1;\
|
||||||
srcStride >>= sizeof(pixel)-1;\
|
srcStride >>= sizeof(pixel)-1;\
|
||||||
for(i=0; i<w; i++)\
|
for(i=0; i<w; i++)\
|
||||||
@ -118,7 +118,7 @@ static av_unused void FUNC(OPNAME ## h264_qpel2_v_lowpass)(uint8_t *_dst, const
|
|||||||
}\
|
}\
|
||||||
}\
|
}\
|
||||||
\
|
\
|
||||||
static av_unused void FUNC(OPNAME ## h264_qpel2_hv_lowpass)(uint8_t *_dst, pixeltmp *tmp, const uint8_t *av_restrict _src, int dstStride, int tmpStride, int srcStride)\
|
static av_unused void FUNC(OPNAME ## h264_qpel2_hv_lowpass)(uint8_t *_dst, pixeltmp *tmp, const uint8_t *restrict _src, int dstStride, int tmpStride, int srcStride)\
|
||||||
{\
|
{\
|
||||||
const int h=2;\
|
const int h=2;\
|
||||||
const int w=2;\
|
const int w=2;\
|
||||||
@ -126,7 +126,7 @@ static av_unused void FUNC(OPNAME ## h264_qpel2_hv_lowpass)(uint8_t *_dst, pixel
|
|||||||
INIT_CLIP\
|
INIT_CLIP\
|
||||||
int i;\
|
int i;\
|
||||||
pixel *dst = (pixel*)_dst;\
|
pixel *dst = (pixel*)_dst;\
|
||||||
const pixel *av_restrict src = (const pixel*)_src;\
|
const pixel *restrict src = (const pixel*)_src;\
|
||||||
dstStride >>= sizeof(pixel)-1;\
|
dstStride >>= sizeof(pixel)-1;\
|
||||||
srcStride >>= sizeof(pixel)-1;\
|
srcStride >>= sizeof(pixel)-1;\
|
||||||
src -= 2*srcStride;\
|
src -= 2*srcStride;\
|
||||||
@ -153,13 +153,13 @@ static av_unused void FUNC(OPNAME ## h264_qpel2_hv_lowpass)(uint8_t *_dst, pixel
|
|||||||
tmp++;\
|
tmp++;\
|
||||||
}\
|
}\
|
||||||
}\
|
}\
|
||||||
static void FUNC(OPNAME ## h264_qpel4_h_lowpass)(uint8_t *_dst, const uint8_t *av_restrict _src, int dstStride, int srcStride)\
|
static void FUNC(OPNAME ## h264_qpel4_h_lowpass)(uint8_t *_dst, const uint8_t *restrict _src, int dstStride, int srcStride)\
|
||||||
{\
|
{\
|
||||||
const int h=4;\
|
const int h=4;\
|
||||||
INIT_CLIP\
|
INIT_CLIP\
|
||||||
int i;\
|
int i;\
|
||||||
pixel *dst = (pixel*)_dst;\
|
pixel *dst = (pixel*)_dst;\
|
||||||
const pixel *av_restrict src = (const pixel*)_src;\
|
const pixel *restrict src = (const pixel*)_src;\
|
||||||
dstStride >>= sizeof(pixel)-1;\
|
dstStride >>= sizeof(pixel)-1;\
|
||||||
srcStride >>= sizeof(pixel)-1;\
|
srcStride >>= sizeof(pixel)-1;\
|
||||||
for(i=0; i<h; i++)\
|
for(i=0; i<h; i++)\
|
||||||
@ -173,13 +173,13 @@ static void FUNC(OPNAME ## h264_qpel4_h_lowpass)(uint8_t *_dst, const uint8_t *a
|
|||||||
}\
|
}\
|
||||||
}\
|
}\
|
||||||
\
|
\
|
||||||
static void FUNC(OPNAME ## h264_qpel4_v_lowpass)(uint8_t *_dst, const uint8_t *av_restrict _src, int dstStride, int srcStride)\
|
static void FUNC(OPNAME ## h264_qpel4_v_lowpass)(uint8_t *_dst, const uint8_t *restrict _src, int dstStride, int srcStride)\
|
||||||
{\
|
{\
|
||||||
const int w=4;\
|
const int w=4;\
|
||||||
INIT_CLIP\
|
INIT_CLIP\
|
||||||
int i;\
|
int i;\
|
||||||
pixel *dst = (pixel*)_dst;\
|
pixel *dst = (pixel*)_dst;\
|
||||||
const pixel *av_restrict src = (const pixel*)_src;\
|
const pixel *restrict src = (const pixel*)_src;\
|
||||||
dstStride >>= sizeof(pixel)-1;\
|
dstStride >>= sizeof(pixel)-1;\
|
||||||
srcStride >>= sizeof(pixel)-1;\
|
srcStride >>= sizeof(pixel)-1;\
|
||||||
for(i=0; i<w; i++)\
|
for(i=0; i<w; i++)\
|
||||||
@ -202,7 +202,7 @@ static void FUNC(OPNAME ## h264_qpel4_v_lowpass)(uint8_t *_dst, const uint8_t *a
|
|||||||
}\
|
}\
|
||||||
}\
|
}\
|
||||||
\
|
\
|
||||||
static void FUNC(OPNAME ## h264_qpel4_hv_lowpass)(uint8_t *_dst, pixeltmp *tmp, const uint8_t *av_restrict _src, int dstStride, int tmpStride, int srcStride)\
|
static void FUNC(OPNAME ## h264_qpel4_hv_lowpass)(uint8_t *_dst, pixeltmp *tmp, const uint8_t *restrict _src, int dstStride, int tmpStride, int srcStride)\
|
||||||
{\
|
{\
|
||||||
const int h=4;\
|
const int h=4;\
|
||||||
const int w=4;\
|
const int w=4;\
|
||||||
@ -210,7 +210,7 @@ static void FUNC(OPNAME ## h264_qpel4_hv_lowpass)(uint8_t *_dst, pixeltmp *tmp,
|
|||||||
INIT_CLIP\
|
INIT_CLIP\
|
||||||
int i;\
|
int i;\
|
||||||
pixel *dst = (pixel*)_dst;\
|
pixel *dst = (pixel*)_dst;\
|
||||||
const pixel *av_restrict src = (const pixel*)_src;\
|
const pixel *restrict src = (const pixel*)_src;\
|
||||||
dstStride >>= sizeof(pixel)-1;\
|
dstStride >>= sizeof(pixel)-1;\
|
||||||
srcStride >>= sizeof(pixel)-1;\
|
srcStride >>= sizeof(pixel)-1;\
|
||||||
src -= 2*srcStride;\
|
src -= 2*srcStride;\
|
||||||
@ -244,13 +244,13 @@ static void FUNC(OPNAME ## h264_qpel4_hv_lowpass)(uint8_t *_dst, pixeltmp *tmp,
|
|||||||
}\
|
}\
|
||||||
}\
|
}\
|
||||||
\
|
\
|
||||||
static void FUNC(OPNAME ## h264_qpel8_h_lowpass)(uint8_t *_dst, const uint8_t *av_restrict _src, int dstStride, int srcStride)\
|
static void FUNC(OPNAME ## h264_qpel8_h_lowpass)(uint8_t *_dst, const uint8_t *restrict _src, int dstStride, int srcStride)\
|
||||||
{\
|
{\
|
||||||
const int h=8;\
|
const int h=8;\
|
||||||
INIT_CLIP\
|
INIT_CLIP\
|
||||||
int i;\
|
int i;\
|
||||||
pixel *dst = (pixel*)_dst;\
|
pixel *dst = (pixel*)_dst;\
|
||||||
const pixel *av_restrict src = (const pixel*)_src;\
|
const pixel *restrict src = (const pixel*)_src;\
|
||||||
dstStride >>= sizeof(pixel)-1;\
|
dstStride >>= sizeof(pixel)-1;\
|
||||||
srcStride >>= sizeof(pixel)-1;\
|
srcStride >>= sizeof(pixel)-1;\
|
||||||
for(i=0; i<h; i++)\
|
for(i=0; i<h; i++)\
|
||||||
@ -268,13 +268,13 @@ static void FUNC(OPNAME ## h264_qpel8_h_lowpass)(uint8_t *_dst, const uint8_t *a
|
|||||||
}\
|
}\
|
||||||
}\
|
}\
|
||||||
\
|
\
|
||||||
static void FUNC(OPNAME ## h264_qpel8_v_lowpass)(uint8_t *_dst, const uint8_t *av_restrict _src, int dstStride, int srcStride)\
|
static void FUNC(OPNAME ## h264_qpel8_v_lowpass)(uint8_t *_dst, const uint8_t *restrict _src, int dstStride, int srcStride)\
|
||||||
{\
|
{\
|
||||||
const int w=8;\
|
const int w=8;\
|
||||||
INIT_CLIP\
|
INIT_CLIP\
|
||||||
int i;\
|
int i;\
|
||||||
pixel *dst = (pixel*)_dst;\
|
pixel *dst = (pixel*)_dst;\
|
||||||
const pixel *av_restrict src = (const pixel*)_src;\
|
const pixel *restrict src = (const pixel*)_src;\
|
||||||
dstStride >>= sizeof(pixel)-1;\
|
dstStride >>= sizeof(pixel)-1;\
|
||||||
srcStride >>= sizeof(pixel)-1;\
|
srcStride >>= sizeof(pixel)-1;\
|
||||||
for(i=0; i<w; i++)\
|
for(i=0; i<w; i++)\
|
||||||
@ -305,7 +305,7 @@ static void FUNC(OPNAME ## h264_qpel8_v_lowpass)(uint8_t *_dst, const uint8_t *a
|
|||||||
}\
|
}\
|
||||||
}\
|
}\
|
||||||
\
|
\
|
||||||
static void FUNC(OPNAME ## h264_qpel8_hv_lowpass)(uint8_t *_dst, pixeltmp *tmp, const uint8_t *av_restrict _src, int dstStride, int tmpStride, int srcStride)\
|
static void FUNC(OPNAME ## h264_qpel8_hv_lowpass)(uint8_t *_dst, pixeltmp *tmp, const uint8_t *restrict _src, int dstStride, int tmpStride, int srcStride)\
|
||||||
{\
|
{\
|
||||||
const int h=8;\
|
const int h=8;\
|
||||||
const int w=8;\
|
const int w=8;\
|
||||||
@ -313,7 +313,7 @@ static void FUNC(OPNAME ## h264_qpel8_hv_lowpass)(uint8_t *_dst, pixeltmp *tmp,
|
|||||||
INIT_CLIP\
|
INIT_CLIP\
|
||||||
int i;\
|
int i;\
|
||||||
pixel *dst = (pixel*)_dst;\
|
pixel *dst = (pixel*)_dst;\
|
||||||
const pixel *av_restrict src = (const pixel*)_src;\
|
const pixel *restrict src = (const pixel*)_src;\
|
||||||
dstStride >>= sizeof(pixel)-1;\
|
dstStride >>= sizeof(pixel)-1;\
|
||||||
srcStride >>= sizeof(pixel)-1;\
|
srcStride >>= sizeof(pixel)-1;\
|
||||||
src -= 2*srcStride;\
|
src -= 2*srcStride;\
|
||||||
@ -359,7 +359,7 @@ static void FUNC(OPNAME ## h264_qpel8_hv_lowpass)(uint8_t *_dst, pixeltmp *tmp,
|
|||||||
}\
|
}\
|
||||||
}\
|
}\
|
||||||
\
|
\
|
||||||
static void FUNC(OPNAME ## h264_qpel16_v_lowpass)(uint8_t *dst, const uint8_t *av_restrict src, int dstStride, int srcStride)\
|
static void FUNC(OPNAME ## h264_qpel16_v_lowpass)(uint8_t *dst, const uint8_t *restrict src, int dstStride, int srcStride)\
|
||||||
{\
|
{\
|
||||||
FUNC(OPNAME ## h264_qpel8_v_lowpass)(dst , src , dstStride, srcStride);\
|
FUNC(OPNAME ## h264_qpel8_v_lowpass)(dst , src , dstStride, srcStride);\
|
||||||
FUNC(OPNAME ## h264_qpel8_v_lowpass)(dst+8*sizeof(pixel), src+8*sizeof(pixel), dstStride, srcStride);\
|
FUNC(OPNAME ## h264_qpel8_v_lowpass)(dst+8*sizeof(pixel), src+8*sizeof(pixel), dstStride, srcStride);\
|
||||||
@ -369,7 +369,7 @@ static void FUNC(OPNAME ## h264_qpel16_v_lowpass)(uint8_t *dst, const uint8_t *a
|
|||||||
FUNC(OPNAME ## h264_qpel8_v_lowpass)(dst+8*sizeof(pixel), src+8*sizeof(pixel), dstStride, srcStride);\
|
FUNC(OPNAME ## h264_qpel8_v_lowpass)(dst+8*sizeof(pixel), src+8*sizeof(pixel), dstStride, srcStride);\
|
||||||
}\
|
}\
|
||||||
\
|
\
|
||||||
static void FUNC(OPNAME ## h264_qpel16_h_lowpass)(uint8_t *dst, const uint8_t *av_restrict src, int dstStride, int srcStride)\
|
static void FUNC(OPNAME ## h264_qpel16_h_lowpass)(uint8_t *dst, const uint8_t *restrict src, int dstStride, int srcStride)\
|
||||||
{\
|
{\
|
||||||
FUNC(OPNAME ## h264_qpel8_h_lowpass)(dst , src , dstStride, srcStride);\
|
FUNC(OPNAME ## h264_qpel8_h_lowpass)(dst , src , dstStride, srcStride);\
|
||||||
FUNC(OPNAME ## h264_qpel8_h_lowpass)(dst+8*sizeof(pixel), src+8*sizeof(pixel), dstStride, srcStride);\
|
FUNC(OPNAME ## h264_qpel8_h_lowpass)(dst+8*sizeof(pixel), src+8*sizeof(pixel), dstStride, srcStride);\
|
||||||
@ -379,7 +379,7 @@ static void FUNC(OPNAME ## h264_qpel16_h_lowpass)(uint8_t *dst, const uint8_t *a
|
|||||||
FUNC(OPNAME ## h264_qpel8_h_lowpass)(dst+8*sizeof(pixel), src+8*sizeof(pixel), dstStride, srcStride);\
|
FUNC(OPNAME ## h264_qpel8_h_lowpass)(dst+8*sizeof(pixel), src+8*sizeof(pixel), dstStride, srcStride);\
|
||||||
}\
|
}\
|
||||||
\
|
\
|
||||||
static void FUNC(OPNAME ## h264_qpel16_hv_lowpass)(uint8_t *dst, pixeltmp *tmp, const uint8_t *av_restrict src, int dstStride, int tmpStride, int srcStride){\
|
static void FUNC(OPNAME ## h264_qpel16_hv_lowpass)(uint8_t *dst, pixeltmp *tmp, const uint8_t *restrict src, int dstStride, int tmpStride, int srcStride){\
|
||||||
FUNC(OPNAME ## h264_qpel8_hv_lowpass)(dst , tmp , src , dstStride, tmpStride, srcStride);\
|
FUNC(OPNAME ## h264_qpel8_hv_lowpass)(dst , tmp , src , dstStride, tmpStride, srcStride);\
|
||||||
FUNC(OPNAME ## h264_qpel8_hv_lowpass)(dst+8*sizeof(pixel), tmp+8, src+8*sizeof(pixel), dstStride, tmpStride, srcStride);\
|
FUNC(OPNAME ## h264_qpel8_hv_lowpass)(dst+8*sizeof(pixel), tmp+8, src+8*sizeof(pixel), dstStride, tmpStride, srcStride);\
|
||||||
src += 8*srcStride;\
|
src += 8*srcStride;\
|
||||||
@ -389,31 +389,31 @@ static void FUNC(OPNAME ## h264_qpel16_hv_lowpass)(uint8_t *dst, pixeltmp *tmp,
|
|||||||
}\
|
}\
|
||||||
|
|
||||||
#define H264_MC(OPNAME, SIZE) \
|
#define H264_MC(OPNAME, SIZE) \
|
||||||
static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc00)(uint8_t *dst, const uint8_t *av_restrict src, ptrdiff_t stride)\
|
static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc00)(uint8_t *dst, const uint8_t *restrict src, ptrdiff_t stride)\
|
||||||
{\
|
{\
|
||||||
FUNCC(OPNAME ## pixels ## SIZE)(dst, src, stride, SIZE);\
|
FUNCC(OPNAME ## pixels ## SIZE)(dst, src, stride, SIZE);\
|
||||||
}\
|
}\
|
||||||
\
|
\
|
||||||
static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc10)(uint8_t *dst, const uint8_t *av_restrict src, ptrdiff_t stride)\
|
static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc10)(uint8_t *dst, const uint8_t *restrict src, ptrdiff_t stride)\
|
||||||
{\
|
{\
|
||||||
uint8_t half[SIZE*SIZE*sizeof(pixel)];\
|
uint8_t half[SIZE*SIZE*sizeof(pixel)];\
|
||||||
FUNC(put_h264_qpel ## SIZE ## _h_lowpass)(half, src, SIZE*sizeof(pixel), stride);\
|
FUNC(put_h264_qpel ## SIZE ## _h_lowpass)(half, src, SIZE*sizeof(pixel), stride);\
|
||||||
FUNC(OPNAME ## pixels ## SIZE ## _l2)(dst, src, half, stride, stride, SIZE*sizeof(pixel), SIZE);\
|
FUNC(OPNAME ## pixels ## SIZE ## _l2)(dst, src, half, stride, stride, SIZE*sizeof(pixel), SIZE);\
|
||||||
}\
|
}\
|
||||||
\
|
\
|
||||||
static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc20)(uint8_t *dst, const uint8_t *av_restrict src, ptrdiff_t stride)\
|
static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc20)(uint8_t *dst, const uint8_t *restrict src, ptrdiff_t stride)\
|
||||||
{\
|
{\
|
||||||
FUNC(OPNAME ## h264_qpel ## SIZE ## _h_lowpass)(dst, src, stride, stride);\
|
FUNC(OPNAME ## h264_qpel ## SIZE ## _h_lowpass)(dst, src, stride, stride);\
|
||||||
}\
|
}\
|
||||||
\
|
\
|
||||||
static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc30)(uint8_t *dst, const uint8_t *av_restrict src, ptrdiff_t stride)\
|
static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc30)(uint8_t *dst, const uint8_t *restrict src, ptrdiff_t stride)\
|
||||||
{\
|
{\
|
||||||
uint8_t half[SIZE*SIZE*sizeof(pixel)];\
|
uint8_t half[SIZE*SIZE*sizeof(pixel)];\
|
||||||
FUNC(put_h264_qpel ## SIZE ## _h_lowpass)(half, src, SIZE*sizeof(pixel), stride);\
|
FUNC(put_h264_qpel ## SIZE ## _h_lowpass)(half, src, SIZE*sizeof(pixel), stride);\
|
||||||
FUNC(OPNAME ## pixels ## SIZE ## _l2)(dst, src+sizeof(pixel), half, stride, stride, SIZE*sizeof(pixel), SIZE);\
|
FUNC(OPNAME ## pixels ## SIZE ## _l2)(dst, src+sizeof(pixel), half, stride, stride, SIZE*sizeof(pixel), SIZE);\
|
||||||
}\
|
}\
|
||||||
\
|
\
|
||||||
static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc01)(uint8_t *dst, const uint8_t *av_restrict src, ptrdiff_t stride)\
|
static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc01)(uint8_t *dst, const uint8_t *restrict src, ptrdiff_t stride)\
|
||||||
{\
|
{\
|
||||||
uint8_t full[SIZE*(SIZE+5)*sizeof(pixel)];\
|
uint8_t full[SIZE*(SIZE+5)*sizeof(pixel)];\
|
||||||
uint8_t * const full_mid= full + SIZE*2*sizeof(pixel);\
|
uint8_t * const full_mid= full + SIZE*2*sizeof(pixel);\
|
||||||
@ -423,7 +423,7 @@ static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc01)(uint8_t *dst, const uint
|
|||||||
FUNC(OPNAME ## pixels ## SIZE ## _l2)(dst, full_mid, half, stride, SIZE*sizeof(pixel), SIZE*sizeof(pixel), SIZE);\
|
FUNC(OPNAME ## pixels ## SIZE ## _l2)(dst, full_mid, half, stride, SIZE*sizeof(pixel), SIZE*sizeof(pixel), SIZE);\
|
||||||
}\
|
}\
|
||||||
\
|
\
|
||||||
static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc02)(uint8_t *dst, const uint8_t *av_restrict src, ptrdiff_t stride)\
|
static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc02)(uint8_t *dst, const uint8_t *restrict src, ptrdiff_t stride)\
|
||||||
{\
|
{\
|
||||||
uint8_t full[SIZE*(SIZE+5)*sizeof(pixel)];\
|
uint8_t full[SIZE*(SIZE+5)*sizeof(pixel)];\
|
||||||
uint8_t * const full_mid= full + SIZE*2*sizeof(pixel);\
|
uint8_t * const full_mid= full + SIZE*2*sizeof(pixel);\
|
||||||
@ -431,7 +431,7 @@ static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc02)(uint8_t *dst, const uint
|
|||||||
FUNC(OPNAME ## h264_qpel ## SIZE ## _v_lowpass)(dst, full_mid, stride, SIZE*sizeof(pixel));\
|
FUNC(OPNAME ## h264_qpel ## SIZE ## _v_lowpass)(dst, full_mid, stride, SIZE*sizeof(pixel));\
|
||||||
}\
|
}\
|
||||||
\
|
\
|
||||||
static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc03)(uint8_t *dst, const uint8_t *av_restrict src, ptrdiff_t stride)\
|
static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc03)(uint8_t *dst, const uint8_t *restrict src, ptrdiff_t stride)\
|
||||||
{\
|
{\
|
||||||
uint8_t full[SIZE*(SIZE+5)*sizeof(pixel)];\
|
uint8_t full[SIZE*(SIZE+5)*sizeof(pixel)];\
|
||||||
uint8_t * const full_mid= full + SIZE*2*sizeof(pixel);\
|
uint8_t * const full_mid= full + SIZE*2*sizeof(pixel);\
|
||||||
@ -441,7 +441,7 @@ static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc03)(uint8_t *dst, const uint
|
|||||||
FUNC(OPNAME ## pixels ## SIZE ## _l2)(dst, full_mid+SIZE*sizeof(pixel), half, stride, SIZE*sizeof(pixel), SIZE*sizeof(pixel), SIZE);\
|
FUNC(OPNAME ## pixels ## SIZE ## _l2)(dst, full_mid+SIZE*sizeof(pixel), half, stride, SIZE*sizeof(pixel), SIZE*sizeof(pixel), SIZE);\
|
||||||
}\
|
}\
|
||||||
\
|
\
|
||||||
static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc11)(uint8_t *dst, const uint8_t *av_restrict src, ptrdiff_t stride)\
|
static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc11)(uint8_t *dst, const uint8_t *restrict src, ptrdiff_t stride)\
|
||||||
{\
|
{\
|
||||||
uint8_t full[SIZE*(SIZE+5)*sizeof(pixel)];\
|
uint8_t full[SIZE*(SIZE+5)*sizeof(pixel)];\
|
||||||
uint8_t * const full_mid= full + SIZE*2*sizeof(pixel);\
|
uint8_t * const full_mid= full + SIZE*2*sizeof(pixel);\
|
||||||
@ -453,7 +453,7 @@ static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc11)(uint8_t *dst, const uint
|
|||||||
FUNC(OPNAME ## pixels ## SIZE ## _l2)(dst, halfH, halfV, stride, SIZE*sizeof(pixel), SIZE*sizeof(pixel), SIZE);\
|
FUNC(OPNAME ## pixels ## SIZE ## _l2)(dst, halfH, halfV, stride, SIZE*sizeof(pixel), SIZE*sizeof(pixel), SIZE);\
|
||||||
}\
|
}\
|
||||||
\
|
\
|
||||||
static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc31)(uint8_t *dst, const uint8_t *av_restrict src, ptrdiff_t stride)\
|
static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc31)(uint8_t *dst, const uint8_t *restrict src, ptrdiff_t stride)\
|
||||||
{\
|
{\
|
||||||
uint8_t full[SIZE*(SIZE+5)*sizeof(pixel)];\
|
uint8_t full[SIZE*(SIZE+5)*sizeof(pixel)];\
|
||||||
uint8_t * const full_mid= full + SIZE*2*sizeof(pixel);\
|
uint8_t * const full_mid= full + SIZE*2*sizeof(pixel);\
|
||||||
@ -465,7 +465,7 @@ static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc31)(uint8_t *dst, const uint
|
|||||||
FUNC(OPNAME ## pixels ## SIZE ## _l2)(dst, halfH, halfV, stride, SIZE*sizeof(pixel), SIZE*sizeof(pixel), SIZE);\
|
FUNC(OPNAME ## pixels ## SIZE ## _l2)(dst, halfH, halfV, stride, SIZE*sizeof(pixel), SIZE*sizeof(pixel), SIZE);\
|
||||||
}\
|
}\
|
||||||
\
|
\
|
||||||
static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc13)(uint8_t *dst, const uint8_t *av_restrict src, ptrdiff_t stride)\
|
static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc13)(uint8_t *dst, const uint8_t *restrict src, ptrdiff_t stride)\
|
||||||
{\
|
{\
|
||||||
uint8_t full[SIZE*(SIZE+5)*sizeof(pixel)];\
|
uint8_t full[SIZE*(SIZE+5)*sizeof(pixel)];\
|
||||||
uint8_t * const full_mid= full + SIZE*2*sizeof(pixel);\
|
uint8_t * const full_mid= full + SIZE*2*sizeof(pixel);\
|
||||||
@ -477,7 +477,7 @@ static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc13)(uint8_t *dst, const uint
|
|||||||
FUNC(OPNAME ## pixels ## SIZE ## _l2)(dst, halfH, halfV, stride, SIZE*sizeof(pixel), SIZE*sizeof(pixel), SIZE);\
|
FUNC(OPNAME ## pixels ## SIZE ## _l2)(dst, halfH, halfV, stride, SIZE*sizeof(pixel), SIZE*sizeof(pixel), SIZE);\
|
||||||
}\
|
}\
|
||||||
\
|
\
|
||||||
static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc33)(uint8_t *dst, const uint8_t *av_restrict src, ptrdiff_t stride)\
|
static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc33)(uint8_t *dst, const uint8_t *restrict src, ptrdiff_t stride)\
|
||||||
{\
|
{\
|
||||||
uint8_t full[SIZE*(SIZE+5)*sizeof(pixel)];\
|
uint8_t full[SIZE*(SIZE+5)*sizeof(pixel)];\
|
||||||
uint8_t * const full_mid= full + SIZE*2*sizeof(pixel);\
|
uint8_t * const full_mid= full + SIZE*2*sizeof(pixel);\
|
||||||
@ -489,13 +489,13 @@ static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc33)(uint8_t *dst, const uint
|
|||||||
FUNC(OPNAME ## pixels ## SIZE ## _l2)(dst, halfH, halfV, stride, SIZE*sizeof(pixel), SIZE*sizeof(pixel), SIZE);\
|
FUNC(OPNAME ## pixels ## SIZE ## _l2)(dst, halfH, halfV, stride, SIZE*sizeof(pixel), SIZE*sizeof(pixel), SIZE);\
|
||||||
}\
|
}\
|
||||||
\
|
\
|
||||||
static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc22)(uint8_t *dst, const uint8_t *av_restrict src, ptrdiff_t stride)\
|
static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc22)(uint8_t *dst, const uint8_t *restrict src, ptrdiff_t stride)\
|
||||||
{\
|
{\
|
||||||
pixeltmp tmp[SIZE*(SIZE+5)*sizeof(pixel)];\
|
pixeltmp tmp[SIZE*(SIZE+5)*sizeof(pixel)];\
|
||||||
FUNC(OPNAME ## h264_qpel ## SIZE ## _hv_lowpass)(dst, tmp, src, stride, SIZE*sizeof(pixel), stride);\
|
FUNC(OPNAME ## h264_qpel ## SIZE ## _hv_lowpass)(dst, tmp, src, stride, SIZE*sizeof(pixel), stride);\
|
||||||
}\
|
}\
|
||||||
\
|
\
|
||||||
static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc21)(uint8_t *dst, const uint8_t *av_restrict src, ptrdiff_t stride)\
|
static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc21)(uint8_t *dst, const uint8_t *restrict src, ptrdiff_t stride)\
|
||||||
{\
|
{\
|
||||||
pixeltmp tmp[SIZE*(SIZE+5)*sizeof(pixel)];\
|
pixeltmp tmp[SIZE*(SIZE+5)*sizeof(pixel)];\
|
||||||
uint8_t halfH[SIZE*SIZE*sizeof(pixel)];\
|
uint8_t halfH[SIZE*SIZE*sizeof(pixel)];\
|
||||||
@ -505,7 +505,7 @@ static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc21)(uint8_t *dst, const uint
|
|||||||
FUNC(OPNAME ## pixels ## SIZE ## _l2)(dst, halfH, halfHV, stride, SIZE*sizeof(pixel), SIZE*sizeof(pixel), SIZE);\
|
FUNC(OPNAME ## pixels ## SIZE ## _l2)(dst, halfH, halfHV, stride, SIZE*sizeof(pixel), SIZE*sizeof(pixel), SIZE);\
|
||||||
}\
|
}\
|
||||||
\
|
\
|
||||||
static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc23)(uint8_t *dst, const uint8_t *av_restrict src, ptrdiff_t stride)\
|
static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc23)(uint8_t *dst, const uint8_t *restrict src, ptrdiff_t stride)\
|
||||||
{\
|
{\
|
||||||
pixeltmp tmp[SIZE*(SIZE+5)*sizeof(pixel)];\
|
pixeltmp tmp[SIZE*(SIZE+5)*sizeof(pixel)];\
|
||||||
uint8_t halfH[SIZE*SIZE*sizeof(pixel)];\
|
uint8_t halfH[SIZE*SIZE*sizeof(pixel)];\
|
||||||
@ -515,7 +515,7 @@ static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc23)(uint8_t *dst, const uint
|
|||||||
FUNC(OPNAME ## pixels ## SIZE ## _l2)(dst, halfH, halfHV, stride, SIZE*sizeof(pixel), SIZE*sizeof(pixel), SIZE);\
|
FUNC(OPNAME ## pixels ## SIZE ## _l2)(dst, halfH, halfHV, stride, SIZE*sizeof(pixel), SIZE*sizeof(pixel), SIZE);\
|
||||||
}\
|
}\
|
||||||
\
|
\
|
||||||
static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc12)(uint8_t *dst, const uint8_t *av_restrict src, ptrdiff_t stride)\
|
static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc12)(uint8_t *dst, const uint8_t *restrict src, ptrdiff_t stride)\
|
||||||
{\
|
{\
|
||||||
uint8_t full[SIZE*(SIZE+5)*sizeof(pixel)];\
|
uint8_t full[SIZE*(SIZE+5)*sizeof(pixel)];\
|
||||||
uint8_t * const full_mid= full + SIZE*2*sizeof(pixel);\
|
uint8_t * const full_mid= full + SIZE*2*sizeof(pixel);\
|
||||||
@ -528,7 +528,7 @@ static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc12)(uint8_t *dst, const uint
|
|||||||
FUNC(OPNAME ## pixels ## SIZE ## _l2)(dst, halfV, halfHV, stride, SIZE*sizeof(pixel), SIZE*sizeof(pixel), SIZE);\
|
FUNC(OPNAME ## pixels ## SIZE ## _l2)(dst, halfV, halfHV, stride, SIZE*sizeof(pixel), SIZE*sizeof(pixel), SIZE);\
|
||||||
}\
|
}\
|
||||||
\
|
\
|
||||||
static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc32)(uint8_t *dst, const uint8_t *av_restrict src, ptrdiff_t stride)\
|
static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc32)(uint8_t *dst, const uint8_t *restrict src, ptrdiff_t stride)\
|
||||||
{\
|
{\
|
||||||
uint8_t full[SIZE*(SIZE+5)*sizeof(pixel)];\
|
uint8_t full[SIZE*(SIZE+5)*sizeof(pixel)];\
|
||||||
uint8_t * const full_mid= full + SIZE*2*sizeof(pixel);\
|
uint8_t * const full_mid= full + SIZE*2*sizeof(pixel);\
|
||||||
|
@ -70,7 +70,7 @@ av_cold void ff_init_scantable_permutation(uint8_t *idct_permutation,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ff_put_pixels_clamped_c(const int16_t *block, uint8_t *av_restrict pixels,
|
void ff_put_pixels_clamped_c(const int16_t *block, uint8_t *restrict pixels,
|
||||||
ptrdiff_t line_size)
|
ptrdiff_t line_size)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
@ -91,7 +91,7 @@ void ff_put_pixels_clamped_c(const int16_t *block, uint8_t *av_restrict pixels,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void put_pixels_clamped4_c(const int16_t *block, uint8_t *av_restrict pixels,
|
static void put_pixels_clamped4_c(const int16_t *block, uint8_t *restrict pixels,
|
||||||
int line_size)
|
int line_size)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
@ -108,7 +108,7 @@ static void put_pixels_clamped4_c(const int16_t *block, uint8_t *av_restrict pix
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void put_pixels_clamped2_c(const int16_t *block, uint8_t *av_restrict pixels,
|
static void put_pixels_clamped2_c(const int16_t *block, uint8_t *restrict pixels,
|
||||||
int line_size)
|
int line_size)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
@ -124,7 +124,7 @@ static void put_pixels_clamped2_c(const int16_t *block, uint8_t *av_restrict pix
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void put_signed_pixels_clamped_c(const int16_t *block,
|
static void put_signed_pixels_clamped_c(const int16_t *block,
|
||||||
uint8_t *av_restrict pixels,
|
uint8_t *restrict pixels,
|
||||||
ptrdiff_t line_size)
|
ptrdiff_t line_size)
|
||||||
{
|
{
|
||||||
int i, j;
|
int i, j;
|
||||||
@ -144,7 +144,7 @@ static void put_signed_pixels_clamped_c(const int16_t *block,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ff_add_pixels_clamped_c(const int16_t *block, uint8_t *av_restrict pixels,
|
void ff_add_pixels_clamped_c(const int16_t *block, uint8_t *restrict pixels,
|
||||||
ptrdiff_t line_size)
|
ptrdiff_t line_size)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
@ -164,7 +164,7 @@ void ff_add_pixels_clamped_c(const int16_t *block, uint8_t *av_restrict pixels,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void add_pixels_clamped4_c(const int16_t *block, uint8_t *av_restrict pixels,
|
static void add_pixels_clamped4_c(const int16_t *block, uint8_t *restrict pixels,
|
||||||
int line_size)
|
int line_size)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
@ -180,7 +180,7 @@ static void add_pixels_clamped4_c(const int16_t *block, uint8_t *av_restrict pix
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void add_pixels_clamped2_c(const int16_t *block, uint8_t *av_restrict pixels,
|
static void add_pixels_clamped2_c(const int16_t *block, uint8_t *restrict pixels,
|
||||||
int line_size)
|
int line_size)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
@ -22,8 +22,6 @@
|
|||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
#include "config.h"
|
|
||||||
|
|
||||||
struct AVCodecContext;
|
struct AVCodecContext;
|
||||||
|
|
||||||
enum idct_permutation_type {
|
enum idct_permutation_type {
|
||||||
@ -45,13 +43,13 @@ int ff_init_scantable_permutation_x86(uint8_t *idct_permutation,
|
|||||||
typedef struct IDCTDSPContext {
|
typedef struct IDCTDSPContext {
|
||||||
/* pixel ops : interface with DCT */
|
/* pixel ops : interface with DCT */
|
||||||
void (*put_pixels_clamped)(const int16_t *block /* align 16 */,
|
void (*put_pixels_clamped)(const int16_t *block /* align 16 */,
|
||||||
uint8_t *av_restrict pixels /* align 8 */,
|
uint8_t *restrict pixels /* align 8 */,
|
||||||
ptrdiff_t line_size);
|
ptrdiff_t line_size);
|
||||||
void (*put_signed_pixels_clamped)(const int16_t *block /* align 16 */,
|
void (*put_signed_pixels_clamped)(const int16_t *block /* align 16 */,
|
||||||
uint8_t *av_restrict pixels /* align 8 */,
|
uint8_t *restrict pixels /* align 8 */,
|
||||||
ptrdiff_t line_size);
|
ptrdiff_t line_size);
|
||||||
void (*add_pixels_clamped)(const int16_t *block /* align 16 */,
|
void (*add_pixels_clamped)(const int16_t *block /* align 16 */,
|
||||||
uint8_t *av_restrict pixels /* align 8 */,
|
uint8_t *restrict pixels /* align 8 */,
|
||||||
ptrdiff_t line_size);
|
ptrdiff_t line_size);
|
||||||
|
|
||||||
void (*idct)(int16_t *block /* align 16 */);
|
void (*idct)(int16_t *block /* align 16 */);
|
||||||
@ -91,9 +89,9 @@ typedef struct IDCTDSPContext {
|
|||||||
int mpeg4_studio_profile;
|
int mpeg4_studio_profile;
|
||||||
} IDCTDSPContext;
|
} IDCTDSPContext;
|
||||||
|
|
||||||
void ff_put_pixels_clamped_c(const int16_t *block, uint8_t *av_restrict pixels,
|
void ff_put_pixels_clamped_c(const int16_t *block, uint8_t *restrict pixels,
|
||||||
ptrdiff_t line_size);
|
ptrdiff_t line_size);
|
||||||
void ff_add_pixels_clamped_c(const int16_t *block, uint8_t *av_restrict pixels,
|
void ff_add_pixels_clamped_c(const int16_t *block, uint8_t *restrict pixels,
|
||||||
ptrdiff_t line_size);
|
ptrdiff_t line_size);
|
||||||
|
|
||||||
void ff_idctdsp_init(IDCTDSPContext *c, struct AVCodecContext *avctx);
|
void ff_idctdsp_init(IDCTDSPContext *c, struct AVCodecContext *avctx);
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
#include "libavutil/loongarch/loongson_intrinsics.h"
|
#include "libavutil/loongarch/loongson_intrinsics.h"
|
||||||
|
|
||||||
void ff_put_pixels_clamped_lasx(const int16_t *block,
|
void ff_put_pixels_clamped_lasx(const int16_t *block,
|
||||||
uint8_t *av_restrict pixels,
|
uint8_t *restrict pixels,
|
||||||
ptrdiff_t stride)
|
ptrdiff_t stride)
|
||||||
{
|
{
|
||||||
__m256i b0, b1, b2, b3;
|
__m256i b0, b1, b2, b3;
|
||||||
@ -48,7 +48,7 @@ void ff_put_pixels_clamped_lasx(const int16_t *block,
|
|||||||
}
|
}
|
||||||
|
|
||||||
void ff_put_signed_pixels_clamped_lasx(const int16_t *block,
|
void ff_put_signed_pixels_clamped_lasx(const int16_t *block,
|
||||||
uint8_t *av_restrict pixels,
|
uint8_t *restrict pixels,
|
||||||
ptrdiff_t stride)
|
ptrdiff_t stride)
|
||||||
{
|
{
|
||||||
__m256i b0, b1, b2, b3;
|
__m256i b0, b1, b2, b3;
|
||||||
@ -77,7 +77,7 @@ void ff_put_signed_pixels_clamped_lasx(const int16_t *block,
|
|||||||
}
|
}
|
||||||
|
|
||||||
void ff_add_pixels_clamped_lasx(const int16_t *block,
|
void ff_add_pixels_clamped_lasx(const int16_t *block,
|
||||||
uint8_t *av_restrict pixels,
|
uint8_t *restrict pixels,
|
||||||
ptrdiff_t stride)
|
ptrdiff_t stride)
|
||||||
{
|
{
|
||||||
__m256i b0, b1, b2, b3;
|
__m256i b0, b1, b2, b3;
|
||||||
|
@ -29,13 +29,13 @@ void ff_simple_idct_lasx(int16_t *block);
|
|||||||
void ff_simple_idct_put_lasx(uint8_t *dest, ptrdiff_t stride_dst, int16_t *block);
|
void ff_simple_idct_put_lasx(uint8_t *dest, ptrdiff_t stride_dst, int16_t *block);
|
||||||
void ff_simple_idct_add_lasx(uint8_t *dest, ptrdiff_t stride_dst, int16_t *block);
|
void ff_simple_idct_add_lasx(uint8_t *dest, ptrdiff_t stride_dst, int16_t *block);
|
||||||
void ff_put_pixels_clamped_lasx(const int16_t *block,
|
void ff_put_pixels_clamped_lasx(const int16_t *block,
|
||||||
uint8_t *av_restrict pixels,
|
uint8_t *restrict pixels,
|
||||||
ptrdiff_t line_size);
|
ptrdiff_t line_size);
|
||||||
void ff_put_signed_pixels_clamped_lasx(const int16_t *block,
|
void ff_put_signed_pixels_clamped_lasx(const int16_t *block,
|
||||||
uint8_t *av_restrict pixels,
|
uint8_t *restrict pixels,
|
||||||
ptrdiff_t line_size);
|
ptrdiff_t line_size);
|
||||||
void ff_add_pixels_clamped_lasx(const int16_t *block,
|
void ff_add_pixels_clamped_lasx(const int16_t *block,
|
||||||
uint8_t *av_restrict pixels,
|
uint8_t *restrict pixels,
|
||||||
ptrdiff_t line_size);
|
ptrdiff_t line_size);
|
||||||
|
|
||||||
#endif /* AVCODEC_LOONGARCH_IDCTDSP_LOONGARCH_H */
|
#endif /* AVCODEC_LOONGARCH_IDCTDSP_LOONGARCH_H */
|
||||||
|
@ -25,13 +25,13 @@
|
|||||||
#include "../mpegvideo.h"
|
#include "../mpegvideo.h"
|
||||||
|
|
||||||
void ff_put_pixels_clamped_msa(const int16_t *block,
|
void ff_put_pixels_clamped_msa(const int16_t *block,
|
||||||
uint8_t *av_restrict pixels,
|
uint8_t *restrict pixels,
|
||||||
ptrdiff_t line_size);
|
ptrdiff_t line_size);
|
||||||
void ff_put_signed_pixels_clamped_msa(const int16_t *block,
|
void ff_put_signed_pixels_clamped_msa(const int16_t *block,
|
||||||
uint8_t *av_restrict pixels,
|
uint8_t *restrict pixels,
|
||||||
ptrdiff_t line_size);
|
ptrdiff_t line_size);
|
||||||
void ff_add_pixels_clamped_msa(const int16_t *block,
|
void ff_add_pixels_clamped_msa(const int16_t *block,
|
||||||
uint8_t *av_restrict pixels,
|
uint8_t *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, ptrdiff_t stride, int16_t *block);
|
void ff_jref_idct_put_msa(uint8_t *dest, ptrdiff_t stride, int16_t *block);
|
||||||
@ -41,11 +41,11 @@ 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, ptrdiff_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 *restrict pixels, ptrdiff_t line_size);
|
||||||
void ff_put_signed_pixels_clamped_mmi(const int16_t *block,
|
void ff_put_signed_pixels_clamped_mmi(const int16_t *block,
|
||||||
uint8_t *av_restrict pixels, ptrdiff_t line_size);
|
uint8_t *restrict pixels, ptrdiff_t line_size);
|
||||||
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 *restrict pixels, ptrdiff_t line_size);
|
||||||
void ff_simple_idct_8_mmi(int16_t *block);
|
void ff_simple_idct_8_mmi(int16_t *block);
|
||||||
void ff_simple_idct_put_8_mmi(uint8_t *dest, ptrdiff_t line_size, int16_t *block);
|
void ff_simple_idct_put_8_mmi(uint8_t *dest, ptrdiff_t line_size, int16_t *block);
|
||||||
void ff_simple_idct_add_8_mmi(uint8_t *dest, ptrdiff_t line_size, int16_t *block);
|
void ff_simple_idct_add_8_mmi(uint8_t *dest, ptrdiff_t line_size, int16_t *block);
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
#include "libavutil/mips/mmiutils.h"
|
#include "libavutil/mips/mmiutils.h"
|
||||||
|
|
||||||
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 *restrict pixels, ptrdiff_t line_size)
|
||||||
{
|
{
|
||||||
double ftmp[8];
|
double ftmp[8];
|
||||||
|
|
||||||
@ -83,7 +83,7 @@ void ff_put_pixels_clamped_mmi(const int16_t *block,
|
|||||||
}
|
}
|
||||||
|
|
||||||
void ff_put_signed_pixels_clamped_mmi(const int16_t *block,
|
void ff_put_signed_pixels_clamped_mmi(const int16_t *block,
|
||||||
uint8_t *av_restrict pixels, ptrdiff_t line_size)
|
uint8_t *restrict pixels, ptrdiff_t line_size)
|
||||||
{
|
{
|
||||||
double ftmp[5];
|
double ftmp[5];
|
||||||
|
|
||||||
@ -148,7 +148,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 *restrict pixels, ptrdiff_t line_size)
|
||||||
{
|
{
|
||||||
double ftmp[9];
|
double ftmp[9];
|
||||||
uint64_t tmp[1];
|
uint64_t tmp[1];
|
||||||
|
@ -125,21 +125,21 @@ static void add_pixels_clamped_msa(const int16_t *block, uint8_t *pixels,
|
|||||||
}
|
}
|
||||||
|
|
||||||
void ff_put_pixels_clamped_msa(const int16_t *block,
|
void ff_put_pixels_clamped_msa(const int16_t *block,
|
||||||
uint8_t *av_restrict pixels,
|
uint8_t *restrict pixels,
|
||||||
ptrdiff_t line_size)
|
ptrdiff_t line_size)
|
||||||
{
|
{
|
||||||
put_pixels_clamped_msa(block, pixels, line_size);
|
put_pixels_clamped_msa(block, pixels, line_size);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ff_put_signed_pixels_clamped_msa(const int16_t *block,
|
void ff_put_signed_pixels_clamped_msa(const int16_t *block,
|
||||||
uint8_t *av_restrict pixels,
|
uint8_t *restrict pixels,
|
||||||
ptrdiff_t line_size)
|
ptrdiff_t line_size)
|
||||||
{
|
{
|
||||||
put_signed_pixels_clamped_msa(block, pixels, line_size);
|
put_signed_pixels_clamped_msa(block, pixels, line_size);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ff_add_pixels_clamped_msa(const int16_t *block,
|
void ff_add_pixels_clamped_msa(const int16_t *block,
|
||||||
uint8_t *av_restrict pixels,
|
uint8_t *restrict pixels,
|
||||||
ptrdiff_t line_size)
|
ptrdiff_t line_size)
|
||||||
{
|
{
|
||||||
add_pixels_clamped_msa(block, pixels, line_size);
|
add_pixels_clamped_msa(block, pixels, line_size);
|
||||||
|
@ -54,7 +54,7 @@ int ff_sse8_msa(MpegEncContext *v, const uint8_t *pu8Src, const uint8_t *pu8Ref,
|
|||||||
ptrdiff_t stride, int i32Height);
|
ptrdiff_t stride, int i32Height);
|
||||||
int ff_sse4_msa(MpegEncContext *v, const uint8_t *pu8Src, const uint8_t *pu8Ref,
|
int ff_sse4_msa(MpegEncContext *v, const uint8_t *pu8Src, const uint8_t *pu8Ref,
|
||||||
ptrdiff_t stride, int i32Height);
|
ptrdiff_t stride, int i32Height);
|
||||||
void ff_add_pixels8_msa(const uint8_t *av_restrict pixels, int16_t *block,
|
void ff_add_pixels8_msa(const uint8_t *restrict pixels, int16_t *block,
|
||||||
ptrdiff_t stride);
|
ptrdiff_t stride);
|
||||||
|
|
||||||
#endif // #ifndef AVCODEC_MIPS_ME_CMP_MIPS_H
|
#endif // #ifndef AVCODEC_MIPS_ME_CMP_MIPS_H
|
||||||
|
@ -24,16 +24,16 @@
|
|||||||
|
|
||||||
#include "../mpegvideo.h"
|
#include "../mpegvideo.h"
|
||||||
|
|
||||||
void ff_diff_pixels_msa(int16_t *av_restrict block, const uint8_t *src1,
|
void ff_diff_pixels_msa(int16_t *restrict block, const uint8_t *src1,
|
||||||
const uint8_t *src2, ptrdiff_t stride);
|
const uint8_t *src2, ptrdiff_t stride);
|
||||||
void ff_get_pixels_16_msa(int16_t *restrict dst, const uint8_t *src,
|
void ff_get_pixels_16_msa(int16_t *restrict dst, const uint8_t *src,
|
||||||
ptrdiff_t stride);
|
ptrdiff_t stride);
|
||||||
void ff_get_pixels_8_msa(int16_t *restrict dst, const uint8_t *src,
|
void ff_get_pixels_8_msa(int16_t *restrict dst, const uint8_t *src,
|
||||||
ptrdiff_t stride);
|
ptrdiff_t stride);
|
||||||
|
|
||||||
void ff_get_pixels_8_mmi(int16_t *av_restrict block, const uint8_t *pixels,
|
void ff_get_pixels_8_mmi(int16_t *restrict block, const uint8_t *pixels,
|
||||||
ptrdiff_t stride);
|
ptrdiff_t stride);
|
||||||
void ff_diff_pixels_mmi(int16_t *av_restrict block, const uint8_t *src1,
|
void ff_diff_pixels_mmi(int16_t *restrict block, const uint8_t *src1,
|
||||||
const uint8_t *src2, ptrdiff_t stride);
|
const uint8_t *src2, ptrdiff_t stride);
|
||||||
|
|
||||||
#endif // #ifndef AVCODEC_MIPS_PIXBLOCKDSP_MIPS_H
|
#endif // #ifndef AVCODEC_MIPS_PIXBLOCKDSP_MIPS_H
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
#include "libavutil/mips/asmdefs.h"
|
#include "libavutil/mips/asmdefs.h"
|
||||||
#include "libavutil/mips/mmiutils.h"
|
#include "libavutil/mips/mmiutils.h"
|
||||||
|
|
||||||
void ff_get_pixels_8_mmi(int16_t *av_restrict block, const uint8_t *pixels,
|
void ff_get_pixels_8_mmi(int16_t *restrict block, const uint8_t *pixels,
|
||||||
ptrdiff_t stride)
|
ptrdiff_t stride)
|
||||||
{
|
{
|
||||||
double ftmp[7];
|
double ftmp[7];
|
||||||
@ -94,7 +94,7 @@ void ff_get_pixels_8_mmi(int16_t *av_restrict block, const uint8_t *pixels,
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ff_diff_pixels_mmi(int16_t *av_restrict block, const uint8_t *src1,
|
void ff_diff_pixels_mmi(int16_t *restrict block, const uint8_t *src1,
|
||||||
const uint8_t *src2, ptrdiff_t stride)
|
const uint8_t *src2, ptrdiff_t stride)
|
||||||
{
|
{
|
||||||
double ftmp[5];
|
double ftmp[5];
|
||||||
|
@ -124,19 +124,19 @@ static void copy_width16_msa(const uint8_t *src, int32_t src_stride,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ff_get_pixels_16_msa(int16_t *av_restrict dest, const uint8_t *src,
|
void ff_get_pixels_16_msa(int16_t *restrict dest, const uint8_t *src,
|
||||||
ptrdiff_t stride)
|
ptrdiff_t stride)
|
||||||
{
|
{
|
||||||
copy_width16_msa(src, stride, (uint8_t *) dest, 16, 8);
|
copy_width16_msa(src, stride, (uint8_t *) dest, 16, 8);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ff_get_pixels_8_msa(int16_t *av_restrict dest, const uint8_t *src,
|
void ff_get_pixels_8_msa(int16_t *restrict dest, const uint8_t *src,
|
||||||
ptrdiff_t stride)
|
ptrdiff_t stride)
|
||||||
{
|
{
|
||||||
copy_8bit_to_16bit_width8_msa(src, stride, dest, 8, 8);
|
copy_8bit_to_16bit_width8_msa(src, stride, dest, 8, 8);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ff_diff_pixels_msa(int16_t *av_restrict block, const uint8_t *src1,
|
void ff_diff_pixels_msa(int16_t *restrict block, const uint8_t *src1,
|
||||||
const uint8_t *src2, ptrdiff_t stride)
|
const uint8_t *src2, ptrdiff_t stride)
|
||||||
{
|
{
|
||||||
diff_pixels_msa(block, src1, src2, stride);
|
diff_pixels_msa(block, src1, src2, stride);
|
||||||
|
@ -92,7 +92,7 @@ typedef struct MPADecodeContext {
|
|||||||
int err_recognition;
|
int err_recognition;
|
||||||
AVCodecContext* avctx;
|
AVCodecContext* avctx;
|
||||||
MPADSPContext mpadsp;
|
MPADSPContext mpadsp;
|
||||||
void (*butterflies_float)(float *av_restrict v1, float *av_restrict v2, int len);
|
void (*butterflies_float)(float *restrict v1, float *restrict v2, int len);
|
||||||
AVFrame *frame;
|
AVFrame *frame;
|
||||||
uint32_t crc;
|
uint32_t crc;
|
||||||
} MPADecodeContext;
|
} MPADecodeContext;
|
||||||
|
@ -80,7 +80,7 @@ static inline int celt_pulses2bits(const uint8_t *cache, int pulses)
|
|||||||
return (pulses == 0) ? 0 : cache[pulses] + 1;
|
return (pulses == 0) ? 0 : cache[pulses] + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void celt_normalize_residual(const int * av_restrict iy, float * av_restrict X,
|
static inline void celt_normalize_residual(const int * restrict iy, float * restrict X,
|
||||||
int N, float g)
|
int N, float g)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
@ -24,7 +24,7 @@
|
|||||||
#include "avcodec.h"
|
#include "avcodec.h"
|
||||||
#include "pixblockdsp.h"
|
#include "pixblockdsp.h"
|
||||||
|
|
||||||
static void get_pixels_16_c(int16_t *av_restrict block, const uint8_t *pixels,
|
static void get_pixels_16_c(int16_t *restrict block, const uint8_t *pixels,
|
||||||
ptrdiff_t stride)
|
ptrdiff_t stride)
|
||||||
{
|
{
|
||||||
AV_COPY128U(block + 0 * 8, pixels + 0 * stride);
|
AV_COPY128U(block + 0 * 8, pixels + 0 * stride);
|
||||||
@ -37,7 +37,7 @@ static void get_pixels_16_c(int16_t *av_restrict block, const uint8_t *pixels,
|
|||||||
AV_COPY128U(block + 7 * 8, pixels + 7 * stride);
|
AV_COPY128U(block + 7 * 8, pixels + 7 * stride);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void get_pixels_8_c(int16_t *av_restrict block, const uint8_t *pixels,
|
static void get_pixels_8_c(int16_t *restrict block, const uint8_t *pixels,
|
||||||
ptrdiff_t stride)
|
ptrdiff_t stride)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
@ -57,7 +57,7 @@ static void get_pixels_8_c(int16_t *av_restrict block, const uint8_t *pixels,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void diff_pixels_c(int16_t *av_restrict block, const uint8_t *s1,
|
static void diff_pixels_c(int16_t *restrict block, const uint8_t *s1,
|
||||||
const uint8_t *s2, ptrdiff_t stride)
|
const uint8_t *s2, ptrdiff_t stride)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
@ -21,22 +21,20 @@
|
|||||||
|
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
#include "config.h"
|
|
||||||
|
|
||||||
#include "avcodec.h"
|
#include "avcodec.h"
|
||||||
|
|
||||||
typedef struct PixblockDSPContext {
|
typedef struct PixblockDSPContext {
|
||||||
void (*get_pixels)(int16_t *av_restrict block /* align 16 */,
|
void (*get_pixels)(int16_t *restrict block /* align 16 */,
|
||||||
const uint8_t *pixels /* align 8 */,
|
const uint8_t *pixels /* align 8 */,
|
||||||
ptrdiff_t stride);
|
ptrdiff_t stride);
|
||||||
void (*get_pixels_unaligned)(int16_t *av_restrict block /* align 16 */,
|
void (*get_pixels_unaligned)(int16_t *restrict block /* align 16 */,
|
||||||
const uint8_t *pixels,
|
const uint8_t *pixels,
|
||||||
ptrdiff_t stride);
|
ptrdiff_t stride);
|
||||||
void (*diff_pixels)(int16_t *av_restrict block /* align 16 */,
|
void (*diff_pixels)(int16_t *restrict block /* align 16 */,
|
||||||
const uint8_t *s1 /* align 8 */,
|
const uint8_t *s1 /* align 8 */,
|
||||||
const uint8_t *s2 /* align 8 */,
|
const uint8_t *s2 /* align 8 */,
|
||||||
ptrdiff_t stride);
|
ptrdiff_t stride);
|
||||||
void (*diff_pixels_unaligned)(int16_t *av_restrict block /* align 16 */,
|
void (*diff_pixels_unaligned)(int16_t *restrict block /* align 16 */,
|
||||||
const uint8_t *s1,
|
const uint8_t *s1,
|
||||||
const uint8_t *s2,
|
const uint8_t *s2,
|
||||||
ptrdiff_t stride);
|
ptrdiff_t stride);
|
||||||
|
@ -939,9 +939,9 @@ void ff_thread_report_progress2(AVCodecContext *avctx, int field, int thread, in
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
const uint8_t *avpriv_find_start_code(const uint8_t *av_restrict p,
|
const uint8_t *avpriv_find_start_code(const uint8_t *restrict p,
|
||||||
const uint8_t *end,
|
const uint8_t *end,
|
||||||
uint32_t *av_restrict state)
|
uint32_t *restrict state)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
@ -196,8 +196,8 @@ static av_cold void uninit(AVFilterContext *ctx)
|
|||||||
av_freep(&s->gain_entry_cmd);
|
av_freep(&s->gain_entry_cmd);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void fast_convolute(FIREqualizerContext *av_restrict s, const float *av_restrict kernel_buf, float *av_restrict conv_buf,
|
static void fast_convolute(FIREqualizerContext *restrict s, const float *restrict kernel_buf, float *restrict conv_buf,
|
||||||
OverlapIndex *av_restrict idx, float *av_restrict data, int nsamples)
|
OverlapIndex *restrict idx, float *restrict data, int nsamples)
|
||||||
{
|
{
|
||||||
if (nsamples <= s->nsamples_max) {
|
if (nsamples <= s->nsamples_max) {
|
||||||
float *buf = conv_buf + idx->buf_idx * s->rdft_len;
|
float *buf = conv_buf + idx->buf_idx * s->rdft_len;
|
||||||
@ -233,9 +233,9 @@ static void fast_convolute(FIREqualizerContext *av_restrict s, const float *av_r
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void fast_convolute_nonlinear(FIREqualizerContext *av_restrict s, const float *av_restrict kernel_buf,
|
static void fast_convolute_nonlinear(FIREqualizerContext *restrict s, const float *restrict kernel_buf,
|
||||||
float *av_restrict conv_buf, OverlapIndex *av_restrict idx,
|
float *restrict conv_buf, OverlapIndex *restrict idx,
|
||||||
float *av_restrict data, int nsamples)
|
float *restrict data, int nsamples)
|
||||||
{
|
{
|
||||||
if (nsamples <= s->nsamples_max) {
|
if (nsamples <= s->nsamples_max) {
|
||||||
float *buf = conv_buf + idx->buf_idx * s->rdft_len;
|
float *buf = conv_buf + idx->buf_idx * s->rdft_len;
|
||||||
@ -272,8 +272,8 @@ static void fast_convolute_nonlinear(FIREqualizerContext *av_restrict s, const f
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void fast_convolute2(FIREqualizerContext *av_restrict s, const float *av_restrict kernel_buf, AVComplexFloat *av_restrict conv_buf,
|
static void fast_convolute2(FIREqualizerContext *restrict s, const float *restrict kernel_buf, AVComplexFloat *restrict conv_buf,
|
||||||
OverlapIndex *av_restrict idx, float *av_restrict data0, float *av_restrict data1, int nsamples)
|
OverlapIndex *restrict idx, float *restrict data0, float *restrict data1, int nsamples)
|
||||||
{
|
{
|
||||||
if (nsamples <= s->nsamples_max) {
|
if (nsamples <= s->nsamples_max) {
|
||||||
AVComplexFloat *buf = conv_buf + idx->buf_idx * s->rdft_len;
|
AVComplexFloat *buf = conv_buf + idx->buf_idx * s->rdft_len;
|
||||||
|
@ -97,7 +97,7 @@ void ff_rtp_send_vp9(AVFormatContext *s1, const uint8_t *buff, int size);
|
|||||||
void ff_rtp_send_jpeg(AVFormatContext *s1, const uint8_t *buff, int size);
|
void ff_rtp_send_jpeg(AVFormatContext *s1, const uint8_t *buff, int size);
|
||||||
void ff_rtp_send_raw_rfc4175(AVFormatContext *s1, const uint8_t *buf, int size, int interlaced, int field);
|
void ff_rtp_send_raw_rfc4175(AVFormatContext *s1, const uint8_t *buf, int size, int interlaced, int field);
|
||||||
|
|
||||||
const uint8_t *ff_h263_find_resync_marker_reverse(const uint8_t *av_restrict start,
|
const uint8_t *ff_h263_find_resync_marker_reverse(const uint8_t *restrict start,
|
||||||
const uint8_t *av_restrict end);
|
const uint8_t *restrict end);
|
||||||
|
|
||||||
#endif /* AVFORMAT_RTPENC_H */
|
#endif /* AVFORMAT_RTPENC_H */
|
||||||
|
@ -24,8 +24,8 @@
|
|||||||
|
|
||||||
#define RTP_H261_HEADER_SIZE 4
|
#define RTP_H261_HEADER_SIZE 4
|
||||||
|
|
||||||
static const uint8_t *find_resync_marker_reverse(const uint8_t *av_restrict start,
|
static const uint8_t *find_resync_marker_reverse(const uint8_t *restrict start,
|
||||||
const uint8_t *av_restrict end)
|
const uint8_t *restrict end)
|
||||||
{
|
{
|
||||||
const uint8_t *p = end - 1;
|
const uint8_t *p = end - 1;
|
||||||
start += 1; /* Make sure we never return the original start. */
|
start += 1; /* Make sure we never return the original start. */
|
||||||
|
@ -23,8 +23,8 @@
|
|||||||
#include "avformat.h"
|
#include "avformat.h"
|
||||||
#include "rtpenc.h"
|
#include "rtpenc.h"
|
||||||
|
|
||||||
const uint8_t *ff_h263_find_resync_marker_reverse(const uint8_t *av_restrict start,
|
const uint8_t *ff_h263_find_resync_marker_reverse(const uint8_t *restrict start,
|
||||||
const uint8_t *av_restrict end)
|
const uint8_t *restrict end)
|
||||||
{
|
{
|
||||||
const uint8_t *p = end - 1;
|
const uint8_t *p = end - 1;
|
||||||
start += 1; /* Make sure we never return the original start. */
|
start += 1; /* Make sure we never return the original start. */
|
||||||
|
@ -32,7 +32,7 @@ void ff_vector_fmul_window_vfp(float *dst, const float *src0,
|
|||||||
void ff_vector_fmul_reverse_vfp(float *dst, const float *src0,
|
void ff_vector_fmul_reverse_vfp(float *dst, const float *src0,
|
||||||
const float *src1, int len);
|
const float *src1, int len);
|
||||||
|
|
||||||
void ff_butterflies_float_vfp(float *av_restrict v1, float *av_restrict v2, int len);
|
void ff_butterflies_float_vfp(float *restrict v1, float *restrict v2, int len);
|
||||||
|
|
||||||
av_cold void ff_float_dsp_init_vfp(AVFloatDSPContext *fdsp, int cpu_flags)
|
av_cold void ff_float_dsp_init_vfp(AVFloatDSPContext *fdsp, int cpu_flags)
|
||||||
{
|
{
|
||||||
|
@ -135,7 +135,7 @@ static int scalarproduct_fixed_c(const int *v1, const int *v2, int len)
|
|||||||
return (int)(p >> 31);
|
return (int)(p >> 31);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void butterflies_fixed_c(int *av_restrict v1s, int *av_restrict v2, int len)
|
static void butterflies_fixed_c(int *restrict v1s, int *restrict v2, int len)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
unsigned int *v1 = v1s;
|
unsigned int *v1 = v1s;
|
||||||
|
@ -49,7 +49,6 @@
|
|||||||
#define AVUTIL_FIXED_DSP_H
|
#define AVUTIL_FIXED_DSP_H
|
||||||
|
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include "config.h"
|
|
||||||
#include "attributes.h"
|
#include "attributes.h"
|
||||||
#include "libavcodec/mathops.h"
|
#include "libavcodec/mathops.h"
|
||||||
|
|
||||||
@ -150,7 +149,7 @@ typedef struct AVFixedDSPContext {
|
|||||||
* @param v2 second input vector, difference output, 16-byte aligned
|
* @param v2 second input vector, difference output, 16-byte aligned
|
||||||
* @param len length of vectors, multiple of 4
|
* @param len length of vectors, multiple of 4
|
||||||
*/
|
*/
|
||||||
void (*butterflies_fixed)(int *av_restrict v1, int *av_restrict v2, int len);
|
void (*butterflies_fixed)(int *restrict v1, int *restrict v2, int len);
|
||||||
} AVFixedDSPContext;
|
} AVFixedDSPContext;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -109,7 +109,7 @@ static void vector_fmul_reverse_c(float *dst, const float *src0,
|
|||||||
dst[i] = src0[i] * src1[-i];
|
dst[i] = src0[i] * src1[-i];
|
||||||
}
|
}
|
||||||
|
|
||||||
static void butterflies_float_c(float *av_restrict v1, float *av_restrict v2,
|
static void butterflies_float_c(float *restrict v1, float *restrict v2,
|
||||||
int len)
|
int len)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
@ -19,8 +19,6 @@
|
|||||||
#ifndef AVUTIL_FLOAT_DSP_H
|
#ifndef AVUTIL_FLOAT_DSP_H
|
||||||
#define AVUTIL_FLOAT_DSP_H
|
#define AVUTIL_FLOAT_DSP_H
|
||||||
|
|
||||||
#include "config.h"
|
|
||||||
|
|
||||||
typedef struct AVFloatDSPContext {
|
typedef struct AVFloatDSPContext {
|
||||||
/**
|
/**
|
||||||
* Calculate the entry wise product of two vectors of floats and store the result in
|
* Calculate the entry wise product of two vectors of floats and store the result in
|
||||||
@ -161,7 +159,7 @@ typedef struct AVFloatDSPContext {
|
|||||||
* @param v2 second input vector, difference output, 16-byte aligned
|
* @param v2 second input vector, difference output, 16-byte aligned
|
||||||
* @param len length of vectors, multiple of 4
|
* @param len length of vectors, multiple of 4
|
||||||
*/
|
*/
|
||||||
void (*butterflies_float)(float *av_restrict v1, float *av_restrict v2, int len);
|
void (*butterflies_float)(float *restrict v1, float *restrict v2, int len);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Calculate the scalar product of two vectors of floats.
|
* Calculate the scalar product of two vectors of floats.
|
||||||
|
@ -224,7 +224,7 @@ static void vector_fmul_window_mips(float *dst, const float *src0,
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void butterflies_float_mips(float *av_restrict v1, float *av_restrict v2,
|
static void butterflies_float_mips(float *restrict v1, float *restrict v2,
|
||||||
int len)
|
int len)
|
||||||
{
|
{
|
||||||
float temp0, temp1, temp2, temp3, temp4;
|
float temp0, temp1, temp2, temp3, temp4;
|
||||||
|
@ -16,14 +16,12 @@
|
|||||||
* 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 "config.h"
|
|
||||||
|
|
||||||
#include "libavutil/attributes.h"
|
#include "libavutil/attributes.h"
|
||||||
#include "libavutil/cpu.h"
|
#include "libavutil/cpu.h"
|
||||||
#include "libavutil/fixed_dsp.h"
|
#include "libavutil/fixed_dsp.h"
|
||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
|
|
||||||
void ff_butterflies_fixed_sse2(int *av_restrict src0, int *av_restrict src1, int len);
|
void ff_butterflies_fixed_sse2(int *restrict src0, int *restrict src1, int len);
|
||||||
|
|
||||||
av_cold void ff_fixed_dsp_init_x86(AVFixedDSPContext *fdsp)
|
av_cold void ff_fixed_dsp_init_x86(AVFixedDSPContext *fdsp)
|
||||||
{
|
{
|
||||||
|
@ -16,13 +16,10 @@
|
|||||||
* 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 "config.h"
|
|
||||||
|
|
||||||
#include "libavutil/attributes.h"
|
#include "libavutil/attributes.h"
|
||||||
#include "libavutil/cpu.h"
|
#include "libavutil/cpu.h"
|
||||||
#include "libavutil/float_dsp.h"
|
#include "libavutil/float_dsp.h"
|
||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
#include "asm.h"
|
|
||||||
|
|
||||||
void ff_vector_fmul_sse(float *dst, const float *src0, const float *src1,
|
void ff_vector_fmul_sse(float *dst, const float *src0, const float *src1,
|
||||||
int len);
|
int len);
|
||||||
@ -76,7 +73,7 @@ void ff_vector_fmul_reverse_avx2(float *dst, const float *src0,
|
|||||||
float ff_scalarproduct_float_sse(const float *v1, const float *v2, int order);
|
float ff_scalarproduct_float_sse(const float *v1, const float *v2, int order);
|
||||||
float ff_scalarproduct_float_fma3(const float *v1, const float *v2, int order);
|
float ff_scalarproduct_float_fma3(const float *v1, const float *v2, int order);
|
||||||
|
|
||||||
void ff_butterflies_float_sse(float *av_restrict src0, float *av_restrict src1, int len);
|
void ff_butterflies_float_sse(float *restrict src0, float *restrict src1, int len);
|
||||||
|
|
||||||
av_cold void ff_float_dsp_init_x86(AVFloatDSPContext *fdsp)
|
av_cold void ff_float_dsp_init_x86(AVFloatDSPContext *fdsp)
|
||||||
{
|
{
|
||||||
|
@ -100,7 +100,7 @@ static void check_butterflies(const int *src0, const int *src1)
|
|||||||
LOCAL_ALIGNED_16(int, new0, [BUF_SIZE]);
|
LOCAL_ALIGNED_16(int, new0, [BUF_SIZE]);
|
||||||
LOCAL_ALIGNED_16(int, new1, [BUF_SIZE]);
|
LOCAL_ALIGNED_16(int, new1, [BUF_SIZE]);
|
||||||
|
|
||||||
declare_func(void, int *av_restrict src0, int *av_restrict src1, int len);
|
declare_func(void, int *restrict src0, int *restrict src1, int len);
|
||||||
|
|
||||||
memcpy(ref0, src0, BUF_SIZE * sizeof(*src0));
|
memcpy(ref0, src0, BUF_SIZE * sizeof(*src0));
|
||||||
memcpy(ref1, src1, BUF_SIZE * sizeof(*src1));
|
memcpy(ref1, src1, BUF_SIZE * sizeof(*src1));
|
||||||
|
@ -16,8 +16,6 @@
|
|||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "config.h"
|
|
||||||
|
|
||||||
#include <float.h>
|
#include <float.h>
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
@ -236,7 +234,7 @@ static void test_butterflies_float(const float *src0, const float *src1)
|
|||||||
LOCAL_ALIGNED_16(float, odst1, [LEN]);
|
LOCAL_ALIGNED_16(float, odst1, [LEN]);
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
declare_func(void, float *av_restrict src0, float *av_restrict src1,
|
declare_func(void, float *restrict src0, float *restrict src1,
|
||||||
int len);
|
int len);
|
||||||
|
|
||||||
memcpy(cdst, src0, LEN * sizeof(*src0));
|
memcpy(cdst, src0, LEN * sizeof(*src0));
|
||||||
|
@ -65,7 +65,7 @@
|
|||||||
#define check_diff_pixels(type, aligned) \
|
#define check_diff_pixels(type, aligned) \
|
||||||
do { \
|
do { \
|
||||||
int i; \
|
int i; \
|
||||||
declare_func(void, int16_t *av_restrict block, const uint8_t *s1, const uint8_t *s2, ptrdiff_t stride); \
|
declare_func(void, int16_t *restrict block, const uint8_t *s1, const uint8_t *s2, ptrdiff_t stride); \
|
||||||
\
|
\
|
||||||
for (i = 0; i < BUF_UNITS; i++) { \
|
for (i = 0; i < BUF_UNITS; i++) { \
|
||||||
int src_offset = i * 64 * sizeof(type) + (aligned ? 8 : 1) * i; \
|
int src_offset = i * 64 * sizeof(type) + (aligned ? 8 : 1) * i; \
|
||||||
|
@ -16,8 +16,6 @@
|
|||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "config.h"
|
|
||||||
|
|
||||||
#include <float.h>
|
#include <float.h>
|
||||||
|
|
||||||
#include "libavutil/mem_internal.h"
|
#include "libavutil/mem_internal.h"
|
||||||
@ -48,7 +46,7 @@ static void test_inverse_coupling(void)
|
|||||||
LOCAL_ALIGNED_16(float, cdst1, [LEN]);
|
LOCAL_ALIGNED_16(float, cdst1, [LEN]);
|
||||||
LOCAL_ALIGNED_16(float, odst1, [LEN]);
|
LOCAL_ALIGNED_16(float, odst1, [LEN]);
|
||||||
|
|
||||||
declare_func(void, float *av_restrict mag, float *av_restrict ang,
|
declare_func(void, float *restrict mag, float *restrict ang,
|
||||||
ptrdiff_t blocksize);
|
ptrdiff_t blocksize);
|
||||||
|
|
||||||
randomize_buffer(src0);
|
randomize_buffer(src0);
|
||||||
|
Loading…
Reference in New Issue
Block a user