Lines Matching refs:it
299 static void CodeResiduals(VP8BitWriter* const bw, VP8EncIterator* const it, in CodeResiduals() argument
304 const int i16 = (it->mb_->type_ == 1); in CodeResiduals()
305 const int segment = it->mb_->segment_; in CodeResiduals()
306 VP8Encoder* const enc = it->enc_; in CodeResiduals()
308 VP8IteratorNzToBytes(it); in CodeResiduals()
314 it->top_nz_[8] = it->left_nz_[8] = in CodeResiduals()
315 PutCoeffs(bw, it->top_nz_[8] + it->left_nz_[8], &res); in CodeResiduals()
324 const int ctx = it->top_nz_[x] + it->left_nz_[y]; in CodeResiduals()
326 it->top_nz_[x] = it->left_nz_[y] = PutCoeffs(bw, ctx, &res); in CodeResiduals()
336 const int ctx = it->top_nz_[4 + ch + x] + it->left_nz_[4 + ch + y]; in CodeResiduals()
338 it->top_nz_[4 + ch + x] = it->left_nz_[4 + ch + y] = in CodeResiduals()
344 it->luma_bits_ = pos2 - pos1; in CodeResiduals()
345 it->uv_bits_ = pos3 - pos2; in CodeResiduals()
346 it->bit_count_[segment][i16] += it->luma_bits_; in CodeResiduals()
347 it->bit_count_[segment][2] += it->uv_bits_; in CodeResiduals()
348 VP8IteratorBytesToNz(it); in CodeResiduals()
353 static void RecordResiduals(VP8EncIterator* const it, in RecordResiduals() argument
357 VP8Encoder* const enc = it->enc_; in RecordResiduals()
359 VP8IteratorNzToBytes(it); in RecordResiduals()
361 if (it->mb_->type_ == 1) { // i16x16 in RecordResiduals()
364 it->top_nz_[8] = it->left_nz_[8] = in RecordResiduals()
365 VP8RecordCoeffs(it->top_nz_[8] + it->left_nz_[8], &res); in RecordResiduals()
374 const int ctx = it->top_nz_[x] + it->left_nz_[y]; in RecordResiduals()
376 it->top_nz_[x] = it->left_nz_[y] = VP8RecordCoeffs(ctx, &res); in RecordResiduals()
385 const int ctx = it->top_nz_[4 + ch + x] + it->left_nz_[4 + ch + y]; in RecordResiduals()
387 it->top_nz_[4 + ch + x] = it->left_nz_[4 + ch + y] = in RecordResiduals()
393 VP8IteratorBytesToNz(it); in RecordResiduals()
401 static int RecordTokens(VP8EncIterator* const it, const VP8ModeScore* const rd, in RecordTokens() argument
405 VP8Encoder* const enc = it->enc_; in RecordTokens()
407 VP8IteratorNzToBytes(it); in RecordTokens()
408 if (it->mb_->type_ == 1) { // i16x16 in RecordTokens()
409 const int ctx = it->top_nz_[8] + it->left_nz_[8]; in RecordTokens()
412 it->top_nz_[8] = it->left_nz_[8] = in RecordTokens()
424 const int ctx = it->top_nz_[x] + it->left_nz_[y]; in RecordTokens()
426 it->top_nz_[x] = it->left_nz_[y] = in RecordTokens()
438 const int ctx = it->top_nz_[4 + ch + x] + it->left_nz_[4 + ch + y]; in RecordTokens()
440 it->top_nz_[4 + ch + x] = it->left_nz_[4 + ch + y] = in RecordTokens()
447 VP8IteratorBytesToNz(it); in RecordTokens()
474 static void StoreSSE(const VP8EncIterator* const it) { in StoreSSE() argument
475 VP8Encoder* const enc = it->enc_; in StoreSSE()
476 const uint8_t* const in = it->yuv_in_; in StoreSSE()
477 const uint8_t* const out = it->yuv_out_; in StoreSSE()
485 static void StoreSideInfo(const VP8EncIterator* const it) { in StoreSideInfo() argument
486 VP8Encoder* const enc = it->enc_; in StoreSideInfo()
487 const VP8MBInfo* const mb = it->mb_; in StoreSideInfo()
491 StoreSSE(it); in StoreSideInfo()
498 uint8_t* const info = &pic->extra_info[it->x_ + it->y_ * enc->mb_w_]; in StoreSideInfo()
503 case 4: *info = (mb->type_ == 1) ? it->preds_[0] : 0xff; break; in StoreSideInfo()
506 const int b = (int)((it->luma_bits_ + it->uv_bits_ + 7) >> 3); in StoreSideInfo()
514 SetBlock(it->yuv_out_ + Y_OFF, mb->segment_ * 64, 16); in StoreSideInfo()
515 SetBlock(it->yuv_out_ + U_OFF, it->preds_[0] * 64, 8); in StoreSideInfo()
516 SetBlock(it->yuv_out_ + V_OFF, mb->uv_mode_ * 64, 8); in StoreSideInfo()
543 VP8EncIterator it; in OneStatPass() local
549 VP8IteratorInit(enc, &it); in OneStatPass()
553 VP8IteratorImport(&it, NULL); in OneStatPass()
554 if (VP8Decimate(&it, &info, rd_opt)) { in OneStatPass()
558 RecordResiduals(&it, &info); in OneStatPass()
562 if (percent_delta && !VP8IteratorProgress(&it, percent_delta)) in OneStatPass()
564 VP8IteratorSaveBoundary(&it); in OneStatPass()
565 } while (VP8IteratorNext(&it) && --nb_mbs > 0); in OneStatPass()
662 static int PostLoopFinalize(VP8EncIterator* const it, int ok) { in PostLoopFinalize() argument
663 VP8Encoder* const enc = it->enc_; in PostLoopFinalize()
677 enc->residual_bytes_[i][s] = (int)((it->bit_count_[s][i] + 7) >> 3); in PostLoopFinalize()
681 VP8AdjustFilterStrength(it); // ...and store filter stats. in PostLoopFinalize()
692 static void ResetAfterSkip(VP8EncIterator* const it) { in ResetAfterSkip() argument
693 if (it->mb_->type_ == 1) { in ResetAfterSkip()
694 *it->nz_ = 0; // reset all predictors in ResetAfterSkip()
695 it->left_nz_[8] = 0; in ResetAfterSkip()
697 *it->nz_ &= (1 << 24); // preserve the dc_nz bit in ResetAfterSkip()
702 VP8EncIterator it; in VP8EncLoop() local
708 VP8IteratorInit(enc, &it); in VP8EncLoop()
709 VP8InitFilter(&it); in VP8EncLoop()
715 VP8IteratorImport(&it, NULL); in VP8EncLoop()
718 if (!VP8Decimate(&it, &info, rd_opt) || dont_use_skip) { in VP8EncLoop()
719 CodeResiduals(it.bw_, &it, &info); in VP8EncLoop()
721 ResetAfterSkip(&it); in VP8EncLoop()
723 StoreSideInfo(&it); in VP8EncLoop()
724 VP8StoreFilterStats(&it); in VP8EncLoop()
725 VP8IteratorExport(&it); in VP8EncLoop()
726 ok = VP8IteratorProgress(&it, 20); in VP8EncLoop()
727 VP8IteratorSaveBoundary(&it); in VP8EncLoop()
728 } while (ok && VP8IteratorNext(&it)); in VP8EncLoop()
730 return PostLoopFinalize(&it, ok); in VP8EncLoop()
745 VP8EncIterator it; in VP8EncTokenLoop() local
771 VP8IteratorInit(enc, &it); in VP8EncTokenLoop()
775 VP8InitFilter(&it); // don't collect stats until last pass (too costly) in VP8EncTokenLoop()
780 VP8IteratorImport(&it, NULL); in VP8EncTokenLoop()
786 VP8Decimate(&it, &info, rd_opt); in VP8EncTokenLoop()
787 ok = RecordTokens(&it, &info, &enc->tokens_); in VP8EncTokenLoop()
795 StoreSideInfo(&it); in VP8EncTokenLoop()
796 VP8StoreFilterStats(&it); in VP8EncTokenLoop()
797 VP8IteratorExport(&it); in VP8EncTokenLoop()
798 ok = VP8IteratorProgress(&it, 20); in VP8EncTokenLoop()
800 VP8IteratorSaveBoundary(&it); in VP8EncTokenLoop()
801 } while (ok && VP8IteratorNext(&it)); in VP8EncTokenLoop()
841 return PostLoopFinalize(&it, ok); in VP8EncTokenLoop()