Lines Matching refs:enc
160 static void SetupMatrices(VP8Encoder* enc) { in SetupMatrices() argument
163 (enc->method_ >= 4) ? enc->config_->sns_strength in SetupMatrices()
165 const int num_segments = enc->segment_hdr_.num_segments_; in SetupMatrices()
167 VP8SegmentInfo* const m = &enc->dqm_[i]; in SetupMatrices()
170 m->y1_.q_[0] = kDcTable[clip(q + enc->dq_y1_dc_, 0, 127)]; in SetupMatrices()
173 m->y2_.q_[0] = kDcTable[ clip(q + enc->dq_y2_dc_, 0, 127)] * 2; in SetupMatrices()
174 m->y2_.q_[1] = kAcTable2[clip(q + enc->dq_y2_ac_, 0, 127)]; in SetupMatrices()
176 m->uv_.q_[0] = kDcTable[clip(q + enc->dq_uv_dc_, 0, 117)]; in SetupMatrices()
177 m->uv_.q_[1] = kAcTable[clip(q + enc->dq_uv_ac_, 0, 127)]; in SetupMatrices()
204 static void SetupFilterStrength(VP8Encoder* const enc) { in SetupFilterStrength() argument
206 const int level0 = enc->config_->filter_strength; in SetupFilterStrength()
209 const int level = level0 * 256 * enc->dqm_[i].quant_ / 128; in SetupFilterStrength()
210 const int f = level / (256 + enc->dqm_[i].beta_); in SetupFilterStrength()
211 enc->dqm_[i].fstrength_ = (f < FSTRENGTH_CUTOFF) ? 0 : (f > 63) ? 63 : f; in SetupFilterStrength()
214 enc->filter_hdr_.level_ = enc->dqm_[0].fstrength_; in SetupFilterStrength()
215 enc->filter_hdr_.simple_ = (enc->config_->filter_type == 0); in SetupFilterStrength()
216 enc->filter_hdr_.sharpness_ = enc->config_->filter_sharpness; in SetupFilterStrength()
265 static void SimplifySegments(VP8Encoder* const enc) { in SimplifySegments() argument
267 const int num_segments = enc->segment_hdr_.num_segments_; in SimplifySegments()
271 const VP8SegmentInfo* const S1 = &enc->dqm_[s1]; in SimplifySegments()
275 const VP8SegmentInfo* const S2 = &enc->dqm_[s2]; in SimplifySegments()
284 enc->dqm_[num_final_segments] = enc->dqm_[s1]; in SimplifySegments()
290 int i = enc->mb_w_ * enc->mb_h_; in SimplifySegments()
291 while (i-- > 0) enc->mb_info_[i].segment_ = map[enc->mb_info_[i].segment_]; in SimplifySegments()
292 enc->segment_hdr_.num_segments_ = num_final_segments; in SimplifySegments()
295 enc->dqm_[i] = enc->dqm_[num_final_segments - 1]; in SimplifySegments()
300 void VP8SetSegmentParams(VP8Encoder* const enc, float quality) { in VP8SetSegmentParams() argument
303 const int num_segments = enc->segment_hdr_.num_segments_; in VP8SetSegmentParams()
304 const double amp = SNS_TO_DQ * enc->config_->sns_strength / 100. / 128.; in VP8SetSegmentParams()
306 const double c_base = enc->config_->emulate_jpeg_size ? in VP8SetSegmentParams()
307 QualityToJPEGCompression(Q, enc->alpha_ / 255.) : in VP8SetSegmentParams()
312 const double expn = 1. - amp * enc->dqm_[i].alpha_; in VP8SetSegmentParams()
316 enc->dqm_[i].quant_ = clip(q, 0, 127); in VP8SetSegmentParams()
320 enc->base_quant_ = enc->dqm_[0].quant_; in VP8SetSegmentParams()
324 enc->dqm_[i].quant_ = enc->base_quant_; in VP8SetSegmentParams()
330 dq_uv_ac = (enc->uv_alpha_ - MID_ALPHA) * (MAX_DQ_UV - MIN_DQ_UV) in VP8SetSegmentParams()
333 dq_uv_ac = dq_uv_ac * enc->config_->sns_strength / 100; in VP8SetSegmentParams()
339 dq_uv_dc = -4 * enc->config_->sns_strength / 100; in VP8SetSegmentParams()
342 enc->dq_y1_dc_ = 0; // TODO(skal): dq-lum in VP8SetSegmentParams()
343 enc->dq_y2_dc_ = 0; in VP8SetSegmentParams()
344 enc->dq_y2_ac_ = 0; in VP8SetSegmentParams()
345 enc->dq_uv_dc_ = dq_uv_dc; in VP8SetSegmentParams()
346 enc->dq_uv_ac_ = dq_uv_ac; in VP8SetSegmentParams()
348 SetupFilterStrength(enc); // initialize segments' filtering, eventually in VP8SetSegmentParams()
350 if (num_segments > 1) SimplifySegments(enc); in VP8SetSegmentParams()
352 SetupMatrices(enc); // finalize quantization matrices in VP8SetSegmentParams()
368 const VP8Encoder* const enc = it->enc_; in VP8MakeLuma16Preds() local
369 const uint8_t* const left = it->x_ ? enc->y_left_ : NULL; in VP8MakeLuma16Preds()
370 const uint8_t* const top = it->y_ ? enc->y_top_ + it->x_ * 16 : NULL; in VP8MakeLuma16Preds()
375 const VP8Encoder* const enc = it->enc_; in VP8MakeChroma8Preds() local
376 const uint8_t* const left = it->x_ ? enc->u_left_ : NULL; in VP8MakeChroma8Preds()
377 const uint8_t* const top = it->y_ ? enc->uv_top_ + it->x_ * 16 : NULL; in VP8MakeChroma8Preds()
649 const VP8Encoder* const enc = it->enc_; in ReconstructIntra16() local
652 const VP8SegmentInfo* const dqm = &enc->dqm_[it->mb_->segment_]; in ReconstructIntra16()
696 const VP8Encoder* const enc = it->enc_; in ReconstructIntra4() local
698 const VP8SegmentInfo* const dqm = &enc->dqm_[it->mb_->segment_]; in ReconstructIntra4()
717 const VP8Encoder* const enc = it->enc_; in ReconstructUV() local
720 const VP8SegmentInfo* const dqm = &enc->dqm_[it->mb_->segment_]; in ReconstructUV()
769 const VP8Encoder* const enc = it->enc_; in PickBestIntra16() local
770 const VP8SegmentInfo* const dqm = &enc->dqm_[it->mb_->segment_]; in PickBestIntra16()
820 const VP8Encoder* const enc = it->enc_; in PickBestIntra4() local
821 const VP8SegmentInfo* const dqm = &enc->dqm_[it->mb_->segment_]; in PickBestIntra4()
829 if (enc->max_i4_header_bits_ == 0) { in PickBestIntra4()
875 total_header_bits > enc->max_i4_header_bits_) { in PickBestIntra4()
896 const VP8Encoder* const enc = it->enc_; in PickBestUV() local
897 const VP8SegmentInfo* const dqm = &enc->dqm_[it->mb_->segment_]; in PickBestUV()
935 const VP8Encoder* const enc = it->enc_; in SimpleQuantize() local
945 it->preds_[(it->i4_ & 3) + (it->i4_ >> 2) * enc->preds_w_]; in SimpleQuantize()