# HG changeset patch # User mru # Date 1232257932 0 # Node ID ce9b3d6a0abfd497c6af23bf05396eb377b72bc0 # Parent 178755e9663d65661f2f188cf0a0e1a8a51fe296 Alpha: proper IDCT selection Only select the Alpha IDCT if auto or explicitly requested. Also disable it in lowres mode. diff -r 178755e9663d -r ce9b3d6a0abf alpha/dsputil_alpha.c --- a/alpha/dsputil_alpha.c Sun Jan 18 05:52:08 2009 +0000 +++ b/alpha/dsputil_alpha.c Sun Jan 18 05:52:12 2009 +0000 @@ -356,7 +356,11 @@ put_pixels_clamped_axp_p = c->put_pixels_clamped; add_pixels_clamped_axp_p = c->add_pixels_clamped; + if (!avctx->lowres && + (avctx->idct_algo == FF_IDCT_AUTO || + avctx->idct_algo == FF_IDCT_SIMPLEALPHA)) { c->idct_put = simple_idct_put_axp; c->idct_add = simple_idct_add_axp; c->idct = simple_idct_axp; + } } diff -r 178755e9663d -r ce9b3d6a0abf avcodec.h --- a/avcodec.h Sun Jan 18 05:52:08 2009 +0000 +++ b/avcodec.h Sun Jan 18 05:52:12 2009 +0000 @@ -1398,6 +1398,7 @@ #define FF_IDCT_FAAN 20 #define FF_IDCT_EA 21 #define FF_IDCT_SIMPLENEON 22 +#define FF_IDCT_SIMPLEALPHA 23 /** * slice count diff -r 178755e9663d -r ce9b3d6a0abf options.c --- a/options.c Sun Jan 18 05:52:08 2009 +0000 +++ b/options.c Sun Jan 18 05:52:12 2009 +0000 @@ -210,6 +210,7 @@ {"simplearmv5te", NULL, 0, FF_OPT_TYPE_CONST, FF_IDCT_SIMPLEARMV5TE, INT_MIN, INT_MAX, V|E|D, "idct"}, {"simplearmv6", NULL, 0, FF_OPT_TYPE_CONST, FF_IDCT_SIMPLEARMV6, INT_MIN, INT_MAX, V|E|D, "idct"}, {"simpleneon", NULL, 0, FF_OPT_TYPE_CONST, FF_IDCT_SIMPLENEON, INT_MIN, INT_MAX, V|E|D, "idct"}, +{"simplealpha", NULL, 0, FF_OPT_TYPE_CONST, FF_IDCT_SIMPLEALPHA, INT_MIN, INT_MAX, V|E|D, "idct"}, {"h264", NULL, 0, FF_OPT_TYPE_CONST, FF_IDCT_H264, INT_MIN, INT_MAX, V|E|D, "idct"}, {"vp3", NULL, 0, FF_OPT_TYPE_CONST, FF_IDCT_VP3, INT_MIN, INT_MAX, V|E|D, "idct"}, {"ipp", NULL, 0, FF_OPT_TYPE_CONST, FF_IDCT_IPP, INT_MIN, INT_MAX, V|E|D, "idct"},