Make RSI padding for encoding compile time option as it affects performance
authorMathis Rosenhauer <rosenhauer@dkrz.de>
Mon, 10 Feb 2014 16:57:21 +0000 (17:57 +0100)
committerMathis Rosenhauer <rosenhauer@dkrz.de>
Mon, 10 Feb 2014 16:57:21 +0000 (17:57 +0100)
src/decode.c
src/encode.c

index 8e54b2b..1b184a6 100644 (file)
@@ -358,14 +358,14 @@ static int m_id(struct aec_stream *strm)
 {
     struct internal_state *state = strm->state;
 
-    if (state->pp && state->rsip == state->rsi_buffer) {
-        state->ref = 1;
-        if (strm->flags & AEC_PAD_RSI)
+    if (state->rsip == state->rsi_buffer) {
+        if(strm->flags & AEC_PAD_RSI)
             state->bitp -= state->bitp % 8;
-    }
-    else
+        if (state->pp)
+            state->ref = 1;
+    } else {
         state->ref = 0;
-
+    }
     if (bits_ask(strm, state->id_len) == 0)
         return M_EXIT;
     state->id = bits_get(strm, state->id_len);
index d53b6db..4554867 100644 (file)
@@ -511,11 +511,13 @@ static int m_flush_block(struct aec_stream *strm)
     int n;
     struct internal_state *state = strm->state;
 
+#ifdef ENABLE_RSI_PADDING
     if (state->blocks_avail == 0
         && strm->flags & AEC_PAD_RSI
         && state->block_nonzero == 0
         )
         emit(state, 0, state->bits % 8);
+#endif
 
     if (state->direct_out) {
         n = state->cds - strm->next_out;