Lines Matching refs:ctx
136 static int update_error_limit(WavpackFrameContext *ctx)
140 for (i = 0; i <= ctx->stereo_in; i++) {
141 if (ctx->ch[i].bitrate_acc > UINT_MAX - ctx->ch[i].bitrate_delta)
143 ctx->ch[i].bitrate_acc += ctx->ch[i].bitrate_delta;
144 br[i] = ctx->ch[i].bitrate_acc >> 16;
145 sl[i] = LEVEL_DECAY(ctx->ch[i].slow_level);
147 if (ctx->stereo_in && ctx->hybrid_bitrate) {
160 for (i = 0; i <= ctx->stereo_in; i++) {
161 if (ctx->hybrid_bitrate) {
163 ctx->ch[i].error_limit = wp_exp2(sl[i] - br[i] + 0x100);
165 ctx->ch[i].error_limit = 0;
167 ctx->ch[i].error_limit = wp_exp2(br[i]);
174 static int wv_get_value(WavpackFrameContext *ctx, GetBitContext *gb,
179 WvChannel *c = &ctx->ch[channel];
183 if ((ctx->ch[0].median[0] < 2U) && (ctx->ch[1].median[0] < 2U) &&
184 !ctx->zero && !ctx->one) {
185 if (ctx->zeroes) {
186 ctx->zeroes--;
187 if (ctx->zeroes) {
201 ctx->zeroes = t;
202 if (ctx->zeroes) {
203 memset(ctx->ch[0].median, 0, sizeof(ctx->ch[0].median));
204 memset(ctx->ch[1].median, 0, sizeof(ctx->ch[1].median));
211 if (ctx->zero) {
213 ctx->zero = 0;
231 if (ctx->one) {
232 ctx->one = t & 1;
235 ctx->one = t & 1;
238 ctx->zero = !ctx->one;
241 if (ctx->hybrid && !channel) {
242 if (update_error_limit(ctx) < 0)
270 av_log(ctx->avctx, AV_LOG_ERROR, "k %d is too large\n", add);
291 if (ctx->hybrid_bitrate)
298 av_log(ctx->avctx, AV_LOG_ERROR, "Too few bits (%d) left\n", ret);