1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-08-15 14:13:16 +02:00

checkasm: Use LOCAL_ALIGNED

Fixes alignment issues and bus errors.

Signed-off-by: Martin Storsjö <martin@martin.st>
This commit is contained in:
Michael Niedermayer
2015-07-24 23:46:21 +02:00
committed by Martin Storsjö
parent 41d47ea85f
commit 4d0d55cd62
3 changed files with 13 additions and 10 deletions

View File

@@ -22,6 +22,7 @@
#include "checkasm.h" #include "checkasm.h"
#include "libavcodec/bswapdsp.h" #include "libavcodec/bswapdsp.h"
#include "libavutil/common.h" #include "libavutil/common.h"
#include "libavutil/internal.h"
#include "libavutil/intreadwrite.h" #include "libavutil/intreadwrite.h"
#define BUF_SIZE 512 #define BUF_SIZE 512
@@ -55,10 +56,10 @@
void checkasm_check_bswapdsp(void) void checkasm_check_bswapdsp(void)
{ {
DECLARE_ALIGNED(16, uint8_t, src0)[BUF_SIZE]; LOCAL_ALIGNED_16(uint8_t, src0, [BUF_SIZE]);
DECLARE_ALIGNED(16, uint8_t, src1)[BUF_SIZE]; LOCAL_ALIGNED_16(uint8_t, src1, [BUF_SIZE]);
DECLARE_ALIGNED(16, uint8_t, dst0)[BUF_SIZE]; LOCAL_ALIGNED_16(uint8_t, dst0, [BUF_SIZE]);
DECLARE_ALIGNED(16, uint8_t, dst1)[BUF_SIZE]; LOCAL_ALIGNED_16(uint8_t, dst1, [BUF_SIZE]);
BswapDSPContext h; BswapDSPContext h;
ff_bswapdsp_init(&h); ff_bswapdsp_init(&h);

View File

@@ -23,6 +23,7 @@
#include "libavcodec/avcodec.h" #include "libavcodec/avcodec.h"
#include "libavcodec/h264pred.h" #include "libavcodec/h264pred.h"
#include "libavutil/common.h" #include "libavutil/common.h"
#include "libavutil/internal.h"
#include "libavutil/intreadwrite.h" #include "libavutil/intreadwrite.h"
static const int codec_ids[4] = { AV_CODEC_ID_H264, AV_CODEC_ID_VP8, AV_CODEC_ID_RV40, AV_CODEC_ID_SVQ3 }; static const int codec_ids[4] = { AV_CODEC_ID_H264, AV_CODEC_ID_VP8, AV_CODEC_ID_RV40, AV_CODEC_ID_SVQ3 };
@@ -232,8 +233,8 @@ void checkasm_check_h264pred(void)
{ check_pred8x8l, "pred8x8l" }, { check_pred8x8l, "pred8x8l" },
}; };
DECLARE_ALIGNED(16, uint8_t, buf0)[BUF_SIZE]; LOCAL_ALIGNED_16(uint8_t, buf0, [BUF_SIZE]);
DECLARE_ALIGNED(16, uint8_t, buf1)[BUF_SIZE]; LOCAL_ALIGNED_16(uint8_t, buf1, [BUF_SIZE]);
H264PredContext h; H264PredContext h;
int test, codec, chroma_format, bit_depth; int test, codec, chroma_format, bit_depth;

View File

@@ -22,6 +22,7 @@
#include "checkasm.h" #include "checkasm.h"
#include "libavcodec/h264qpel.h" #include "libavcodec/h264qpel.h"
#include "libavutil/common.h" #include "libavutil/common.h"
#include "libavutil/internal.h"
#include "libavutil/intreadwrite.h" #include "libavutil/intreadwrite.h"
static const uint32_t pixel_mask[3] = { 0xffffffff, 0x01ff01ff, 0x03ff03ff }; static const uint32_t pixel_mask[3] = { 0xffffffff, 0x01ff01ff, 0x03ff03ff };
@@ -48,10 +49,10 @@ static const uint32_t pixel_mask[3] = { 0xffffffff, 0x01ff01ff, 0x03ff03ff };
void checkasm_check_h264qpel(void) void checkasm_check_h264qpel(void)
{ {
DECLARE_ALIGNED(16, uint8_t, buf0)[BUF_SIZE]; LOCAL_ALIGNED_16(uint8_t, buf0, [BUF_SIZE]);
DECLARE_ALIGNED(16, uint8_t, buf1)[BUF_SIZE]; LOCAL_ALIGNED_16(uint8_t, buf1, [BUF_SIZE]);
DECLARE_ALIGNED(16, uint8_t, dst0)[BUF_SIZE]; LOCAL_ALIGNED_16(uint8_t, dst0, [BUF_SIZE]);
DECLARE_ALIGNED(16, uint8_t, dst1)[BUF_SIZE]; LOCAL_ALIGNED_16(uint8_t, dst1, [BUF_SIZE]);
H264QpelContext h; H264QpelContext h;
int op, bit_depth, i, j; int op, bit_depth, i, j;