Step size and arithmetic coding for delta quantization.
Example performance: 1.8% bit rate savings using the AQ test mode aq-mode=4 : ./aomenc --codec=av1 --ivf --tile-columns=1 --tile-rows=1 \ --kf-max-dist=1000 --kf-min-dist=1000 --cpu-used=0 \ --passes=1 --threads=1 --lag-in-frames=0 \ --end-usage=q --limit=600 --cq-level=42 \ --aq-mode=4 --error-resilient=1 out.bits FourPeople_1280x720_60.y4m Change-Id: Iba01cf2732a57f3c27481ac2a3c8fc37bb9e5533
This commit is contained in:
@@ -3515,6 +3515,7 @@ static size_t read_uncompressed_header(AV1Decoder *pbi,
|
||||
}
|
||||
}
|
||||
|
||||
cm->delta_q_res = 1;
|
||||
if (segment_quantizer_active == 0) {
|
||||
cm->delta_q_present_flag = aom_rb_read_bit(rb);
|
||||
} else {
|
||||
@@ -3522,6 +3523,7 @@ static size_t read_uncompressed_header(AV1Decoder *pbi,
|
||||
}
|
||||
if (cm->delta_q_present_flag) {
|
||||
xd->prev_qindex = cm->base_qindex;
|
||||
cm->delta_q_res = 1 << aom_rb_read_literal(rb, 2);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@@ -3724,6 +3726,11 @@ static int read_compressed_header(AV1Decoder *pbi, const uint8_t *data,
|
||||
for (k = 0; k < SKIP_CONTEXTS; ++k)
|
||||
av1_diff_update_prob(&r, &fc->skip_probs[k], ACCT_STR);
|
||||
|
||||
#if CONFIG_DELTA_Q
|
||||
for (k = 0; k < DELTA_Q_CONTEXTS; ++k)
|
||||
av1_diff_update_prob(&r, &fc->delta_q_prob[k], ACCT_STR);
|
||||
#endif
|
||||
|
||||
if (cm->seg.enabled && cm->seg.update_map) {
|
||||
if (cm->seg.temporal_update) {
|
||||
for (k = 0; k < PREDICTION_PROBS; k++)
|
||||
|
Reference in New Issue
Block a user