| @@ -54,8 +54,8 @@ | |||
| (x) == AV_PIX_FMT_RGB32_1 || \ | |||
| (x) == AV_PIX_FMT_YUVA420P) | |||
| static uint64_t getSSD(uint8_t *src1, uint8_t *src2, int stride1, | |||
| int stride2, int w, int h) | |||
| static uint64_t getSSD(const uint8_t * const src1, const uint8_t * const src2, | |||
| int stride1, int stride2, int w, int h) | |||
| { | |||
| int x, y; | |||
| uint64_t ssd = 0; | |||
| @@ -79,7 +79,7 @@ struct Results { | |||
| // test by ref -> src -> dst -> out & compare out against ref | |||
| // ref & out are YV12 | |||
| static int doTest(uint8_t *ref[4], int refStride[4], int w, int h, | |||
| static int doTest(const uint8_t * const ref[4], int refStride[4], int w, int h, | |||
| enum AVPixelFormat srcFormat, enum AVPixelFormat dstFormat, | |||
| int srcW, int srcH, int dstW, int dstH, int flags, | |||
| struct Results *r) | |||
| @@ -89,7 +89,7 @@ static int doTest(uint8_t *ref[4], int refStride[4], int w, int h, | |||
| const AVPixFmtDescriptor *desc_dst = av_pix_fmt_desc_get(dstFormat); | |||
| static enum AVPixelFormat cur_srcFormat; | |||
| static int cur_srcW, cur_srcH; | |||
| static uint8_t *src[4]; | |||
| static const uint8_t *src[4]; | |||
| static int srcStride[4]; | |||
| uint8_t *dst[4] = { 0 }; | |||
| uint8_t *out[4] = { 0 }; | |||
| @@ -126,7 +126,8 @@ static int doTest(uint8_t *ref[4], int refStride[4], int w, int h, | |||
| res = -1; | |||
| goto end; | |||
| } | |||
| sws_scale(srcContext, ref, refStride, 0, h, src, srcStride); | |||
| sws_scale(srcContext, ref, refStride, 0, h, | |||
| (uint8_t * const *) src, srcStride); | |||
| sws_freeContext(srcContext); | |||
| cur_srcFormat = srcFormat; | |||
| @@ -198,7 +199,8 @@ static int doTest(uint8_t *ref[4], int refStride[4], int w, int h, | |||
| res = -1; | |||
| goto end; | |||
| } | |||
| sws_scale(outContext, dst, dstStride, 0, dstH, out, refStride); | |||
| sws_scale(outContext, (const uint8_t * const *) dst, dstStride, 0, dstH, | |||
| out, refStride); | |||
| ssdY = getSSD(ref[0], out[0], refStride[0], refStride[0], w, h); | |||
| if (hasChroma(srcFormat) && hasChroma(dstFormat)) { | |||
| @@ -236,7 +238,8 @@ end: | |||
| return res; | |||
| } | |||
| static void selfTest(uint8_t *ref[4], int refStride[4], int w, int h, | |||
| static void selfTest(const uint8_t * const ref[4], int refStride[4], | |||
| int w, int h, | |||
| enum AVPixelFormat srcFormat_in, | |||
| enum AVPixelFormat dstFormat_in) | |||
| { | |||
| @@ -286,7 +289,8 @@ static void selfTest(uint8_t *ref[4], int refStride[4], int w, int h, | |||
| } | |||
| } | |||
| static int fileTest(uint8_t *ref[4], int refStride[4], int w, int h, FILE *fp, | |||
| static int fileTest(const uint8_t * const ref[4], int refStride[4], | |||
| int w, int h, FILE *fp, | |||
| enum AVPixelFormat srcFormat_in, | |||
| enum AVPixelFormat dstFormat_in) | |||
| { | |||
| @@ -348,7 +352,7 @@ int main(int argc, char **argv) | |||
| const uint8_t *rgb_src[4] = { rgb_data, NULL, NULL, NULL }; | |||
| int rgb_stride[4] = { 4 * W, 0, 0, 0 }; | |||
| uint8_t *data = av_malloc(4 * W * H); | |||
| uint8_t *src[4] = { data, data + W * H, data + W * H * 2, data + W * H * 3 }; | |||
| const uint8_t * const src[4] = { data, data + W * H, data + W * H * 2, data + W * H * 3 }; | |||
| int stride[4] = { W, W, W, W }; | |||
| int x, y; | |||
| struct SwsContext *sws; | |||
| @@ -367,7 +371,7 @@ int main(int argc, char **argv) | |||
| for (y = 0; y < H; y++) | |||
| for (x = 0; x < W * 4; x++) | |||
| rgb_data[ x + y * 4 * W] = av_lfg_get(&rand); | |||
| sws_scale(sws, rgb_src, rgb_stride, 0, H, src, stride); | |||
| sws_scale(sws, rgb_src, rgb_stride, 0, H, (uint8_t * const *) src, stride); | |||
| sws_freeContext(sws); | |||
| av_free(rgb_data); | |||