summaryrefslogtreecommitdiff
path: root/apps/codecs/demac/libdemac/parser.h
diff options
context:
space:
mode:
Diffstat (limited to 'apps/codecs/demac/libdemac/parser.h')
-rw-r--r--apps/codecs/demac/libdemac/parser.h31
1 files changed, 17 insertions, 14 deletions
diff --git a/apps/codecs/demac/libdemac/parser.h b/apps/codecs/demac/libdemac/parser.h
index 0e35425315..301cf4a5e1 100644
--- a/apps/codecs/demac/libdemac/parser.h
+++ b/apps/codecs/demac/libdemac/parser.h
@@ -68,24 +68,28 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA
68 68
69#define HISTORY_SIZE 512 69#define HISTORY_SIZE 512
70#define PREDICTOR_ORDER 8 70#define PREDICTOR_ORDER 8
71/* Total size of all predictor histories - 50 * sizeof(int32_t) */
72#define PREDICTOR_SIZE 50
71 73
72struct predictor_t 74struct predictor_t
73{ 75{
74 /* Adaption co-efficients */
75 int32_t coeffsA[4];
76 int32_t coeffsB[5];
77
78 /* Filter histories */ 76 /* Filter histories */
79 int32_t historybuffer[HISTORY_SIZE + PREDICTOR_ORDER * 4]; 77 int32_t* buf;
80 int32_t* delayA;
81 int32_t* delayB;
82 int32_t* adaptcoeffsA;
83 int32_t* adaptcoeffsB;
84 78
85 int32_t lastA; 79 int32_t YlastA;
80 int32_t XlastA;
86 81
87 int32_t filterA; 82 int32_t YfilterA;
88 int32_t filterB; 83 int32_t XfilterA;
84 int32_t YfilterB;
85 int32_t XfilterB;
86
87 /* Adaption co-efficients */
88 int32_t YcoeffsA[4];
89 int32_t XcoeffsA[4];
90 int32_t YcoeffsB[5];
91 int32_t XcoeffsB[5];
92 int32_t historybuffer[HISTORY_SIZE + PREDICTOR_SIZE];
89}; 93};
90 94
91struct ape_ctx_t 95struct ape_ctx_t
@@ -129,8 +133,7 @@ struct ape_ctx_t
129 int frameflags; 133 int frameflags;
130 int currentframeblocks; 134 int currentframeblocks;
131 int blocksdecoded; 135 int blocksdecoded;
132 struct predictor_t predictorY; 136 struct predictor_t predictor;
133 struct predictor_t predictorX;
134}; 137};
135 138
136int ape_parseheader(int fd, struct ape_ctx_t* ape_ctx); 139int ape_parseheader(int fd, struct ape_ctx_t* ape_ctx);