Signed-off-by: Paul B Mahol <[email protected]>
---
 libavcodec/tta.c |   33 +++++++++------------------------
 1 files changed, 9 insertions(+), 24 deletions(-)

diff --git a/libavcodec/tta.c b/libavcodec/tta.c
index 688c88d..bd0944c 100644
--- a/libavcodec/tta.c
+++ b/libavcodec/tta.c
@@ -39,7 +39,7 @@
 
 #define MAX_ORDER 16
 typedef struct TTAFilter {
-    int32_t shift, round, error, mode;
+    int32_t shift, round, error;
     int32_t qm[MAX_ORDER];
     int32_t dx[MAX_ORDER];
     int32_t dl[MAX_ORDER];
@@ -91,12 +91,11 @@ static const int32_t ttafilter_configs[4][2] = {
     {12, 0}
 };
 
-static void ttafilter_init(TTAFilter *c, int32_t shift, int32_t mode) {
+static void ttafilter_init(TTAFilter *c, int32_t shift) {
     memset(c, 0, sizeof(TTAFilter));
     c->shift = shift;
    c->round = shift_1[shift-1];
 //    c->round = 1 << (shift - 1);
-    c->mode = mode;
 }
 
 // FIXME: copy paste from original
@@ -111,9 +110,8 @@ static inline void memshl(register int32_t *a, register 
int32_t *b) {
     *a = *b;
 }
 
-// FIXME: copy paste from original
-// mode=1 encoder, mode=0 decoder
-static inline void ttafilter_process(TTAFilter *c, int32_t *in, int32_t mode) {
+static inline void ttafilter_process(TTAFilter *c, int32_t *in)
+{
     register int32_t *dl = c->dl, *qm = c->qm, *dx = c->dx, sum = c->round;
 
     if (!c->error) {
@@ -151,22 +149,9 @@ static inline void ttafilter_process(TTAFilter *c, int32_t 
*in, int32_t mode) {
     *(dx-2) = ((*(dl-3) >> 30) | 1) << 1;
     *(dx-3) = ((*(dl-4) >> 30) | 1);
 
-    // compress
-    if (mode) {
-        *dl = *in;
-        *in -= (sum >> c->shift);
-        c->error = *in;
-    } else {
-        c->error = *in;
-        *in += (sum >> c->shift);
-        *dl = *in;
-    }
-
-    if (c->mode) {
-        *(dl-1) = *dl - *(dl-1);
-        *(dl-2) = *(dl-1) - *(dl-2);
-        *(dl-3) = *(dl-2) - *(dl-3);
-    }
+    c->error = *in;
+    *in += (sum >> c->shift);
+    *dl = *in;
 
     memshl(c->dl, c->dl + 1);
     memshl(c->dx, c->dx + 1);
@@ -353,7 +338,7 @@ static int tta_decode_frame(AVCodecContext *avctx, void 
*data,
     // init per channel states
     for (i = 0; i < s->channels; i++) {
         s->ch_ctx[i].predictor = 0;
-        ttafilter_init(&s->ch_ctx[i].filter, ttafilter_configs[s->bps-1][0], 
ttafilter_configs[s->bps-1][1]);
+        ttafilter_init(&s->ch_ctx[i].filter, ttafilter_configs[s->bps-1][0]);
         rice_init(&s->ch_ctx[i].rice, 10, 10);
     }
 
@@ -411,7 +396,7 @@ static int tta_decode_frame(AVCodecContext *avctx, void 
*data,
         *p = UNFOLD(value);
 
         // run hybrid filter
-        ttafilter_process(filter, p, 0);
+        ttafilter_process(filter, p);
 
         // fixed order prediction
 #define PRED(x, k) (int32_t)((((uint64_t)x << k) - x) >> k)
-- 
1.7.7

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to