freebsd-ports/multimedia/libdv/files/patch-libdv__encode.c
Mario Sergio Fujikawa Ferreira 86030e115b o Fix: the reorder_block() zigzag behaves incorrectly in the
(!ARCH_X86 && !ARCH_X86_64)

case. The current code fails to take into account the effects of
_dv_prepare_reorder_tables(), which changes the indexes contained
in the reorder_88[] and reorder_248[] arrays.

o Bump PORTREVISION

PR:		94188
Submitted by:	Brent Casavant <bcasavan@sgi.com>
2006-12-15 01:28:36 +00:00

12 lines
411 B
C

--- libdv/encode.c.orig Thu Dec 14 23:24:41 2006
+++ libdv/encode.c Thu Dec 14 23:25:20 2006
@@ -513,8 +513,7 @@
emms();
#else
for (i = 0; i < 64; i++) {
- // *(unsigned short*) ((char*) zigzag + reorder[i])=bl->coeffs[i];
- zigzag[reorder[i] - 1] = bl->coeffs[i];
+ *(unsigned short*) ((char*) zigzag + reorder[i])=bl->coeffs[i];
}
memcpy(bl->coeffs, zigzag, 64 * sizeof(dv_coeff_t));
#endif