unsigned high_bit_depth)
{
#if HAVE_ALTIVEC
- if (PPC_ALTIVEC(av_get_cpu_flags())) {
- if (!high_bit_depth && avctx->lowres == 0) {
- if ((avctx->idct_algo == FF_IDCT_AUTO) ||
- (avctx->idct_algo == FF_IDCT_ALTIVEC)) {
- c->idct = idct_altivec;
- c->idct_add = idct_add_altivec;
- c->idct_put = idct_put_altivec;
- c->perm_type = FF_IDCT_PERM_TRANSPOSE;
- }
+ if (!PPC_ALTIVEC(av_get_cpu_flags()))
+ return;
+
+ if (!high_bit_depth && avctx->lowres == 0) {
+ if ((avctx->idct_algo == FF_IDCT_AUTO && !(avctx->flags & CODEC_FLAG_BITEXACT)) ||
+ (avctx->idct_algo == FF_IDCT_ALTIVEC)) {
+ c->idct = idct_altivec;
+ c->idct_add = idct_add_altivec;
+ c->idct_put = idct_put_altivec;
+ c->perm_type = FF_IDCT_PERM_TRANSPOSE;
}
}
#endif /* HAVE_ALTIVEC */