OSDN Git Service

stagefright aacenc: Don't address a Word32 with a Word16 pointer
authorMartin Storsjo <martin@martin.st>
Wed, 22 Dec 2010 21:39:18 +0000 (22:39 +0100)
committerMartin Storsjo <martin@martin.st>
Fri, 13 Jan 2012 18:57:27 +0000 (20:57 +0200)
Currently, a pointer to a Word32 is used as a pointer to Word16, which
doesn't work as intended on big endian architectures.

This change needs to be analyzed and tested properly so that it doesn't
cause issues with overflows in these variables. Another solution would be
to change all the scf arrays to 32 bit instead.

Change-Id: I53d9eb83bdaf8d3b1530eb5064dd10b08bce737a

media/libstagefright/codecs/aacenc/src/sf_estim.c

index fe40137..bc320ec 100644 (file)
@@ -400,7 +400,7 @@ static void assimilateSingleScf(PSY_OUT_CHANNEL *psyOutChan,
                                 Word16 *minScfCalculated,
                                 Flag    restartOnSuccess)
 {
-       Word32 sfbLast, sfbAct, sfbNext, scfAct, scfMin;
+       Word16 sfbLast, sfbAct, sfbNext, scfAct, scfMin;
        Word16 *scfLast, *scfNext;
        Word32 sfbPeOld, sfbPeNew;
        Word32 sfbDistNew;