vp9_firstpass: Get rid of magic number in bits per MB calculation

Change-Id: Ib3886cb7cafc211581f4f9e7f76782d9d1984434
This commit is contained in:
Guillaume Martres 2014-04-05 21:57:14 +02:00
Родитель bda5352bae
Коммит ded9e19144
3 изменённых файлов: 7 добавлений и 6 удалений

Просмотреть файл

@ -916,9 +916,10 @@ int vp9_twopass_worst_quality(VP9_COMP *cpi, FIRSTPASS_STATS *fpstats,
if (section_target_bandwitdh <= 0)
return rc->worst_quality; // Highest value allowed
target_norm_bits_per_mb = section_target_bandwitdh < (1 << 20)
? (512 * section_target_bandwitdh) / num_mbs
: 512 * (section_target_bandwitdh / num_mbs);
target_norm_bits_per_mb =
section_target_bandwitdh < (1 << 20)
? (section_target_bandwitdh << BPER_MB_NORMBITS) / num_mbs
: (section_target_bandwitdh / num_mbs) << BPER_MB_NORMBITS;
// Try and pick a max Q that will be high enough to encode the
// content at the given rate.

Просмотреть файл

@ -35,9 +35,6 @@
#define MIN_BPB_FACTOR 0.005
#define MAX_BPB_FACTOR 50
// Bits Per MB at different Q (Multiplied by 512)
#define BPER_MB_NORMBITS 9
// Tables relating active max Q to active min Q
static int kf_low_motion_minq[QINDEX_RANGE];
static int kf_high_motion_minq[QINDEX_RANGE];

Просмотреть файл

@ -22,6 +22,9 @@ extern "C" {
#define FRAME_OVERHEAD_BITS 200
// Bits Per MB at different Q (Multiplied by 512)
#define BPER_MB_NORMBITS 9
typedef struct {
// Rate targetting variables
int this_frame_target;