Commit Graph

609 Commits

Author SHA1 Message Date
Glenn Kasten 76b428d4b4 Remove redundant parentheses around == comparison operator
Bug: 28026175
Change-Id: I8ff9d8d1dd73933dc181f2745292a0a3398a2479
2016-04-18 16:10:57 -07:00
Jean-Michel Trivi 97a1b8140d Fix aacDecoder_drcExtractAndMap()
Parse DVB DRC data only when numThreads is below
 MAX_DRC_THREADS. The post-increment is necessary as
 it is used in fill element DRC data section.
This solution parses as many DRC payloads as allowed by
 MAX_DRC_THREADS and skips all remaining DRC elements in the stream.

Bug 27792766
Bug 26751339

Change-Id: Ie1641888bac1757c4d1491119f977fc5d436eaea
2016-04-15 08:14:50 -07:00
Jean-Michel Trivi 3b6fe4a90f AAC/SBR decoder improvements and bugfixes am: 203e3f2
am: 3fbcee8

* commit '3fbcee802021fc12db8fd6e9e346a2111fe333a9':
  AAC/SBR decoder improvements and bugfixes

Change-Id: Ic370a51ba08eb6079ab1b74413385e35bf29ecba
2016-04-09 05:44:33 +00:00
Jean-Michel Trivi 4a5a256a01 AAC/SBR encoder improvements am: 46ba367
am: 125815b

* commit '125815b0ed558c72bb019a2d36c662e5e7f7c030':
  AAC/SBR encoder improvements

Change-Id: I4ef0a1959666e21ace6086f184302aed640043f6
2016-04-09 05:44:33 +00:00
Jean-Michel Trivi 3fbcee8020 AAC/SBR decoder improvements and bugfixes
am: 203e3f2

* commit '203e3f28fbebec7011342017fafc2a0bda0ce530':
  AAC/SBR decoder improvements and bugfixes

Change-Id: I2f7f5bb7f4c486347a1fdbd7c481cde33037441e
2016-04-09 00:36:07 +00:00
Jean-Michel Trivi 125815b0ed AAC/SBR encoder improvements
am: 46ba367

* commit '46ba3676b854acbc69a4c7845f578d4c2886377b':
  AAC/SBR encoder improvements

Change-Id: Id839c5ba8b79eddb7e239b7ec1b26fb5079b7d81
2016-04-09 00:36:07 +00:00
Jean-Michel Trivi 203e3f28fb AAC/SBR decoder improvements and bugfixes
* AAC-Decoder

   - Add support for AOT 20 (ER-AAC scalable) (base layer only)
   - Add support for AAC as used in Digital Radio Mondiale (DRM30/DRM+)
     Modified file(s):
        libAACdec/src/aacdecoder.cpp
        libAACdec/src/aacdecoder_lib.cpp
        libFDK/src/FDK_core.cpp
        libFDK/src/FDK_tools_rom.cpp
        libMpegTPDec/src/tpdec_asc.cpp
        libMpegTPDec/src/tpdec_lib.cpp
        libMpegTPDec/src/version
        libSBRdec/include/sbrdecoder.h
        libSBRdec/src/env_extr.h
        libSBRdec/src/sbrdecoder.cpp
     Added file(s):
        libMpegTPDec/src/tpdec_drm.cpp
        libMpegTPDec/src/tpdec_drm.h

   - Fix sanity check in HCR module that was performed at the wrong point in time.
     Modified file(s):
        libAACdec/src/aacdecoder_lib.cpp
        libAACdec/src/block.cpp

   - Extend core sampling rate support up to 96 kHz.
     Modified file(s):
        libAACdec/src/aac_rom.cpp
        libAACdec/src/aacdecoder.cpp
        libAACdec/src/aacdecoder_lib.cpp

   - Return correct audio output channel description according number of output
     channels.
     Modified file(s):
        libAACdec/src/aacdecoder_lib.cpp

   - Indroduce decoder intern output buffer. This change allows to use framework
     output buffer with the actual size of the deocder output channels.
     Modified file(s):
        libAACdec/include/aacdecoder_lib.h
        libAACdec/src/aacdecoder.h
        libAACdec/src/aacdecoder_lib.cpp

