Merge branch 'exp_analysis'
authorJean-Marc Valin <jmvalin@jmvalin.ca>
Fri, 8 Mar 2013 17:29:53 +0000 (12:29 -0500)
committerJean-Marc Valin <jmvalin@jmvalin.ca>
Fri, 8 Mar 2013 17:29:53 +0000 (12:29 -0500)
Conflicts:
celt/celt_encoder.c

1  2 
celt/celt_encoder.c
src/opus_encoder.c
src/opus_private.h

@@@ -1353,15 -1298,18 +1353,17 @@@ int celt_encode_with_ec(CELTEncoder * O
  
     isTransient = 0;
     shortBlocks = 0;
+    if (st->complexity >= 1)
+    {
+       isTransient = transient_analysis(in, N+st->overlap, CC,
+             &tf_estimate, &tf_chan);
+    }
     if (LM>0 && ec_tell(enc)+3<=total_bits)
     {
-       if (st->complexity >= 1)
-       {
-          isTransient = transient_analysis(in, N+st->overlap, CC,
-                   &tf_estimate, &tf_chan);
-          if (isTransient)
-             shortBlocks = M;
-       }
+       if (isTransient)
+          shortBlocks = M;
 -      ec_enc_bit_logp(enc, isTransient, 3);
+    } else {
+       isTransient = 0;
     }
  
     ALLOC(freq, CC*N, celt_sig); /**< Interleaved signal MDCTs */
Simple merge
@@@ -84,12 -92,17 +92,18 @@@ int optimize_framesize(const opus_val1
  
  int encode_size(int size, unsigned char *data);
  
+ opus_int32 frame_size_select(opus_int32 frame_size, int variable_duration, opus_int32 Fs);
  opus_int32 opus_encode_native(OpusEncoder *st, const opus_val16 *pcm, int frame_size,
-       unsigned char *data, opus_int32 out_data_bytes, int lsb_depth);
+       unsigned char *data, opus_int32 out_data_bytes, int lsb_depth
+ #ifndef FIXED_POINT
+                 , AnalysisInfo *analysis_info
+ #endif
+       );
  
  int opus_decode_native(OpusDecoder *st, const unsigned char *data, opus_int32 len,
 -      opus_val16 *pcm, int frame_size, int decode_fec, int self_delimited, int *packet_offset);
 +      opus_val16 *pcm, int frame_size, int decode_fec, int self_delimited,
 +      int *packet_offset, int soft_clip);
  
  /* Make sure everything's aligned to sizeof(void *) bytes */
  static inline int align(int i)