diff options
Diffstat (limited to 'media')
16 files changed, 84 insertions, 99 deletions
diff --git a/media/libstagefright/MediaCodec.cpp b/media/libstagefright/MediaCodec.cpp index d22cab9..e14b1c4 100644 --- a/media/libstagefright/MediaCodec.cpp +++ b/media/libstagefright/MediaCodec.cpp @@ -673,9 +673,8 @@ void MediaCodec::onMessageReceived(const sp<AMessage> &msg) { int32_t nameIsType; int32_t encoder = false; - if (!msg->findInt32("nameIsType", &nameIsType)) { - nameIsType = false; - } else { + CHECK(msg->findInt32("nameIsType", &nameIsType)); + if (nameIsType) { CHECK(msg->findInt32("encoder", &encoder)); } diff --git a/media/libstagefright/codecs/aacenc/basic_op/basic_op.h b/media/libstagefright/codecs/aacenc/basic_op/basic_op.h index 21649d4..e878bba 100644 --- a/media/libstagefright/codecs/aacenc/basic_op/basic_op.h +++ b/media/libstagefright/codecs/aacenc/basic_op/basic_op.h @@ -228,7 +228,7 @@ Word32 L_shr_r (Word32 L_var1, Word16 var2); __inline Word32 ASM_L_shr(Word32 L_var1, Word16 var2) { Word32 result; - asm volatile( + asm ( "MOV %[result], %[L_var1], ASR %[var2] \n" :[result]"=r"(result) :[L_var1]"r"(L_var1), [var2]"r"(var2) @@ -239,15 +239,12 @@ __inline Word32 ASM_L_shr(Word32 L_var1, Word16 var2) __inline Word32 ASM_L_shl(Word32 L_var1, Word16 var2) { Word32 result; - asm volatile( - "MOV r2, %[L_var1] \n" - "MOV r3, #0x7fffffff\n" + asm ( "MOV %[result], %[L_var1], ASL %[var2] \n" - "TEQ r2, %[result], ASR %[var2]\n" - "EORNE %[result],r3,r2,ASR#31\n" + "TEQ %[L_var1], %[result], ASR %[var2]\n" + "EORNE %[result], %[mask], %[L_var1], ASR #31\n" :[result]"=&r"(result) - :[L_var1]"r"(L_var1), [var2]"r"(var2) - :"r2", "r3" + :[L_var1]"r"(L_var1), [var2]"r"(var2), [mask]"r"(0x7fffffff) ); return result; } @@ -255,10 +252,10 @@ __inline Word32 ASM_L_shl(Word32 L_var1, Word16 var2) __inline Word32 ASM_shr(Word32 L_var1, Word16 var2) { Word32 result; - asm volatile( + asm ( "CMP %[var2], #15\n" - "MOVGE %[var2], #15\n" - "MOV %[result], %[L_var1], ASR %[var2]\n" + "MOVLT %[result], %[L_var1], ASR %[var2]\n" + "MOVGE %[result], %[L_var1], ASR #15\n" :[result]"=r"(result) :[L_var1]"r"(L_var1), [var2]"r"(var2) ); @@ -268,18 +265,16 @@ __inline Word32 ASM_shr(Word32 L_var1, Word16 var2) __inline Word32 ASM_shl(Word32 L_var1, Word16 var2) { Word32 result; - asm volatile( + Word32 tmp; + asm ( "CMP %[var2], #16\n" - "MOVGE %[var2], #16\n" - "MOV %[result], %[L_var1], ASL %[var2]\n" - "MOV r3, #1\n" - "MOV r2, %[result], ASR #15\n" - "RSB r3,r3,r3,LSL #15 \n" - "TEQ r2, %[result], ASR #31 \n" - "EORNE %[result], r3, %[result],ASR #31" - :[result]"=r"(result) - :[L_var1]"r"(L_var1), [var2]"r"(var2) - :"r2", "r3" + "MOVLT %[result], %[L_var1], ASL %[var2]\n" + "MOVGE %[result], %[L_var1], ASL #16\n" + "MOV %[tmp], %[result], ASR #15\n" + "TEQ %[tmp], %[result], ASR #31 \n" + "EORNE %[result], %[mask], %[result],ASR #31" + :[result]"=&r"(result), [tmp]"=&r"(tmp) + :[L_var1]"r"(L_var1), [var2]"r"(var2), [mask]"r"(0x7fff) ); return result; } @@ -295,16 +290,14 @@ __inline Word16 saturate(Word32 L_var1) { #if ARMV5TE_SAT Word16 result; + Word32 tmp; asm volatile ( - "MOV r3, #1\n" - "MOV r2,%[L_var1],ASR#15\n" - "RSB r3, r3, r3, LSL #15\n" - "TEQ r2,%[L_var1],ASR#31\n" - "EORNE %[result],r3,%[L_var1],ASR#31\n" + "MOV %[tmp], %[L_var1],ASR#15\n" + "TEQ %[tmp], %[L_var1],ASR#31\n" + "EORNE %[result], %[mask],%[L_var1],ASR#31\n" "MOVEQ %[result], %[L_var1]\n" - :[result]"=r"(result) - :[L_var1]"r"(L_var1) - :"r2", "r3" + :[result]"=&r"(result), [tmp]"=&r"(tmp) + :[L_var1]"r"(L_var1), [mask]"r"(0x7fff) ); return result; @@ -420,7 +413,7 @@ __inline Word32 L_mult(Word16 var1, Word16 var2) { #if ARMV5TE_L_MULT Word32 result; - asm volatile( + asm ( "SMULBB %[result], %[var1], %[var2] \n" "QADD %[result], %[result], %[result] \n" :[result]"=r"(result) @@ -450,7 +443,7 @@ __inline Word32 L_msu (Word32 L_var3, Word16 var1, Word16 var2) { #if ARMV5TE_L_MSU Word32 result; - asm volatile( + asm ( "SMULBB %[result], %[var1], %[var2] \n" "QADD %[result], %[result], %[result] \n" "QSUB %[result], %[L_var3], %[result]\n" @@ -474,7 +467,7 @@ __inline Word32 L_sub(Word32 L_var1, Word32 L_var2) { #if ARMV5TE_L_SUB Word32 result; - asm volatile( + asm ( "QSUB %[result], %[L_var1], %[L_var2]\n" :[result]"=r"(result) :[L_var1]"r"(L_var1), [L_var2]"r"(L_var2) @@ -589,16 +582,14 @@ __inline Word16 add (Word16 var1, Word16 var2) { #if ARMV5TE_ADD Word32 result; - asm volatile( + Word32 tmp; + asm ( "ADD %[result], %[var1], %[var2] \n" - "MOV r3, #0x1\n" - "MOV r2, %[result], ASR #15\n" - "RSB r3, r3, r3, LSL, #15\n" - "TEQ r2, %[result], ASR #31\n" - "EORNE %[result], r3, %[result], ASR #31" - :[result]"=r"(result) - :[var1]"r"(var1), [var2]"r"(var2) - :"r2", "r3" + "MOV %[tmp], %[result], ASR #15 \n" + "TEQ %[tmp], %[result], ASR #31 \n" + "EORNE %[result], %[mask], %[result], ASR #31" + :[result]"=&r"(result), [tmp]"=&r"(tmp) + :[var1]"r"(var1), [var2]"r"(var2), [mask]"r"(0x7fff) ); return result; #else @@ -619,16 +610,14 @@ __inline Word16 sub(Word16 var1, Word16 var2) { #if ARMV5TE_SUB Word32 result; - asm volatile( - "MOV r3, #1\n" + Word32 tmp; + asm ( "SUB %[result], %[var1], %[var2] \n" - "RSB r3,r3,r3,LSL#15\n" - "MOV r2, %[var1], ASR #15 \n" - "TEQ r2, %[var1], ASR #31 \n" - "EORNE %[result], r3, %[result], ASR #31 \n" - :[result]"=&r"(result) - :[var1]"r"(var1), [var2]"r"(var2) - :"r2", "r3" + "MOV %[tmp], %[var1], ASR #15 \n" + "TEQ %[tmp], %[var1], ASR #31 \n" + "EORNE %[result], %[mask], %[result], ASR #31 \n" + :[result]"=&r"(result), [tmp]"=&r"(tmp) + :[var1]"r"(var1), [var2]"r"(var2), [mask]"r"(0x7fff) ); return result; #else @@ -683,18 +672,15 @@ __inline Word16 div_s (Word16 var1, Word16 var2) __inline Word16 mult (Word16 var1, Word16 var2) { #if ARMV5TE_MULT - Word32 result; - asm volatile( - "SMULBB r2, %[var1], %[var2] \n" - "MOV r3, #1\n" - "MOV %[result], r2, ASR #15\n" - "RSB r3, r3, r3, LSL #15\n" - "MOV r2, %[result], ASR #15\n" - "TEQ r2, %[result], ASR #31\n" - "EORNE %[result], r3, %[result], ASR #31 \n" - :[result]"=r"(result) - :[var1]"r"(var1), [var2]"r"(var2) - :"r2", "r3" + Word32 result, tmp; + asm ( + "SMULBB %[tmp], %[var1], %[var2] \n" + "MOV %[result], %[tmp], ASR #15\n" + "MOV %[tmp], %[result], ASR #15\n" + "TEQ %[tmp], %[result], ASR #31\n" + "EORNE %[result], %[mask], %[result], ASR #31 \n" + :[result]"=&r"(result), [tmp]"=&r"(tmp) + :[var1]"r"(var1), [var2]"r"(var2), [mask]"r"(0x7fff) ); return result; #else @@ -719,18 +705,17 @@ __inline Word16 norm_s (Word16 var1) { #if ARMV5TE_NORM_S Word16 result; - asm volatile( - "MOV r2,%[var1] \n" - "CMP r2, #0\n" - "RSBLT %[var1], %[var1], #0 \n" - "CLZNE %[result], %[var1]\n" + Word32 tmp; + asm ( + "RSBS %[tmp], %[var1], #0 \n" + "CLZLT %[result], %[var1]\n" + "CLZGT %[result], %[tmp]\n" "SUBNE %[result], %[result], #17\n" "MOVEQ %[result], #0\n" - "CMP r2, #-1\n" + "CMP %[var1], #-1\n" "MOVEQ %[result], #15\n" - :[result]"=r"(result) + :[result]"=&r"(result), [tmp]"=&r"(tmp) :[var1]"r"(var1) - :"r2" ); return result; #else @@ -979,13 +964,11 @@ __inline Word16 round16(Word32 L_var1) { #if ARMV5TE_ROUND Word16 result; - asm volatile( - "MOV r1,#0x00008000\n" - "QADD %[result], %[L_var1], r1\n" + asm ( + "QADD %[result], %[L_var1], %[bias]\n" "MOV %[result], %[result], ASR #16 \n" :[result]"=r"(result) - :[L_var1]"r"(L_var1) - :"r1" + :[L_var1]"r"(L_var1), [bias]"r"(0x8000) ); return result; #else @@ -1005,7 +988,7 @@ __inline Word32 L_mac (Word32 L_var3, Word16 var1, Word16 var2) { #if ARMV5TE_L_MAC Word32 result; - asm volatile( + asm ( "SMULBB %[result], %[var1], %[var2]\n" "QADD %[result], %[result], %[result]\n" "QADD %[result], %[result], %[L_var3]\n" @@ -1029,7 +1012,7 @@ __inline Word32 L_add (Word32 L_var1, Word32 L_var2) { #if ARMV5TE_L_ADD Word32 result; - asm volatile( + asm ( "QADD %[result], %[L_var1], %[L_var2]\n" :[result]"=r"(result) :[L_var1]"r"(L_var1), [L_var2]"r"(L_var2) diff --git a/media/libstagefright/codecs/aacenc/basic_op/oper_32b.h b/media/libstagefright/codecs/aacenc/basic_op/oper_32b.h index 9ebd1c2..6e5844f 100644 --- a/media/libstagefright/codecs/aacenc/basic_op/oper_32b.h +++ b/media/libstagefright/codecs/aacenc/basic_op/oper_32b.h @@ -63,7 +63,7 @@ __inline Word32 L_mpy_wx(Word32 L_var2, Word16 var1) Word32 result; asm volatile( "SMULWB %[result], %[L_var2], %[var1] \n" - :[result]"+r"(result) + :[result]"=r"(result) :[L_var2]"r"(L_var2), [var1]"r"(var1) ); return result; diff --git a/media/libstagefright/codecs/aacenc/inc/aacenc_core.h b/media/libstagefright/codecs/aacenc/inc/aacenc_core.h index 1acdbbc..bb75b6d 100644 --- a/media/libstagefright/codecs/aacenc/inc/aacenc_core.h +++ b/media/libstagefright/codecs/aacenc/inc/aacenc_core.h @@ -102,7 +102,7 @@ Word16 AacEncEncode(AAC_ENCODER *hAacEnc, const UWord8 *ancBytes, /*!< pointer to ancillary data bytes */ Word16 *numAncBytes, /*!< number of ancillary Data Bytes, send as fill element */ UWord8 *outBytes, /*!< pointer to output buffer */ - Word32 *numOutBytes /*!< number of bytes in output buffer */ + VO_U32 *numOutBytes /*!< number of bytes in output buffer */ ); /*--------------------------------------------------------------------------- diff --git a/media/libstagefright/codecs/aacenc/inc/bitbuffer.h b/media/libstagefright/codecs/aacenc/inc/bitbuffer.h index e538064..7c79f07 100644 --- a/media/libstagefright/codecs/aacenc/inc/bitbuffer.h +++ b/media/libstagefright/codecs/aacenc/inc/bitbuffer.h @@ -76,7 +76,7 @@ Word16 GetBitsAvail(HANDLE_BIT_BUF hBitBuf); Word16 WriteBits(HANDLE_BIT_BUF hBitBuf, - Word32 writeValue, + UWord32 writeValue, Word16 noBitsToWrite); void ResetBitBuf(HANDLE_BIT_BUF hBitBuf, diff --git a/media/libstagefright/codecs/aacenc/inc/psy_configuration.h b/media/libstagefright/codecs/aacenc/inc/psy_configuration.h index 9abfc99..f6981fa 100644 --- a/media/libstagefright/codecs/aacenc/inc/psy_configuration.h +++ b/media/libstagefright/codecs/aacenc/inc/psy_configuration.h @@ -31,7 +31,7 @@ typedef struct{ Word16 sfbCnt; Word16 sfbActive; /* number of sf bands containing energy after lowpass */ - Word16 *sfbOffset; + const Word16 *sfbOffset; Word32 sfbThresholdQuiet[MAX_SFB_LONG]; @@ -61,7 +61,7 @@ typedef struct{ Word16 sfbCnt; Word16 sfbActive; /* number of sf bands containing energy after lowpass */ - Word16 *sfbOffset; + const Word16 *sfbOffset; Word32 sfbThresholdQuiet[MAX_SFB_SHORT]; diff --git a/media/libstagefright/codecs/aacenc/src/aacenc_core.c b/media/libstagefright/codecs/aacenc/src/aacenc_core.c index 2b3bd48..cecbc8f 100644 --- a/media/libstagefright/codecs/aacenc/src/aacenc_core.c +++ b/media/libstagefright/codecs/aacenc/src/aacenc_core.c @@ -146,7 +146,7 @@ Word16 AacEncEncode(AAC_ENCODER *aacEnc, /*!< an encoder handle */ const UWord8 *ancBytes, /*!< pointer to ancillary data bytes */ Word16 *numAncBytes, /*!< number of ancillary Data Bytes */ UWord8 *outBytes, /*!< pointer to output buffer (must be large MINBITS_COEF/8*MAX_CHANNELS bytes) */ - Word32 *numOutBytes /*!< number of bytes in output buffer after processing */ + VO_U32 *numOutBytes /*!< number of bytes in output buffer after processing */ ) { ELEMENT_INFO *elInfo = &aacEnc->elInfo; diff --git a/media/libstagefright/codecs/aacenc/src/adj_thr.c b/media/libstagefright/codecs/aacenc/src/adj_thr.c index a8ab809..373b063 100644 --- a/media/libstagefright/codecs/aacenc/src/adj_thr.c +++ b/media/libstagefright/codecs/aacenc/src/adj_thr.c @@ -26,6 +26,7 @@ #include "adj_thr.h" #include "qc_data.h" #include "line_pe.h" +#include <string.h> #define minSnrLimit 0x6666 /* 1 dB */ @@ -1138,6 +1139,7 @@ void AdjustThresholds(ADJ_THR_STATE *adjThrState, Word16 maxBitresBits = elBits->maxBits; Word16 sideInfoBits = (qcOE->staticBitsUsed + qcOE->ancBitsUsed); Word16 ch; + memset(&peData, 0, sizeof(peData)); prepareSfbPe(&peData, psyOutChannel, logSfbEnergy, sfbNRelevantLines, nChannels, AdjThrStateElement->peOffset); diff --git a/media/libstagefright/codecs/aacenc/src/bitbuffer.c b/media/libstagefright/codecs/aacenc/src/bitbuffer.c index 5615ac3..a706893 100644 --- a/media/libstagefright/codecs/aacenc/src/bitbuffer.c +++ b/media/libstagefright/codecs/aacenc/src/bitbuffer.c @@ -138,7 +138,7 @@ Word16 GetBitsAvail(HANDLE_BIT_BUF hBitBuf) * *****************************************************************************/ Word16 WriteBits(HANDLE_BIT_BUF hBitBuf, - Word32 writeValue, + UWord32 writeValue, Word16 noBitsToWrite) { Word16 wBitPos; diff --git a/media/libstagefright/codecs/aacenc/src/dyn_bits.c b/media/libstagefright/codecs/aacenc/src/dyn_bits.c index 3d2efdc..7769188 100644 --- a/media/libstagefright/codecs/aacenc/src/dyn_bits.c +++ b/media/libstagefright/codecs/aacenc/src/dyn_bits.c @@ -281,7 +281,7 @@ noiselessCounter(SECTION_DATA *sectionData, const Word32 blockType) { Word32 grpNdx, i; - Word16 *sideInfoTab = NULL; + const Word16 *sideInfoTab = NULL; SECTION_INFO *sectionInfo; /* diff --git a/media/libstagefright/codecs/aacenc/src/interface.c b/media/libstagefright/codecs/aacenc/src/interface.c index f2472d8..d0ad433 100644 --- a/media/libstagefright/codecs/aacenc/src/interface.c +++ b/media/libstagefright/codecs/aacenc/src/interface.c @@ -99,8 +99,8 @@ void BuildInterface(Word32 *groupedMdctSpectrum, Word32 i; Word32 accuSumMS=0; Word32 accuSumLR=0; - Word32 *pSumMS = sfbEnergySumMS.sfbShort; - Word32 *pSumLR = sfbEnergySumLR.sfbShort; + const Word32 *pSumMS = sfbEnergySumMS.sfbShort; + const Word32 *pSumLR = sfbEnergySumLR.sfbShort; for (i=TRANS_FAC; i; i--) { accuSumLR = L_add(accuSumLR, *pSumLR); pSumLR++; diff --git a/media/libstagefright/codecs/aacenc/src/psy_configuration.c b/media/libstagefright/codecs/aacenc/src/psy_configuration.c index 02d92ab..dd40f9b 100644 --- a/media/libstagefright/codecs/aacenc/src/psy_configuration.c +++ b/media/libstagefright/codecs/aacenc/src/psy_configuration.c @@ -139,7 +139,7 @@ static Word16 BarcLineValue(Word16 noOfLines, Word16 fftLine, Word32 samplingFre * *****************************************************************************/ static void initThrQuiet(Word16 numPb, - Word16 *pbOffset, + const Word16 *pbOffset, Word16 *pbBarcVal, Word32 *pbThresholdQuiet) { Word16 i; @@ -250,7 +250,7 @@ static void initSpreading(Word16 numPb, * *****************************************************************************/ static void initBarcValues(Word16 numPb, - Word16 *pbOffset, + const Word16 *pbOffset, Word16 numLines, Word32 samplingFrequency, Word16 *pbBval) diff --git a/media/libstagefright/codecs/aacenc/src/psy_main.c b/media/libstagefright/codecs/aacenc/src/psy_main.c index 085acb8..4e9218c 100644 --- a/media/libstagefright/codecs/aacenc/src/psy_main.c +++ b/media/libstagefright/codecs/aacenc/src/psy_main.c @@ -658,7 +658,8 @@ static Word16 advancePsychShort(PSY_DATA* psyData, Word32 normEnergyShift = (psyData->mdctScale + 1) << 1; /* in reference code, mdct spectrum must be multipied with 2, so +1 */ Word32 clipEnergy = hPsyConfShort->clipEnergy >> normEnergyShift; Word32 wOffset = 0; - Word32 *data0, *data1; + Word32 *data0; + const Word32 *data1; for(w = 0; w < TRANS_FAC; w++) { Word32 i, tdata; diff --git a/media/libstagefright/codecs/aacenc/src/quantize.c b/media/libstagefright/codecs/aacenc/src/quantize.c index 54add2f..0d0f550 100644 --- a/media/libstagefright/codecs/aacenc/src/quantize.c +++ b/media/libstagefright/codecs/aacenc/src/quantize.c @@ -110,7 +110,7 @@ static void quantizeLines(const Word16 gain, Word32 m = gain&3; Word32 g = (gain >> 2) + 4; Word32 mdctSpeL; - Word16 *pquat; + const Word16 *pquat; /* gain&3 */ pquat = quantBorders[m]; @@ -333,7 +333,7 @@ Word32 calcSfbDist(const Word32 *spec, Word32 m = gain&3; Word32 g = (gain >> 2) + 4; Word32 g2 = (g << 1) + 1; - Word16 *pquat, *repquat; + const Word16 *pquat, *repquat; /* gain&3 */ pquat = quantBorders[m]; diff --git a/media/libstagefright/codecs/amrnb/common/src/az_lsp.cpp b/media/libstagefright/codecs/amrnb/common/src/az_lsp.cpp index bd99b30..4135f30 100644 --- a/media/libstagefright/codecs/amrnb/common/src/az_lsp.cpp +++ b/media/libstagefright/codecs/amrnb/common/src/az_lsp.cpp @@ -299,7 +299,7 @@ static Word16 Chebps(Word16 x, t0 += (Word32) * (p_f) << 13; - if ((UWord32)(t0 - 0xfe000000L) < 0x01ffffffL - 0xfe000000L) + if ((UWord32)(t0 - 0xfe000000L) < (UWord32)0x03ffffffL) { cheb = (Word16)(t0 >> 10); } diff --git a/media/libstagefright/codecs/amrnb/enc/src/set_sign.cpp b/media/libstagefright/codecs/amrnb/enc/src/set_sign.cpp index dedf91a..d626de3 100644 --- a/media/libstagefright/codecs/amrnb/enc/src/set_sign.cpp +++ b/media/libstagefright/codecs/amrnb/enc/src/set_sign.cpp @@ -552,10 +552,10 @@ void set_sign12k2( else { *(p_sign--) = -32767; /* sign = -1 */ - cor = - (cor); + cor = negate(cor); /* modify dn[] according to the fixed sign */ - dn[i] = - val; + dn[i] = negate(val); } *(p_en--) = cor; |