* SBR-Decoder

   - Increase robustness for erroneous input data.
   - Improve error concealment performance.
   - Fix handling of lowest sub-band for LD-SBR
     Modified file(s):
        libAACdec/src/aacdecoder.cpp
        libAACdec/src/aacdecoder_lib.cpp
        libSBRdec/src/env_calc.cpp
        libSBRdec/src/env_dec.cpp
        libSBRdec/src/env_extr.cpp
        libSBRdec/src/env_extr.h
        libSBRdec/src/sbr_dec.cpp
        libSBRdec/src/sbr_rom.cpp
        libSBRdec/src/sbr_rom.h
        libSBRdec/src/sbrdecoder.cpp

   - Add QMF delay compensation for ELD v2 streams decoded with the complex
     low delay filter-bank.
     Modified file(s):
        libSBRdec/src/sbr_dec.cpp
        libSBRdec/src/sbr_dec.h
        libSBRdec/src/sbrdecoder.cpp

   - Introduce a different handling of frames to be flushed
     dependent on whether there are delayed frames available or not.
     Modified file(s):
        libSBRdec/src/sbr_ram.h
        libSBRdec/src/sbrdecoder.cpp

   - Calculate the correct number of samples for dual-mono copy in case of no
     available PS data.
     Modified file(s):
        libSBRdec/src/sbrdecoder.cpp

* SYS-Library

   - Change include order of genericStds.h to prevent conflict with definitions
     which are also used in math.h.
     Modified file(s):
        libSYS/src/genericStds.cpp

Change-Id: I3ecffbad85f39b056213107955cfadbeb3f4b6e1
2016-04-08 19:10:30 +00:00
Jean-Michel Trivi 46ba3676b8 AAC/SBR encoder improvements
* AAC-Encoder

  - AAC-ELD core encoder audio quality tuning. Update tuning tables, configure
    bitreservoir size and adapt afterburner iteration value.
     Modified file(s):
        libAACenc/src/aacenc.h
        libAACenc/src/aacenc_lib.cpp
        libAACenc/src/adj_thr.cpp
        libAACenc/src/adj_thr.h
        libAACenc/src/adj_thr_data.h
        libAACenc/src/bandwidth.cpp
        libAACenc/src/pnsparam.cpp
        libAACenc/src/qc_main.cpp

   - Introduze dead zone quantizer for ELD to improve audio quality at certain
     configurations.
     Modified file(s):
        libAACenc/src/aacenc_lib.cpp
        libAACenc/src/adj_thr.cpp
        libAACenc/src/adj_thr.h
        libAACenc/src/qc_data.h
        libAACenc/src/qc_main.cpp
        libAACenc/src/quantize.cpp
        libAACenc/src/quantize.h
        libAACenc/src/sf_estim.cpp
        libAACenc/src/sf_estim.h

   - Revise TNS module to improve ELD audio quality.
   - Use new window function and separate prediction gain according TNS filters.
   - Add missing memory initilization to TNS configuration.
     Modified file(s):
        libAACenc/src/aacenc_lib.cpp
        libAACenc/src/aacenc_tns.cpp
        libAACenc/src/aacenc_tns.h
        libAACenc/src/psy_main.cpp
        libAACenc/src/tns_func.h

* SBR-Encoder

   - Revise frequency resolution calculation and handle differently depending
     on number of envelopes and split frames decision.
   - Add and adjust ELD SBR tuning tables.
     Modified file(s):
        libSBRenc/include/sbr_encoder.h
        libSBRenc/src/bit_sbr.h
        libSBRenc/src/env_est.cpp
        libSBRenc/src/fram_gen.cpp
        libSBRenc/src/fram_gen.h
        libSBRenc/src/mh_det.cpp
        libSBRenc/src/sbr_def.h
        libSBRenc/src/sbr_encoder.cpp
        libSBRenc/src/sbr_rom.cpp
        libSBRenc/src/tran_det.cpp

   - Replace ELD transient detector with fast implementation.
     Modified file(s):
        libSBRenc/src/env_est.cpp
        libSBRenc/src/env_est.h
        libSBRenc/src/fram_gen.cpp
        libSBRenc/src/sbr_def.h
        libSBRenc/src/sbr_encoder.cpp
        libSBRenc/src/tran_det.cpp
        libSBRenc/src/tran_det.h

* FDK-Library
   - Introduce generic compare function in tools library.
     Modified file(s):
        libFDK/include/fixpoint_math.h
        libFDK/src/FDK_core.cpp

