Lines Matching refs:bw

187 static void PutSegmentHeader(VP8BitWriter* const bw,
191 if (VP8PutBitUniform(bw, (hdr->num_segments_ > 1))) {
195 VP8PutBitUniform(bw, hdr->update_map_);
196 if (VP8PutBitUniform(bw, update_data)) {
198 VP8PutBitUniform(bw, 1); // (segment_feature_mode = 1. Paragraph 9.3.)
200 VP8PutSignedValue(bw, enc->dqm_[s].quant_, 7);
203 VP8PutSignedValue(bw, enc->dqm_[s].fstrength_, 6);
208 if (VP8PutBitUniform(bw, (proba->segments_[s] != 255u))) {
209 VP8PutValue(bw, proba->segments_[s], 8);
217 static void PutFilterHeader(VP8BitWriter* const bw,
220 VP8PutBitUniform(bw, hdr->simple_);
221 VP8PutValue(bw, hdr->level_, 6);
222 VP8PutValue(bw, hdr->sharpness_, 3);
223 if (VP8PutBitUniform(bw, use_lf_delta)) {
226 if (VP8PutBitUniform(bw, need_update)) {
228 VP8PutValue(bw, 0, 4);
230 VP8PutSignedValue(bw, hdr->i4x4_lf_delta_, 6);
231 VP8PutValue(bw, 0, 3); // all others unused
237 static void PutQuant(VP8BitWriter* const bw,
239 VP8PutValue(bw, enc->base_quant_, 7);
240 VP8PutSignedValue(bw, enc->dq_y1_dc_, 4);
241 VP8PutSignedValue(bw, enc->dq_y2_dc_, 4);
242 VP8PutSignedValue(bw, enc->dq_y2_ac_, 4);
243 VP8PutSignedValue(bw, enc->dq_uv_dc_, 4);
244 VP8PutSignedValue(bw, enc->dq_uv_ac_, 4);
267 VP8BitWriter* const bw = &enc->bw_;
271 pos1 = VP8BitWriterPos(bw);
272 if (!VP8BitWriterInit(bw, mb_size * 7 / 8)) { // ~7 bits per macroblock
275 VP8PutBitUniform(bw, 0); // colorspace
276 VP8PutBitUniform(bw, 0); // clamp type
278 PutSegmentHeader(bw, enc);
279 PutFilterHeader(bw, &enc->filter_hdr_);
280 VP8PutValue(bw, enc->num_parts_ == 8 ? 3 :
283 PutQuant(bw, enc);
284 VP8PutBitUniform(bw, 0); // no proba update
285 VP8WriteProbas(bw, &enc->proba_);
286 pos2 = VP8BitWriterPos(bw);
288 VP8BitWriterFinish(bw);
290 pos3 = VP8BitWriterPos(bw);
297 if (bw->error_) {
313 VP8BitWriter* const bw = &enc->bw_;
327 VP8BitWriterSize(bw) +
353 const uint8_t* const part0 = VP8BitWriterBuf(bw);
354 const size_t size0 = VP8BitWriterSize(bw);
358 VP8BitWriterWipeOut(bw); // will free the internal buffer.