mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
Alpha: proper IDCT selection
Only select the Alpha IDCT if auto or explicitly requested. Also disable it in lowres mode. Originally committed as revision 16666 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
c2fbf89398
commit
74c4746344
@ -356,7 +356,11 @@ void dsputil_init_alpha(DSPContext* c, AVCodecContext *avctx)
|
|||||||
put_pixels_clamped_axp_p = c->put_pixels_clamped;
|
put_pixels_clamped_axp_p = c->put_pixels_clamped;
|
||||||
add_pixels_clamped_axp_p = c->add_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_put = simple_idct_put_axp;
|
||||||
c->idct_add = simple_idct_add_axp;
|
c->idct_add = simple_idct_add_axp;
|
||||||
c->idct = simple_idct_axp;
|
c->idct = simple_idct_axp;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1398,6 +1398,7 @@ typedef struct AVCodecContext {
|
|||||||
#define FF_IDCT_FAAN 20
|
#define FF_IDCT_FAAN 20
|
||||||
#define FF_IDCT_EA 21
|
#define FF_IDCT_EA 21
|
||||||
#define FF_IDCT_SIMPLENEON 22
|
#define FF_IDCT_SIMPLENEON 22
|
||||||
|
#define FF_IDCT_SIMPLEALPHA 23
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* slice count
|
* slice count
|
||||||
|
@ -210,6 +210,7 @@ static const AVOption options[]={
|
|||||||
{"simplearmv5te", NULL, 0, FF_OPT_TYPE_CONST, FF_IDCT_SIMPLEARMV5TE, INT_MIN, INT_MAX, V|E|D, "idct"},
|
{"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"},
|
{"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"},
|
{"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"},
|
{"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"},
|
{"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"},
|
{"ipp", NULL, 0, FF_OPT_TYPE_CONST, FF_IDCT_IPP, INT_MIN, INT_MAX, V|E|D, "idct"},
|
||||||
|
Loading…
Reference in New Issue
Block a user