* SBR-Encoder

  -  Revise ELD frame splitter to improve bit distribution.
     Modified file(s):
        libSBRenc/include/sbr_encoder.h
        libSBRenc/src/bit_sbr.h
        libSBRenc/src/env_est.cpp
        libSBRenc/src/fram_gen.cpp
        libSBRenc/src/fram_gen.h
        libSBRenc/src/sbr_encoder.cpp
        libSBRenc/src/tran_det.cpp
        libSBRenc/src/tran_det.h

   - Configure amplitude resolution according the tonality of the audio signal.
     Modified file(s):
        libSBRenc/include/sbr_encoder.h
        libSBRenc/src/bit_sbr.h
        libSBRenc/src/env_est.cpp
        libSBRenc/src/nf_est.cpp
        libSBRenc/src/nf_est.h
        libSBRenc/src/sbr_def.h
        libSBRenc/src/sbr_encoder.cpp
        libSBRenc/src/ton_corr.cpp
        libSBRenc/src/ton_corr.h
        libSBRenc/src/tran_det.cpp
        libSBRenc/src/tran_det.h

Change-Id: Ie0672b989a06ee63b50240616b8d1d4b790b6cb2
2016-04-08 10:52:42 -07:00
Jean-Michel Trivi 20e8db77ff Fix aacDecoder_drcExtractAndMap() am: 4834f01
am: d75233c

* commit 'd75233c2da4b49259d2e2de701f326d1a8d897b1':
  Fix aacDecoder_drcExtractAndMap()

Change-Id: Ib64d28f680ed52b98fdaf75e124981abb95ba956
2016-04-05 21:12:04 +00:00
Jean-Michel Trivi d75233c2da Fix aacDecoder_drcExtractAndMap()
am: 4834f01

* commit '4834f01bdf9b9f371fcbb0b9cf4f7297fdf1fd55':
  Fix aacDecoder_drcExtractAndMap()

Change-Id: I4f9994a4d4e858b6193b006d6971536c391e0478
2016-04-05 21:08:27 +00:00
Jean-Michel Trivi 4834f01bdf Fix aacDecoder_drcExtractAndMap()
Parse DVB DRC data only when numThreads is below
 MAX_DRC_THREADS. The post-increment is necessary as
 it is used in fill element DRC data section.
This solution parses as many DRC payloads as allowed by
 MAX_DRC_THREADS and skips all remaining DRC elements in the stream.

Bug 27792766
Bug 26751339

Change-Id: Ie1641888bac1757c4d1491119f977fc5d436eaea
2016-04-05 20:50:05 +00:00
Jean-Michel Trivi b802750fd2 SBR/AAC encoder updates, code clean up am: e1c78ed
am: 65750ea

* commit '65750eae6583754ea9d84fed41dc12d1fc3d73d0':
  SBR/AAC encoder updates, code clean up

Change-Id: Ife18fb3ee2fe76fab1e5ab8256addf5d39834c2f
2016-04-05 17:51:06 +00:00
Jean-Michel Trivi 65750eae65 SBR/AAC encoder updates, code clean up
am: e1c78ed

* commit 'e1c78ed73faa51f2c7fcb0c4a17a92be9cc747f5':
  SBR/AAC encoder updates, code clean up

Change-Id: I908adc47823de593c3e258c67f360da9321780f5
2016-04-05 17:43:33 +00:00
Jean-Michel Trivi bb7ad8711b Remove compiler warnings, revised ARM QMF encoder am: ef30836
am: 0713b4a

* commit '0713b4acff1a489e7d49725dc7c5e3dad370b5c8':
  Remove compiler warnings, revised ARM QMF encoder

Change-Id: Ic3e76f0f1f37ff49b46efe5958e19499289db751
2016-04-05 16:14:53 +00:00
Jean-Michel Trivi 0713b4acff Remove compiler warnings, revised ARM QMF encoder
am: ef30836

* commit 'ef30836651bf059c3120c03dd11e08b6aafdae13':
  Remove compiler warnings, revised ARM QMF encoder

Change-Id: I07babb4dc36b6ad7aebeb62c303a8380e99d691e
2016-04-05 16:11:23 +00:00
Jean-Michel Trivi e1c78ed73f SBR/AAC encoder updates, code clean up
* SBR-Encoder

   - Prevent noise level overflow in noise floor detection.
   - Saturate threshold calculation in transient detection.
     Modified file(s):
        libSBRenc/src/nf_est.cpp
        libSBRenc/src/sbr_encoder.cpp
        libSBRenc/src/tran_det.cpp

