Fix a bug in RATE_FACTOR_LEVEL definition for ext-refs
There was a bug in the original set up for RATE_FACTOR_LEVELS, which results that rate_factor_deltas for GF_ARF_STD is 2.00, instead of the intentional value of 1.75, whereas for KF_STD is 0.00, instead of the intentional value of 2.00. Nevertheless, if simply fixing the bug as in the first patch, the RD performance unexpectedly dropped by 0.143% in Avg bitrate using Overall PSNR, especially for following sequences in lowres: bridge_close_cif: dropped by 1.468% container_cif: dropped by 2.140% husky_cif: dropped by 0.826% motherdaughter_cif: dropped by 0.798% rasehorses_240p: dropped by 0.805% students_cif: dropped by 1.411% This indicates that we should boost up the value for GF_ARF_STD from 1.75 to at least to 2.00. After doing so, while still keeps 2.00 for KF_STD, the new patch achieves a small gain of 0.15% for the baseline, and a smaller gain of 0.06% for the experiment of ext-refs. Most sequences keep the similar RD performance in lowres, except for the following ones that obtain a bigger gain: (1) Baseline: container_cif: 1.628% students_cif: 1.015% (2) ext-refs tennis_sif: 1.248% Change-Id: I992f8f6a3e20f1b71ec52a1ddc969af4968b78d5
This commit is contained in:
Родитель
445274d962
Коммит
cdd4eb0291
|
@ -955,12 +955,12 @@ int vp10_frame_type_qdelta(const VP10_COMP *cpi, int rf_level, int q) {
|
|||
1.00, // INTER_NORMAL
|
||||
#if CONFIG_EXT_REFS
|
||||
0.80, // INTER_LOW
|
||||
1.25, // INTER_HIGH
|
||||
1.50, // INTER_HIGH
|
||||
#else
|
||||
1.00, // INTER_HIGH
|
||||
#endif // CONFIG_EXT_REFS
|
||||
1.50, // GF_ARF_LOW
|
||||
1.75, // GF_ARF_STD
|
||||
2.00, // GF_ARF_STD
|
||||
2.00, // KF_STD
|
||||
};
|
||||
static const FRAME_TYPE frame_type[RATE_FACTOR_LEVELS] =
|
||||
|
|
|
@ -34,9 +34,9 @@ typedef enum {
|
|||
INTER_LOW = 1,
|
||||
INTER_HIGH = 2,
|
||||
GF_ARF_LOW = 3,
|
||||
GF_ARF_STD = 5,
|
||||
KF_STD = 6,
|
||||
RATE_FACTOR_LEVELS = 7
|
||||
GF_ARF_STD = 4,
|
||||
KF_STD = 5,
|
||||
RATE_FACTOR_LEVELS = 6
|
||||
} RATE_FACTOR_LEVEL;
|
||||
#else
|
||||
typedef enum {
|
||||
|
|
Загрузка…
Ссылка в новой задаче