libavcodec/aacenc.c:155: error: Null Dereference
  pointer `&pb->buf_ptr` last assigned on line 144 could be null and is dereferenced by call to `put_bits()` at line 155, column 5.

libavcodec/aacenc.c:139:1: start of procedure put_audio_specific_config()
137.  * @see 1.6.2.1 "Syntax - AudioSpecificConfig"
138.  */
139. static void put_audio_specific_config(AVCodecContext *avctx)
     ^
140. {
141.     PutBitContext pb;

libavcodec/aacenc.c:142:5: 
140. {
141.     PutBitContext pb;
142.     AACEncContext *s = avctx->priv_data;
         ^
143. 
144.     init_put_bits(&pb, avctx->extradata, avctx->extradata_size*8);

libavcodec/aacenc.c:144:5: 
142.     AACEncContext *s = avctx->priv_data;
143. 
144.     init_put_bits(&pb, avctx->extradata, avctx->extradata_size*8);
         ^
145.     put_bits(&pb, 5, 2); //object type - AAC-LC
146.     put_bits(&pb, 4, s->samplerate_index); //sample rate index

libavcodec/put_bits.h:60:1: start of procedure init_put_bits()
  58.  * @param buffer_size the size in bytes of buffer
  59.  */
  60. static inline void init_put_bits(PutBitContext *s, uint8_t *buffer, int buffer_size)
      ^
  61. {
  62.     if(buffer_size < 0) {

libavcodec/put_bits.h:62:8: Taking true branch
  60. static inline void init_put_bits(PutBitContext *s, uint8_t *buffer, int buffer_size)
  61. {
  62.     if(buffer_size < 0) {
             ^
  63.         buffer_size = 0;
  64.         buffer = NULL;

libavcodec/put_bits.h:63:9: 
  61. {
  62.     if(buffer_size < 0) {
  63.         buffer_size = 0;
              ^
  64.         buffer = NULL;
  65.     }

libavcodec/put_bits.h:64:9: 
  62.     if(buffer_size < 0) {
  63.         buffer_size = 0;
  64.         buffer = NULL;
              ^
  65.     }
  66. 

libavcodec/put_bits.h:67:5: 
  65.     }
  66. 
  67.     s->size_in_bits= 8*buffer_size;
          ^
  68.     s->buf = buffer;
  69.     s->buf_end = s->buf + buffer_size;

libavcodec/put_bits.h:68:5: 
  66. 
  67.     s->size_in_bits= 8*buffer_size;
  68.     s->buf = buffer;
          ^
  69.     s->buf_end = s->buf + buffer_size;
  70. #ifdef ALT_BITSTREAM_WRITER

libavcodec/put_bits.h:69:5: 
  67.     s->size_in_bits= 8*buffer_size;
  68.     s->buf = buffer;
  69.     s->buf_end = s->buf + buffer_size;
          ^
  70. #ifdef ALT_BITSTREAM_WRITER
  71.     s->index=0;

libavcodec/put_bits.h:75:5: 
  73. //    memset(buffer, 0, buffer_size);
  74. #else
  75.     s->buf_ptr = s->buf;
          ^
  76.     s->bit_left=32;
  77.     s->bit_buf=0;

libavcodec/put_bits.h:76:5: 
  74. #else
  75.     s->buf_ptr = s->buf;
  76.     s->bit_left=32;
          ^
  77.     s->bit_buf=0;
  78. #endif

libavcodec/put_bits.h:77:5: 
  75.     s->buf_ptr = s->buf;
  76.     s->bit_left=32;
  77.     s->bit_buf=0;
          ^
  78. #endif
  79. }

libavcodec/put_bits.h:79:1: return from a call to init_put_bits
  77.     s->bit_buf=0;
  78. #endif
  79. }
      ^
  80. 
  81. /**

libavcodec/aacenc.c:145:5: 
143. 
144.     init_put_bits(&pb, avctx->extradata, avctx->extradata_size*8);
145.     put_bits(&pb, 5, 2); //object type - AAC-LC
         ^
146.     put_bits(&pb, 4, s->samplerate_index); //sample rate index
147.     put_bits(&pb, 4, avctx->channels);

libavcodec/put_bits.h:149:1: start of procedure put_bits()
  147.  * Use put_bits32 to write 32 bits.
  148.  */
  149. static inline void put_bits(PutBitContext *s, int n, unsigned int value)
       ^
  150. #ifndef ALT_BITSTREAM_WRITER
  151. {

libavcodec/put_bits.h:156:5: 
  154. 
  155.     //    printf("put_bits=%d %x\n", n, value);
  156.     assert(n <= 31 && value < (1U << n));
           ^
  157. 
  158.     bit_buf = s->bit_buf;

libavcodec/put_bits.h:158:5: 
  156.     assert(n <= 31 && value < (1U << n));
  157. 
  158.     bit_buf = s->bit_buf;
           ^
  159.     bit_left = s->bit_left;
  160. 

libavcodec/put_bits.h:159:5: 
  157. 
  158.     bit_buf = s->bit_buf;
  159.     bit_left = s->bit_left;
           ^
  160. 
  161.     //    printf("n=%d value=%x cnt=%d buf=%x\n", n, value, bit_cnt, bit_buf);

libavcodec/put_bits.h:178:9: Taking true branch
  176.     bit_left-=n;
  177. #else
  178.     if (n < bit_left) {
               ^
  179.         bit_buf = (bit_buf<<n) | value;
  180.         bit_left-=n;

libavcodec/put_bits.h:179:9: 
  177. #else
  178.     if (n < bit_left) {
  179.         bit_buf = (bit_buf<<n) | value;
               ^
  180.         bit_left-=n;
  181.     } else {

libavcodec/put_bits.h:180:9: 
  178.     if (n < bit_left) {
  179.         bit_buf = (bit_buf<<n) | value;
  180.         bit_left-=n;
               ^
  181.     } else {
  182.         bit_buf<<=bit_left;

libavcodec/put_bits.h:197:5: 
  195. #endif
  196. 
  197.     s->bit_buf = bit_buf;
           ^
  198.     s->bit_left = bit_left;
  199. }

libavcodec/put_bits.h:198:5: 
  196. 
  197.     s->bit_buf = bit_buf;
  198.     s->bit_left = bit_left;
           ^
  199. }
  200. #else  /* ALT_BITSTREAM_WRITER defined */

libavcodec/put_bits.h:199:1: return from a call to put_bits
  197.     s->bit_buf = bit_buf;
  198.     s->bit_left = bit_left;
  199. }
       ^
  200. #else  /* ALT_BITSTREAM_WRITER defined */
  201. {

libavcodec/aacenc.c:146:5: 
144.     init_put_bits(&pb, avctx->extradata, avctx->extradata_size*8);
145.     put_bits(&pb, 5, 2); //object type - AAC-LC
146.     put_bits(&pb, 4, s->samplerate_index); //sample rate index
         ^
147.     put_bits(&pb, 4, avctx->channels);
148.     //GASpecificConfig

libavcodec/put_bits.h:149:1: start of procedure put_bits()
  147.  * Use put_bits32 to write 32 bits.
  148.  */
  149. static inline void put_bits(PutBitContext *s, int n, unsigned int value)
       ^
  150. #ifndef ALT_BITSTREAM_WRITER
  151. {

libavcodec/put_bits.h:156:5: 
  154. 
  155.     //    printf("put_bits=%d %x\n", n, value);
  156.     assert(n <= 31 && value < (1U << n));
           ^
  157. 
  158.     bit_buf = s->bit_buf;

libavcodec/put_bits.h:158:5: 
  156.     assert(n <= 31 && value < (1U << n));
  157. 
  158.     bit_buf = s->bit_buf;
           ^
  159.     bit_left = s->bit_left;
  160. 

libavcodec/put_bits.h:159:5: 
  157. 
  158.     bit_buf = s->bit_buf;
  159.     bit_left = s->bit_left;
           ^
  160. 
  161.     //    printf("n=%d value=%x cnt=%d buf=%x\n", n, value, bit_cnt, bit_buf);

libavcodec/put_bits.h:178:9: Taking true branch
  176.     bit_left-=n;
  177. #else
  178.     if (n < bit_left) {
               ^
  179.         bit_buf = (bit_buf<<n) | value;
  180.         bit_left-=n;

libavcodec/put_bits.h:179:9: 
  177. #else
  178.     if (n < bit_left) {
  179.         bit_buf = (bit_buf<<n) | value;
               ^
  180.         bit_left-=n;
  181.     } else {

libavcodec/put_bits.h:180:9: 
  178.     if (n < bit_left) {
  179.         bit_buf = (bit_buf<<n) | value;
  180.         bit_left-=n;
               ^
  181.     } else {
  182.         bit_buf<<=bit_left;

libavcodec/put_bits.h:197:5: 
  195. #endif
  196. 
  197.     s->bit_buf = bit_buf;
           ^
  198.     s->bit_left = bit_left;
  199. }

libavcodec/put_bits.h:198:5: 
  196. 
  197.     s->bit_buf = bit_buf;
  198.     s->bit_left = bit_left;
           ^
  199. }
  200. #else  /* ALT_BITSTREAM_WRITER defined */

libavcodec/put_bits.h:199:1: return from a call to put_bits
  197.     s->bit_buf = bit_buf;
  198.     s->bit_left = bit_left;
  199. }
       ^
  200. #else  /* ALT_BITSTREAM_WRITER defined */
  201. {

libavcodec/aacenc.c:147:5: 
145.     put_bits(&pb, 5, 2); //object type - AAC-LC
146.     put_bits(&pb, 4, s->samplerate_index); //sample rate index
147.     put_bits(&pb, 4, avctx->channels);
         ^
148.     //GASpecificConfig
149.     put_bits(&pb, 1, 0); //frame length - 1024 samples

libavcodec/put_bits.h:149:1: start of procedure put_bits()
  147.  * Use put_bits32 to write 32 bits.
  148.  */
  149. static inline void put_bits(PutBitContext *s, int n, unsigned int value)
       ^
  150. #ifndef ALT_BITSTREAM_WRITER
  151. {

libavcodec/put_bits.h:156:5: 
  154. 
  155.     //    printf("put_bits=%d %x\n", n, value);
  156.     assert(n <= 31 && value < (1U << n));
           ^
  157. 
  158.     bit_buf = s->bit_buf;

libavcodec/put_bits.h:158:5: 
  156.     assert(n <= 31 && value < (1U << n));
  157. 
  158.     bit_buf = s->bit_buf;
           ^
  159.     bit_left = s->bit_left;
  160. 

libavcodec/put_bits.h:159:5: 
  157. 
  158.     bit_buf = s->bit_buf;
  159.     bit_left = s->bit_left;
           ^
  160. 
  161.     //    printf("n=%d value=%x cnt=%d buf=%x\n", n, value, bit_cnt, bit_buf);

libavcodec/put_bits.h:178:9: Taking true branch
  176.     bit_left-=n;
  177. #else
  178.     if (n < bit_left) {
               ^
  179.         bit_buf = (bit_buf<<n) | value;
  180.         bit_left-=n;

libavcodec/put_bits.h:179:9: 
  177. #else
  178.     if (n < bit_left) {
  179.         bit_buf = (bit_buf<<n) | value;
               ^
  180.         bit_left-=n;
  181.     } else {

libavcodec/put_bits.h:180:9: 
  178.     if (n < bit_left) {
  179.         bit_buf = (bit_buf<<n) | value;
  180.         bit_left-=n;
               ^
  181.     } else {
  182.         bit_buf<<=bit_left;

libavcodec/put_bits.h:197:5: 
  195. #endif
  196. 
  197.     s->bit_buf = bit_buf;
           ^
  198.     s->bit_left = bit_left;
  199. }

libavcodec/put_bits.h:198:5: 
  196. 
  197.     s->bit_buf = bit_buf;
  198.     s->bit_left = bit_left;
           ^
  199. }
  200. #else  /* ALT_BITSTREAM_WRITER defined */

libavcodec/put_bits.h:199:1: return from a call to put_bits
  197.     s->bit_buf = bit_buf;
  198.     s->bit_left = bit_left;
  199. }
       ^
  200. #else  /* ALT_BITSTREAM_WRITER defined */
  201. {

libavcodec/aacenc.c:149:5: 
147.     put_bits(&pb, 4, avctx->channels);
148.     //GASpecificConfig
149.     put_bits(&pb, 1, 0); //frame length - 1024 samples
         ^
150.     put_bits(&pb, 1, 0); //does not depend on core coder
151.     put_bits(&pb, 1, 0); //is not extension

libavcodec/put_bits.h:149:1: start of procedure put_bits()
  147.  * Use put_bits32 to write 32 bits.
  148.  */
  149. static inline void put_bits(PutBitContext *s, int n, unsigned int value)
       ^
  150. #ifndef ALT_BITSTREAM_WRITER
  151. {

libavcodec/put_bits.h:156:5: 
  154. 
  155.     //    printf("put_bits=%d %x\n", n, value);
  156.     assert(n <= 31 && value < (1U << n));
           ^
  157. 
  158.     bit_buf = s->bit_buf;

libavcodec/put_bits.h:158:5: 
  156.     assert(n <= 31 && value < (1U << n));
  157. 
  158.     bit_buf = s->bit_buf;
           ^
  159.     bit_left = s->bit_left;
  160. 

libavcodec/put_bits.h:159:5: 
  157. 
  158.     bit_buf = s->bit_buf;
  159.     bit_left = s->bit_left;
           ^
  160. 
  161.     //    printf("n=%d value=%x cnt=%d buf=%x\n", n, value, bit_cnt, bit_buf);

libavcodec/put_bits.h:178:9: Taking true branch
  176.     bit_left-=n;
  177. #else
  178.     if (n < bit_left) {
               ^
  179.         bit_buf = (bit_buf<<n) | value;
  180.         bit_left-=n;

libavcodec/put_bits.h:179:9: 
  177. #else
  178.     if (n < bit_left) {
  179.         bit_buf = (bit_buf<<n) | value;
               ^
  180.         bit_left-=n;
  181.     } else {

libavcodec/put_bits.h:180:9: 
  178.     if (n < bit_left) {
  179.         bit_buf = (bit_buf<<n) | value;
  180.         bit_left-=n;
               ^
  181.     } else {
  182.         bit_buf<<=bit_left;

libavcodec/put_bits.h:197:5: 
  195. #endif
  196. 
  197.     s->bit_buf = bit_buf;
           ^
  198.     s->bit_left = bit_left;
  199. }

libavcodec/put_bits.h:198:5: 
  196. 
  197.     s->bit_buf = bit_buf;
  198.     s->bit_left = bit_left;
           ^
  199. }
  200. #else  /* ALT_BITSTREAM_WRITER defined */

libavcodec/put_bits.h:199:1: return from a call to put_bits
  197.     s->bit_buf = bit_buf;
  198.     s->bit_left = bit_left;
  199. }
       ^
  200. #else  /* ALT_BITSTREAM_WRITER defined */
  201. {

libavcodec/aacenc.c:150:5: 
148.     //GASpecificConfig
149.     put_bits(&pb, 1, 0); //frame length - 1024 samples
150.     put_bits(&pb, 1, 0); //does not depend on core coder
         ^
151.     put_bits(&pb, 1, 0); //is not extension
152. 

libavcodec/put_bits.h:149:1: start of procedure put_bits()
  147.  * Use put_bits32 to write 32 bits.
  148.  */
  149. static inline void put_bits(PutBitContext *s, int n, unsigned int value)
       ^
  150. #ifndef ALT_BITSTREAM_WRITER
  151. {

libavcodec/put_bits.h:156:5: 
  154. 
  155.     //    printf("put_bits=%d %x\n", n, value);
  156.     assert(n <= 31 && value < (1U << n));
           ^
  157. 
  158.     bit_buf = s->bit_buf;

libavcodec/put_bits.h:158:5: 
  156.     assert(n <= 31 && value < (1U << n));
  157. 
  158.     bit_buf = s->bit_buf;
           ^
  159.     bit_left = s->bit_left;
  160. 

libavcodec/put_bits.h:159:5: 
  157. 
  158.     bit_buf = s->bit_buf;
  159.     bit_left = s->bit_left;
           ^
  160. 
  161.     //    printf("n=%d value=%x cnt=%d buf=%x\n", n, value, bit_cnt, bit_buf);

libavcodec/put_bits.h:178:9: Taking true branch
  176.     bit_left-=n;
  177. #else
  178.     if (n < bit_left) {
               ^
  179.         bit_buf = (bit_buf<<n) | value;
  180.         bit_left-=n;

libavcodec/put_bits.h:179:9: 
  177. #else
  178.     if (n < bit_left) {
  179.         bit_buf = (bit_buf<<n) | value;
               ^
  180.         bit_left-=n;
  181.     } else {

libavcodec/put_bits.h:180:9: 
  178.     if (n < bit_left) {
  179.         bit_buf = (bit_buf<<n) | value;
  180.         bit_left-=n;
               ^
  181.     } else {
  182.         bit_buf<<=bit_left;

libavcodec/put_bits.h:197:5: 
  195. #endif
  196. 
  197.     s->bit_buf = bit_buf;
           ^
  198.     s->bit_left = bit_left;
  199. }

libavcodec/put_bits.h:198:5: 
  196. 
  197.     s->bit_buf = bit_buf;
  198.     s->bit_left = bit_left;
           ^
  199. }
  200. #else  /* ALT_BITSTREAM_WRITER defined */

libavcodec/put_bits.h:199:1: return from a call to put_bits
  197.     s->bit_buf = bit_buf;
  198.     s->bit_left = bit_left;
  199. }
       ^
  200. #else  /* ALT_BITSTREAM_WRITER defined */
  201. {

libavcodec/aacenc.c:151:5: 
149.     put_bits(&pb, 1, 0); //frame length - 1024 samples
150.     put_bits(&pb, 1, 0); //does not depend on core coder
151.     put_bits(&pb, 1, 0); //is not extension
         ^
152. 
153.     //Explicitly Mark SBR absent

libavcodec/put_bits.h:149:1: start of procedure put_bits()
  147.  * Use put_bits32 to write 32 bits.
  148.  */
  149. static inline void put_bits(PutBitContext *s, int n, unsigned int value)
       ^
  150. #ifndef ALT_BITSTREAM_WRITER
  151. {

libavcodec/put_bits.h:156:5: 
  154. 
  155.     //    printf("put_bits=%d %x\n", n, value);
  156.     assert(n <= 31 && value < (1U << n));
           ^
  157. 
  158.     bit_buf = s->bit_buf;

libavcodec/put_bits.h:158:5: 
  156.     assert(n <= 31 && value < (1U << n));
  157. 
  158.     bit_buf = s->bit_buf;
           ^
  159.     bit_left = s->bit_left;
  160. 

libavcodec/put_bits.h:159:5: 
  157. 
  158.     bit_buf = s->bit_buf;
  159.     bit_left = s->bit_left;
           ^
  160. 
  161.     //    printf("n=%d value=%x cnt=%d buf=%x\n", n, value, bit_cnt, bit_buf);

libavcodec/put_bits.h:178:9: Taking true branch
  176.     bit_left-=n;
  177. #else
  178.     if (n < bit_left) {
               ^
  179.         bit_buf = (bit_buf<<n) | value;
  180.         bit_left-=n;

libavcodec/put_bits.h:179:9: 
  177. #else
  178.     if (n < bit_left) {
  179.         bit_buf = (bit_buf<<n) | value;
               ^
  180.         bit_left-=n;
  181.     } else {

libavcodec/put_bits.h:180:9: 
  178.     if (n < bit_left) {
  179.         bit_buf = (bit_buf<<n) | value;
  180.         bit_left-=n;
               ^
  181.     } else {
  182.         bit_buf<<=bit_left;

libavcodec/put_bits.h:197:5: 
  195. #endif
  196. 
  197.     s->bit_buf = bit_buf;
           ^
  198.     s->bit_left = bit_left;
  199. }

libavcodec/put_bits.h:198:5: 
  196. 
  197.     s->bit_buf = bit_buf;
  198.     s->bit_left = bit_left;
           ^
  199. }
  200. #else  /* ALT_BITSTREAM_WRITER defined */

libavcodec/put_bits.h:199:1: return from a call to put_bits
  197.     s->bit_buf = bit_buf;
  198.     s->bit_left = bit_left;
  199. }
       ^
  200. #else  /* ALT_BITSTREAM_WRITER defined */
  201. {

libavcodec/aacenc.c:154:5: 
152. 
153.     //Explicitly Mark SBR absent
154.     put_bits(&pb, 11, 0x27b); //sync extension
         ^
155.     put_bits(&pb, 5,  AOT_SBR);
156.     put_bits(&pb, 1,  0);

libavcodec/put_bits.h:149:1: start of procedure put_bits()
  147.  * Use put_bits32 to write 32 bits.
  148.  */
  149. static inline void put_bits(PutBitContext *s, int n, unsigned int value)
       ^
  150. #ifndef ALT_BITSTREAM_WRITER
  151. {

libavcodec/put_bits.h:156:5: 
  154. 
  155.     //    printf("put_bits=%d %x\n", n, value);
  156.     assert(n <= 31 && value < (1U << n));
           ^
  157. 
  158.     bit_buf = s->bit_buf;

libavcodec/put_bits.h:158:5: 
  156.     assert(n <= 31 && value < (1U << n));
  157. 
  158.     bit_buf = s->bit_buf;
           ^
  159.     bit_left = s->bit_left;
  160. 

libavcodec/put_bits.h:159:5: 
  157. 
  158.     bit_buf = s->bit_buf;
  159.     bit_left = s->bit_left;
           ^
  160. 
  161.     //    printf("n=%d value=%x cnt=%d buf=%x\n", n, value, bit_cnt, bit_buf);

libavcodec/put_bits.h:178:9: Taking true branch
  176.     bit_left-=n;
  177. #else
  178.     if (n < bit_left) {
               ^
  179.         bit_buf = (bit_buf<<n) | value;
  180.         bit_left-=n;

libavcodec/put_bits.h:179:9: 
  177. #else
  178.     if (n < bit_left) {
  179.         bit_buf = (bit_buf<<n) | value;
               ^
  180.         bit_left-=n;
  181.     } else {

libavcodec/put_bits.h:180:9: 
  178.     if (n < bit_left) {
  179.         bit_buf = (bit_buf<<n) | value;
  180.         bit_left-=n;
               ^
  181.     } else {
  182.         bit_buf<<=bit_left;

libavcodec/put_bits.h:197:5: 
  195. #endif
  196. 
  197.     s->bit_buf = bit_buf;
           ^
  198.     s->bit_left = bit_left;
  199. }

libavcodec/put_bits.h:198:5: 
  196. 
  197.     s->bit_buf = bit_buf;
  198.     s->bit_left = bit_left;
           ^
  199. }
  200. #else  /* ALT_BITSTREAM_WRITER defined */

libavcodec/put_bits.h:199:1: return from a call to put_bits
  197.     s->bit_buf = bit_buf;
  198.     s->bit_left = bit_left;
  199. }
       ^
  200. #else  /* ALT_BITSTREAM_WRITER defined */
  201. {

libavcodec/aacenc.c:155:5: 
153.     //Explicitly Mark SBR absent
154.     put_bits(&pb, 11, 0x27b); //sync extension
155.     put_bits(&pb, 5,  AOT_SBR);
         ^
156.     put_bits(&pb, 1,  0);
157.     flush_put_bits(&pb);

libavcodec/put_bits.h:149:1: start of procedure put_bits()
  147.  * Use put_bits32 to write 32 bits.
  148.  */
  149. static inline void put_bits(PutBitContext *s, int n, unsigned int value)
       ^
  150. #ifndef ALT_BITSTREAM_WRITER
  151. {

libavcodec/put_bits.h:156:5: 
  154. 
  155.     //    printf("put_bits=%d %x\n", n, value);
  156.     assert(n <= 31 && value < (1U << n));
           ^
  157. 
  158.     bit_buf = s->bit_buf;

libavcodec/put_bits.h:158:5: 
  156.     assert(n <= 31 && value < (1U << n));
  157. 
  158.     bit_buf = s->bit_buf;
           ^
  159.     bit_left = s->bit_left;
  160. 

libavcodec/put_bits.h:159:5: 
  157. 
  158.     bit_buf = s->bit_buf;
  159.     bit_left = s->bit_left;
           ^
  160. 
  161.     //    printf("n=%d value=%x cnt=%d buf=%x\n", n, value, bit_cnt, bit_buf);

libavcodec/put_bits.h:178:9: Taking false branch
  176.     bit_left-=n;
  177. #else
  178.     if (n < bit_left) {
               ^
  179.         bit_buf = (bit_buf<<n) | value;
  180.         bit_left-=n;

libavcodec/put_bits.h:182:9: 
  180.         bit_left-=n;
  181.     } else {
  182.         bit_buf<<=bit_left;
               ^
  183.         bit_buf |= value >> (n - bit_left);
  184. #if !HAVE_FAST_UNALIGNED

libavcodec/put_bits.h:183:9: 
  181.     } else {
  182.         bit_buf<<=bit_left;
  183.         bit_buf |= value >> (n - bit_left);
               ^
  184. #if !HAVE_FAST_UNALIGNED
  185.         if (3 & (intptr_t) s->buf_ptr) {

libavcodec/put_bits.h:185:13: Taking false branch
  183.         bit_buf |= value >> (n - bit_left);
  184. #if !HAVE_FAST_UNALIGNED
  185.         if (3 & (intptr_t) s->buf_ptr) {
                   ^
  186.             AV_WB32(s->buf_ptr, bit_buf);
  187.         } else

libavcodec/put_bits.h:189:9: 
  187.         } else
  188. #endif
  189.         *(uint32_t *)s->buf_ptr = av_be2ne32(bit_buf);
               ^
  190.         //printf("bitbuf = %08x\n", bit_buf);
  191.         s->buf_ptr+=4;

libavutil/bswap.h:66:1: start of procedure av_bswap32()
    64. 
    65. #ifndef av_bswap32
    66. static av_always_inline av_const uint32_t av_bswap32(uint32_t x)
        ^
    67. {
    68.     x= ((x<<8)&0xFF00FF00) | ((x>>8)&0x00FF00FF);

libavutil/bswap.h:68:5: 
    66. static av_always_inline av_const uint32_t av_bswap32(uint32_t x)
    67. {
    68.     x= ((x<<8)&0xFF00FF00) | ((x>>8)&0x00FF00FF);
            ^
    69.     x= (x>>16) | (x<<16);
    70.     return x;

libavutil/bswap.h:69:5: 
    67. {
    68.     x= ((x<<8)&0xFF00FF00) | ((x>>8)&0x00FF00FF);
    69.     x= (x>>16) | (x<<16);
            ^
    70.     return x;
    71. }

libavutil/bswap.h:70:5: 
    68.     x= ((x<<8)&0xFF00FF00) | ((x>>8)&0x00FF00FF);
    69.     x= (x>>16) | (x<<16);
    70.     return x;
            ^
    71. }
    72. #endif

libavutil/bswap.h:71:1: return from a call to av_bswap32
    69.     x= (x>>16) | (x<<16);
    70.     return x;
    71. }
        ^
    72. #endif
    73. 

libavcodec/put_bits.h:191:9: 
  189.         *(uint32_t *)s->buf_ptr = av_be2ne32(bit_buf);
  190.         //printf("bitbuf = %08x\n", bit_buf);
  191.         s->buf_ptr+=4;
               ^
  192.         bit_left+=32 - n;
  193.         bit_buf = value;

libavcodec/put_bits.h:192:9: 
  190.         //printf("bitbuf = %08x\n", bit_buf);
  191.         s->buf_ptr+=4;
  192.         bit_left+=32 - n;
               ^
  193.         bit_buf = value;
  194.     }

libavcodec/put_bits.h:193:9: 
  191.         s->buf_ptr+=4;
  192.         bit_left+=32 - n;
  193.         bit_buf = value;
               ^
  194.     }
  195. #endif

libavcodec/put_bits.h:197:5: 
  195. #endif
  196. 
  197.     s->bit_buf = bit_buf;
           ^
  198.     s->bit_left = bit_left;
  199. }

libavcodec/put_bits.h:198:5: 
  196. 
  197.     s->bit_buf = bit_buf;
  198.     s->bit_left = bit_left;
           ^
  199. }
  200. #else  /* ALT_BITSTREAM_WRITER defined */

libavcodec/put_bits.h:199:1: return from a call to put_bits
  197.     s->bit_buf = bit_buf;
  198.     s->bit_left = bit_left;
  199. }
       ^
  200. #else  /* ALT_BITSTREAM_WRITER defined */
  201. {

static void put_audio_specific_config(AVCodecContext *avctx)
{
    PutBitContext pb;
    AACEncContext *s = avctx->priv_data;
    init_put_bits(&pb, avctx->extradata, avctx->extradata_size*8);
    put_bits(&pb, 5, 2);
    put_bits(&pb, 4, s->samplerate_index);
    put_bits(&pb, 4, avctx->channels);
    put_bits(&pb, 1, 0);
    put_bits(&pb, 1, 0);
    put_bits(&pb, 1, 0);
    put_bits(&pb, 11, 0x27b);
    put_bits(&pb, 5,  AOT_SBR);
    put_bits(&pb, 1,  0);
    flush_put_bits(&pb);
}
['static void put_audio_specific_config(AVCodecContext *avctx)\n{\n    PutBitContext pb;\n    AACEncContext *s = avctx->priv_data;\n    init_put_bits(&pb, avctx->extradata, avctx->extradata_size*8);\n    put_bits(&pb, 5, 2);\n    put_bits(&pb, 4, s->samplerate_index);\n    put_bits(&pb, 4, avctx->channels);\n    put_bits(&pb, 1, 0);\n    put_bits(&pb, 1, 0);\n    put_bits(&pb, 1, 0);\n    put_bits(&pb, 11, 0x27b);\n    put_bits(&pb, 5,  AOT_SBR);\n    put_bits(&pb, 1,  0);\n    flush_put_bits(&pb);\n}', 'static inline void init_put_bits(PutBitContext *s, uint8_t *buffer, int buffer_size)\n{\n    if(buffer_size < 0) {\n        buffer_size = 0;\n        buffer = NULL;\n    }\n    s->size_in_bits= 8*buffer_size;\n    s->buf = buffer;\n    s->buf_end = s->buf + buffer_size;\n#ifdef ALT_BITSTREAM_WRITER\n    s->index=0;\n    ((uint32_t*)(s->buf))[0]=0;\n#else\n    s->buf_ptr = s->buf;\n    s->bit_left=32;\n    s->bit_buf=0;\n#endif\n}', 'static inline void put_bits(PutBitContext *s, int n, unsigned int value)\n#ifndef ALT_BITSTREAM_WRITER\n{\n    unsigned int bit_buf;\n    int bit_left;\n    assert(n <= 31 && value < (1U << n));\n    bit_buf = s->bit_buf;\n    bit_left = s->bit_left;\n#ifdef BITSTREAM_WRITER_LE\n    bit_buf |= value << (32 - bit_left);\n    if (n >= bit_left) {\n#if !HAVE_FAST_UNALIGNED\n        if (3 & (intptr_t) s->buf_ptr) {\n            AV_WL32(s->buf_ptr, bit_buf);\n        } else\n#endif\n        *(uint32_t *)s->buf_ptr = av_le2ne32(bit_buf);\n        s->buf_ptr+=4;\n        bit_buf = (bit_left==32)?0:value >> bit_left;\n        bit_left+=32;\n    }\n    bit_left-=n;\n#else\n    if (n < bit_left) {\n        bit_buf = (bit_buf<<n) | value;\n        bit_left-=n;\n    } else {\n        bit_buf<<=bit_left;\n        bit_buf |= value >> (n - bit_left);\n#if !HAVE_FAST_UNALIGNED\n        if (3 & (intptr_t) s->buf_ptr) {\n            AV_WB32(s->buf_ptr, bit_buf);\n        } else\n#endif\n        *(uint32_t *)s->buf_ptr = av_be2ne32(bit_buf);\n        s->buf_ptr+=4;\n        bit_left+=32 - n;\n        bit_buf = value;\n    }\n#endif\n    s->bit_buf = bit_buf;\n    s->bit_left = bit_left;\n}', 'static av_always_inline av_const uint32_t av_bswap32(uint32_t x)\n{\n    x= ((x<<8)&0xFF00FF00) | ((x>>8)&0x00FF00FF);\n    x= (x>>16) | (x<<16);\n    return x;\n}']