* AAC-Encoder

   - Expand input data range of GetInvInt() function. There was an encoder
     assert observed in non-default bitrate configuration.
     Modified file(s):
        libAACenc/src/aacenc_lib.cpp
        libAACenc/src/intensity.cpp
        libFDK/include/fixpoint_math.h
        libFDK/src/FDK_core.cpp
        libFDK/src/FDK_tools_rom.cpp

   - Make sure that the encoder is stable with regard to very low audio bandwidth
     confguration parameter value.
   - Fix lowdelay blending for low audio bandwidth.
     Modified file(s):
        libAACenc/src/aacenc.cpp
        libAACenc/src/aacenc_lib.cpp
        libAACenc/src/adj_thr.cpp
        libAACenc/src/psy_configuration.cpp
        libAACenc/src/psy_main.cpp

   - Disable pseudo surround flag in case metadata matrix mixdown index is
     present in program config element.
     Modified file(s):
        libAACenc/src/aacenc_lib.cpp

   - Enable variable bitrate mode in encoder api.
   - Add AACENC_PEAK_BITRATE parameter to encoder api.
   - Add AACENC_AUDIOMUXVER parameter to encoder api.
     Modified file(s):
        libAACenc/include/aacenc_lib.h
        libAACenc/src/aacenc.cpp
        libAACenc/src/aacenc.h
        libAACenc/src/aacenc_lib.cpp
        libAACenc/src/qc_main.cpp
        libMpegTPEnc/src/tpenc_latm.cpp
        libMpegTPEnc/src/version

* FDK-Sources

   - Code clean up. Remove unneeded pseudo audio object types and transport types.
     Modified file(s):
        libAACdec/src/aacdecoder.cpp
        libAACdec/src/aacdecoder_lib.cpp
        libAACenc/include/aacenc_lib.h
        libAACenc/src/aacenc.cpp
        libAACenc/src/aacenc_lib.cpp
        libFDK/src/FDK_tools_rom.cpp
        libMpegTPDec/src/tpdec_lib.cpp
        libMpegTPDec/src/version
        libMpegTPEnc/src/tpenc_latm.cpp
        libMpegTPEnc/src/version
        libSBRdec/src/sbrdecoder.cpp
        libSBRenc/src/sbr_encoder.cpp
        libSYS/include/FDK_audio.h
        libSYS/src/genericStds.cpp

Change-Id: I807a53cb7f48c9ee7563cb8da1d0c52221576ca6
2016-04-04 17:25:36 -07:00
Jean-Michel Trivi ef30836651 Remove compiler warnings, revised ARM QMF encoder
Bug 8493170

Change-Id: I64d19a8a8059c5a96386b1eaac297fd2469515f8
2016-04-04 15:03:26 -07:00
Jean-Michel Trivi f86e64f5c7 Fix stack corruption happening in aacDecoder_drcExtractAndMap() am: a06d1c2 am: 47739cd am: 118fc75
am: 7657556

* commit '7657556633262752ad2db9e3914a04128bd64e1b':
  Fix stack corruption happening in aacDecoder_drcExtractAndMap()
2016-03-22 02:57:52 +00:00
Jean-Michel Trivi 7657556633 Fix stack corruption happening in aacDecoder_drcExtractAndMap() am: a06d1c2 am: 47739cd
am: 118fc75

* commit '118fc75eee6cc763a3105d6e963b77d76d114a2e':
  Fix stack corruption happening in aacDecoder_drcExtractAndMap()
2016-03-22 02:49:48 +00:00
Jean-Michel Trivi 118fc75eee Fix stack corruption happening in aacDecoder_drcExtractAndMap() am: a06d1c2
am: 47739cd

* commit '47739cd9d8d7842436b90ef14207c935b0a799fe':
  Fix stack corruption happening in aacDecoder_drcExtractAndMap()
2016-03-22 02:44:32 +00:00
Jean-Michel Trivi 47739cd9d8 Fix stack corruption happening in aacDecoder_drcExtractAndMap()
am: a06d1c2

* commit 'a06d1c2b9af1621037b48557aac42b5ecbdb03b3':
  Fix stack corruption happening in aacDecoder_drcExtractAndMap()
2016-03-22 02:36:16 +00:00
Jean-Michel Trivi a06d1c2b9a Fix stack corruption happening in aacDecoder_drcExtractAndMap()
In the aacDecoder_drcExtractAndMap() function, self->numThreads
  can be used after having exceeded its intended max value,
  MAX_DRC_THREADS, causing memory to be cleared after the
  threadBs[MAX_DRC_THREADS] array.
