From cec6a596b5edc61503db7726a22fdea534e77a86 Mon Sep 17 00:00:00 2001 From: Paul Wilkins Date: Sat, 4 Dec 2010 10:04:12 +0000 Subject: [PATCH] Change to inter_minq table. The inter_minq table controls the range of quantizers available for a particular frame in two pass relative to a max Q value. The changes reduces the range somewhat. The effect of this was a small increase (0.3% average) in psnr for the test set but it should also help encode speed somewhat for higher quality modes as it will reduce the number of iterations in the recode loop. The change damps the range of quantizers available locally within a section of a clip and should therefore help keep quality more uniform. If there is systematic overshoot or undershoot the range can shift gradually to accommodate. However, there is some increased risk of overshoot or undershoot against the target bit rate in VBR mode and this risk will be more pronounced for short clips. The change damps the range of quantizers available locally within a section of a clip and should therefore help keep quality more uniform. If there is systematic overshoot or undershoot the range can shift gradually to accommodate. However, there is some increased risk of overshoot or undershoot against the target bit rate in VBR mode and this risk will be more pronounced for short clips. Change-Id: I84465567d49ae767c6c73ff2a2aac30c895adb52 --- vp8/encoder/onyx_if.c | 38 ++++++++------------------------------ 1 file changed, 8 insertions(+), 30 deletions(-) diff --git a/vp8/encoder/onyx_if.c b/vp8/encoder/onyx_if.c index ea72de2..0f2b75a 100644 --- a/vp8/encoder/onyx_if.c +++ b/vp8/encoder/onyx_if.c @@ -174,17 +174,6 @@ static const int kf_high_motion_minq[QINDEX_RANGE] = 27,27,28,28,29,29,30,30,31,31,32,32,33,33,34,34, 35,35,36,36,37,38,39,40,41,42,43,44,45,46,47,48, }; -/*static const int kf_minq[QINDEX_RANGE] = -{ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 6, 6, - 7, 7, 8, 8, 9, 9, 10,10,11,11,12,12,13,13,14,14, - 15,15,16,16,17,17,18,18,19,19,20,20,21,21,22,22, - 23,23,24,24,25,25,26,26,27,27,28,28,29,29,30,30, - 31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38 -};*/ static const int gf_low_motion_minq[QINDEX_RANGE] = { 0,0,0,0,1,1,1,1,1,1,1,1,2,2,2,2, @@ -218,27 +207,16 @@ static const int gf_high_motion_minq[QINDEX_RANGE] = 41,41,42,42,43,44,45,46,47,48,49,50,51,52,53,54, 55,56,57,58,59,60,62,64,66,68,70,72,74,76,78,80, }; -/*static const int gf_arf_minq[QINDEX_RANGE] = -{ - 0,0,0,0,1,1,1,1,1,1,2,2,3,3,3,4, - 4,4,5,5,5,6,6,6,7,7,7,8,8,8,9,9, - 9,10,10,10,11,11,11,12,12,12,13,13,13,14,14,14, - 15,15,16,16,17,17,18,18,19,19,20,20,21,21,22,22, - 23,23,24,24,25,25,26,26,27,27,28,28,29,29,30,30, - 31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,39, - 39,40,40,41,41,42,42,43,43,44,45,46,47,48,49,50, - 51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66 -};*/ static const int inter_minq[QINDEX_RANGE] = { - 0,0,0,0,1,1,2,3,3,4,4,5,6,6,7,7, - 8,8,9,9,10,11,11,12,12,13,13,14,14,15,15,16, - 16,17,17,17,18,18,19,19,20,20,21,21,22,22,22,23, - 23,24,24,24,25,25,26,27,28,28,29,30,31,32,33,34, - 35,35,36,37,38,39,39,40,41,42,43,43,44,45,46,47, - 47,48,49,49,51,52,53,54,54,55,56,56,57,57,58,58, - 59,59,60,61,61,62,62,63,64,64,65,66,67,67,68,69, - 69,70,71,71,72,73,74,75,76,76,77,78,79,80,81,81, + 0,0,1,1,2,3,3,4,4,5,6,6,7,8,8,9, + 9,10,11,11,12,13,13,14,15,15,16,17,17,18,19,20, + 20,21,22,22,23,24,24,25,26,27,27,28,29,30,30,31, + 32,33,33,34,35,36,36,37,38,39,39,40,41,42,42,43, + 44,45,46,46,47,48,49,50,50,51,52,53,54,55,55,56, + 57,58,59,60,60,61,62,63,64,65,66,67,67,68,69,70, + 71,72,73,74,75,75,76,77,78,79,80,81,82,83,84,85, + 86,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100 }; void vp8_initialize() -- 2.7.4