checkasm/motion: Don't allocate AVCodecContext
Instead use one on the stack to avoid pulling in all of libavcodec. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
This commit is contained in:
parent
97cd698ee4
commit
0228e27ded
@ -118,16 +118,14 @@ static void test_motion(const char *name, me_cmp_func test_func)
|
|||||||
static void check_motion(void)
|
static void check_motion(void)
|
||||||
{
|
{
|
||||||
char buf[64];
|
char buf[64];
|
||||||
AVCodecContext *av_ctx;
|
/* Setup AVCodecContext in a way that does not pull in all of libavcodec */
|
||||||
|
AVCodecContext av_ctx = { .codec_id = AV_CODEC_ID_NONE, .flags = AV_CODEC_FLAG_BITEXACT };
|
||||||
MECmpContext me_ctx;
|
MECmpContext me_ctx;
|
||||||
|
|
||||||
memset(&me_ctx, 0, sizeof(me_ctx));
|
memset(&me_ctx, 0, sizeof(me_ctx));
|
||||||
|
|
||||||
/* allocate AVCodecContext */
|
|
||||||
av_ctx = avcodec_alloc_context3(NULL);
|
|
||||||
av_ctx->flags |= AV_CODEC_FLAG_BITEXACT;
|
|
||||||
|
|
||||||
ff_me_cmp_init(&me_ctx, av_ctx);
|
ff_me_cmp_init(&me_ctx, &av_ctx);
|
||||||
|
|
||||||
for (int i = 0; i < FF_ARRAY_ELEMS(me_ctx.pix_abs); i++) {
|
for (int i = 0; i < FF_ARRAY_ELEMS(me_ctx.pix_abs); i++) {
|
||||||
for (int j = 0; j < FF_ARRAY_ELEMS(me_ctx.pix_abs[0]); j++) {
|
for (int j = 0; j < FF_ARRAY_ELEMS(me_ctx.pix_abs[0]); j++) {
|
||||||
@ -143,8 +141,6 @@ static void check_motion(void)
|
|||||||
}
|
}
|
||||||
ME_CMP_1D_ARRAYS(XX)
|
ME_CMP_1D_ARRAYS(XX)
|
||||||
#undef XX
|
#undef XX
|
||||||
|
|
||||||
avcodec_free_context(&av_ctx);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void checkasm_check_motion(void)
|
void checkasm_check_motion(void)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user