The crash is prevented by never using self->numThreads with
  a value equal to or greater than MAX_DRC_THREADS.
A proper fix will be required as there seems to be an issue as
  to which entry in the threadBs array is meant to be initialized
  and used.

Bug 26751339

Change-Id: I655cc40c35d4206ab72e83b2bdb751be2fe52b5a
2016-03-21 21:59:22 +00:00
Jean-Michel Trivi e46ff0f7f9 Fix stack corruption happening in aacDecoder_drcExtractAndMap()
In the aacDecoder_drcExtractAndMap() function, self->numThreads
  can be used after having exceeded its intended max value,
  MAX_DRC_THREADS, causing memory to be cleared after the
  threadBs[MAX_DRC_THREADS] array.
The crash is prevented by never using self->numThreads with
  a value equal to or greater than MAX_DRC_THREADS.
A proper fix will be required as there seems to be an issue as
  to which entry in the threadBs array is meant to be initialized
  and used.

Bug 26751339

Change-Id: I655cc40c35d4206ab72e83b2bdb751be2fe52b5a
2016-03-21 21:58:57 +00:00
Dan Willemsen c203653dcb Remove __DATE__/__TIME__
am: 2d435aa433

* commit '2d435aa43323935bd8ed293f4f12cddfdee81eb3':
  Remove __DATE__/__TIME__
2015-11-03 19:44:47 +00:00
Dan Willemsen 2d435aa433 Remove __DATE__/__TIME__
Building __DATE__/__TIME__ into the binaries means that every build will
create different binaries, even if all the sources are identical. This
also means that any libraries including this one will need to be patched
during every OTA.

Nothing appears to use the build_date/build_time fields, so just replace
them with empty strings.

Bug: 24204119
Change-Id: I9543eb388a1e8ab9284df9035a62fc8942cdc082
(cherry picked from commit 6e8330732f)
2015-10-30 21:53:59 +00:00
Dan Willemsen ca249e444b Merge "Remove __DATE__/__TIME__"
am: a73b059815

* commit 'a73b059815fc35ba689e5a8235b567b2353eabad':
  Remove __DATE__/__TIME__
2015-10-27 23:27:46 +00:00
Dan Willemsen a73b059815 Merge "Remove __DATE__/__TIME__" 2015-10-27 23:16:31 +00:00
Dan Willemsen 6e8330732f Remove __DATE__/__TIME__
Building __DATE__/__TIME__ into the binaries means that every build will
create different binaries, even if all the sources are identical. This
also means that any libraries including this one will need to be patched
during every OTA.

Nothing appears to use the build_date/build_time fields, so just replace
them with empty strings.

Bug: 24204119
Change-Id: I9543eb388a1e8ab9284df9035a62fc8942cdc082
2015-10-23 09:48:27 -07:00
Marco Nelissen 106fb85b42 am 9f42dfb7: am b3c5a4bb: Fix crash on invalid channel config
* commit '9f42dfb7990a107da23454669459bb5e28d90726':
  Fix crash on invalid channel config
2015-09-15 02:12:36 +00:00
Marco Nelissen 9f42dfb799 am b3c5a4bb: Fix crash on invalid channel config
* commit 'b3c5a4bb8442ab3158fa1f52b790fadc64546f46':
  Fix crash on invalid channel config
2015-09-15 01:10:04 +00:00
Marco Nelissen b3c5a4bb84 Fix crash on invalid channel config
Bug: 23876444
Change-Id: I90ad197811ebabceb5b5d74d6d3f20716fbe2d45
2015-09-08 15:50:08 +00:00
Dan Willemsen 8e8d920708 am 9f1b9bb7: (-s ours) am 5e7b21bb: Merge "build: wildcard isn\'t guaranteed to be sorted"
* commit '9f1b9bb71019b9a773d847cec6f10c198cd6c459':
2015-08-27 05:10:06 +00:00
Dan Willemsen ba8b18e1e8 am 5e7b21bb: Merge "build: wildcard isn\'t guaranteed to be sorted"
* commit '5e7b21bb954dcf74533a1725be62cf6bffcb34ce':
  build: wildcard isn't guaranteed to be sorted
