Commit 91cfeac6 authored by Stefano Sabatini's avatar Stefano Sabatini

Revert r30825, it was not supposed to be committed.

127.32L to me, beware when using git svn dcommit for committing stuff
to svn...

Originally committed as revision 30827 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
parent 23bf3b2c
#! /bin/sh
FFMPEG=../ffmpeg
input_pix_fmts=$($FFMPEG -pix_fmts | sed -ne '9,$p' | grep '^I' | cut -d" " -f2)
output_pix_fmts=$($FFMPEG -pix_fmts | sed -ne '9,$p' | grep '^.O' | cut -d" " -f2)
for input_pix_fmt in $input_pix_fmts; do
for output_pix_fmt in $output_pix_fmts; do
swscale-test $input_pix_fmt $output_pix_fmt
done
done
......@@ -25,12 +25,9 @@
#include <stdarg.h>
#undef HAVE_AV_CONFIG_H
#include "libavutil/log.h"
#include "libavutil/mem.h"
#include "libavutil/avutil.h"
#include "libavutil/lfg.h"
#include "libavutil/pixdesc.h"
#include "swscale.h"
/* HACK Duplicated from swscale_internal.h.
......@@ -189,16 +186,27 @@ end:
return res;
}
static void selfTest(uint8_t *ref[4], int refStride[4], enum PixelFormat srcFormat, enum PixelFormat dstFormat, int w, int h)
static void selfTest(uint8_t *ref[4], int refStride[4], int w, int h)
{
const int flags[] = { SWS_FAST_BILINEAR,
SWS_BILINEAR, SWS_BICUBIC,
SWS_X , SWS_POINT , SWS_AREA, 0 };
const int srcW = w;
const int srcH = h;
int i, j, k, res = 0;
const int dstW[] = { srcW - srcW/3, srcW, srcW + srcW/3, 0 };
const int dstH[] = { srcH - srcH/3, srcH, srcH + srcH/3, 0 };
enum PixelFormat srcFormat, dstFormat;
for (srcFormat = 0; srcFormat < PIX_FMT_NB; srcFormat++) {
if (!sws_isSupportedInput(srcFormat) || !sws_isSupportedOutput(srcFormat))
continue;
for (dstFormat = 0; dstFormat < PIX_FMT_NB; dstFormat++) {
int i, j, k;
int res = 0;
if (!sws_isSupportedInput(dstFormat) || !sws_isSupportedOutput(dstFormat))
continue;
printf("%s -> %s\n",
sws_format_name(srcFormat),
......@@ -209,7 +217,9 @@ static void selfTest(uint8_t *ref[4], int refStride[4], enum PixelFormat srcForm
for (j = 0; dstH[j] && !res; j++)
for (k = 0; flags[k] && !res; k++)
res = doTest(ref, refStride, w, h, srcFormat, dstFormat,
srcW, srcH, dstW[i], dstH[j], flags[k]|SWS_PRINT_INFO);
srcW, srcH, dstW[i], dstH[j], flags[k]);
}
}
}
#define W 96
......@@ -225,28 +235,12 @@ int main(int argc, char **argv)
int stride[4]={W, W, W, W};
int x, y;
struct SwsContext *sws;
enum PixelFormat srcFmt, dstFmt;
AVLFG rand;
av_log_set_level(AV_LOG_INFO);
if (argc < 3) {
fprintf(stderr, "Usage: swscale-test SRC_PIX_FMT DST_PIX_FMT\n");
return -1;
}
if ((srcFmt = av_get_pix_fmt(argv[1])) == PIX_FMT_NONE) {
fprintf(stderr, "Unknown pixel input format name: '%s'\n", argv[1]);
return -1;
}
if ((dstFmt = av_get_pix_fmt(argv[2])) == PIX_FMT_NONE) {
fprintf(stderr, "Unknown pixel output format name: '%s'\n", argv[2]);
return -1;
}
if (!rgb_data || !data)
return -1;
sws= sws_getContext(W/12, H/12, PIX_FMT_RGB32, W, H, PIX_FMT_YUVA420P,
SWS_BILINEAR|SWS_PRINT_INFO, NULL, NULL, NULL);
sws= sws_getContext(W/12, H/12, PIX_FMT_RGB32, W, H, PIX_FMT_YUVA420P, SWS_BILINEAR, NULL, NULL, NULL);
av_lfg_init(&rand, 1);
......@@ -259,7 +253,7 @@ int main(int argc, char **argv)
sws_freeContext(sws);
av_free(rgb_data);
selfTest(src, stride, srcFmt, dstFmt, W, H);
selfTest(src, stride, W, H);
av_free(data);
return 0;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment