mpv/test/scale_test.h

31 lines
782 B
C

#pragma once
#include "img_utils.h"
#include "test_utils.h"
#include "video/mp_image.h"
struct scale_test_fns {
bool (*scale)(void *ctx, struct mp_image *dst, struct mp_image *src);
bool (*supports_fmts)(void *ctx, int imgfmt_dst, int imgfmt_src);
};
struct scale_test {
// To be filled in by user.
const struct scale_test_fns *fns;
void *fns_priv;
const char *test_name;
const char *refdir;
const char *outdir;
// Private.
struct mp_image *img_repack_rgb8;
struct mp_image *img_repack_rgba8;
struct mp_image *img_repack_rgb16;
struct mp_image *img_repack_rgba16;
struct mp_sws_context *sws;
int fail;
};
// Test color repacking between packed formats (typically RGB).
void repack_test_run(struct scale_test *stest);