2015-08-12 00:39:30 +00:00
Dan Willemsen 9f1b9bb710 am 5e7b21bb: Merge "build: wildcard isn\'t guaranteed to be sorted"
* commit '5e7b21bb954dcf74533a1725be62cf6bffcb34ce':
  build: wildcard isn't guaranteed to be sorted
2015-08-12 00:39:04 +00:00
Dan Willemsen 5e7b21bb95 Merge "build: wildcard isn't guaranteed to be sorted" 2015-08-12 00:24:06 +00:00
Dan Willemsen f170f89906 build: wildcard isn't guaranteed to be sorted
To prevent this from changing between builds, wrap in $(sort )

Change-Id: I0571d7d8787a40ca107c7c735d79692d27bed06e
2015-08-07 13:51:09 -07:00
Bill Yi 267940f5bd am f2df045a: Merge commit \'10d211b84a5f0790b28fcc8b3db66884d5f9c729\' into HEAD
* commit 'f2df045ae92ee655481f73b19986084308ae684c':
2015-02-20 00:22:52 +00:00
Bill Yi f2df045ae9 Merge commit '10d211b84a5f0790b28fcc8b3db66884d5f9c729' into HEAD 2015-02-19 14:30:49 -08:00
Chih-Hung Hsieh bd8021bef1 am 2b6bf8dc: Merge "Do not include genericStds_linux.cpp."
* commit '2b6bf8dc0941f3a4531030b950cf24fd31248b0b':
  Do not include genericStds_linux.cpp.
2015-02-18 02:53:59 +00:00
Chih-Hung Hsieh 2b6bf8dc09 Merge "Do not include genericStds_linux.cpp." 2015-02-18 02:41:47 +00:00
Chih-Hung Hsieh 09f1d04467 Do not include genericStds_linux.cpp.
The __aeabi_memcpy functions are already defined in Android libc.
Redefining them to call memcpy will become recursive when clang/llvm
converts the memcpy call to __aeabi_memcpy.
With this change, we can enable clang/llvm by removing LOCAL_CLANG from Android.mk.

BUG: 12216385
Change-Id: I8b8b4ba7f3ff1e66f8110fc3b6356865a582c1d8
2015-02-12 11:20:14 -08:00
Marco Nelissen 10d211b84a am 1c6ab7db: Merge "Use gcc for the AAC decoder"
* commit '1c6ab7db30867f3eee0d550adb015b340fbbc668':
  Use gcc for the AAC decoder
2015-02-11 01:51:25 +00:00
Marco Nelissen 1c6ab7db30 Merge "Use gcc for the AAC decoder" 2015-02-11 01:22:20 +00:00
Marco Nelissen 355baa79bf Use gcc for the AAC decoder
clang generates crashing code for this.

Change-Id: I90355d6735403290e7c0d93ff4854520b7b80f4a
2015-02-10 15:39:28 -08:00
Chih-Hung Hsieh 28e448bb55 am 66091e46: Merge "Fix checks for {Front,Side,Back}ElementIsCpe"
* commit '66091e46d7aae1b45ed96f5f39274954a296db71':
  Fix checks for {Front,Side,Back}ElementIsCpe
2014-12-01 19:45:05 +00:00
Chih-Hung Hsieh 66091e46d7 Merge "Fix checks for {Front,Side,Back}ElementIsCpe" 2014-12-01 19:31:58 +00:00
Dan Albert 57f76311ba am 84851b23: Merge "Move back to C++98."
* commit '84851b23d6f65ce03da4fa8ef2348b4f46c0ed0f':
  Move back to C++98.
2014-12-01 19:27:01 +00:00
Chih-Hung Hsieh bb1e78a118 Fix checks for {Front,Side,Back}ElementIsCpe
{Front,Side,Back}ElementIsCpe is an array (per-channel). The check for
pPce->{Front,Side,Back}ElementIsCpe without an index checks the address
of the array, and will always evaluate to true. The elTagSce++
statements are unreachable.

Change-Id: If530371788a44038c500d6f9f7ac67681f77cc71
2014-12-01 11:26:03 -08:00
Dan Albert 84851b23d6 Merge "Move back to C++98." 2014-12-01 19:15:30 +00:00
Dan Albert d52f374768 Move back to C++98.
This code depends on narrowing hex literals to a signed long, which
trips -Wc++11-narrowing (the fix would be to explicitly cast each
value to signed).

Change-Id: I581a02ef0eeee5a2d95ce0ff2ec6f7ff26f3a074
2014-11-28 13:56:59 -08:00