b->quant = quant;
}
- if (b->quant > 115) {
+ if (b->quant > DIRAC_MAX_QUANT_INDEX) {
av_log(s->avctx, AV_LOG_ERROR, "Unsupported quant %d\n", b->quant);
b->quant = 0;
return;
uint8_t *buf2 = b2 ? b2->ibuf + top * b2->stride: NULL;
int x, y;
- if (quant > 115) {
+ if (quant > DIRAC_MAX_QUANT_INDEX) {
av_log(s->avctx, AV_LOG_ERROR, "Unsupported quant %d\n", quant);
return;
}
- qfactor = ff_dirac_qscale_tab[quant & 0x7f];
- qoffset = ff_dirac_qoffset_intra_tab[quant & 0x7f] + 2;
+ qfactor = ff_dirac_qscale_tab[quant];
+ qoffset = ff_dirac_qoffset_intra_tab[quant] + 2;
/* we have to constantly check for overread since the spec explicitly
requires this, with the meaning that all remaining coeffs are set to 0 */
if (get_bits_count(gb) >= bits_end)
/* Scaling offsets needed for quantization/dequantization, for inter frames */
extern const int ff_dirac_qoffset_inter_tab[122];
+#define DIRAC_MAX_QUANT_INDEX (FF_ARRAY_ELEMS(ff_dirac_qscale_tab))
+
#endif /* AVCODEC_DIRACTAB_H */
#include "vc2enc_dwt.h"
#include "diractab.h"
-/* Quantizations above this usually zero coefficients and lower the quality */
-#define MAX_QUANT_INDEX FF_ARRAY_ELEMS(ff_dirac_qscale_tab)
-
/* Total range is -COEF_LUT_TAB to +COEFF_LUT_TAB, but total tab size is half
- * (COEF_LUT_TAB*MAX_QUANT_INDEX) since the sign is appended during encoding */
+ * (COEF_LUT_TAB*DIRAC_MAX_QUANT_INDEX), as the sign is appended during encoding */
#define COEF_LUT_TAB 2048
/* The limited size resolution of each slice forces us to do this */
typedef struct SliceArgs {
PutBitContext pb;
- int cache[MAX_QUANT_INDEX];
+ int cache[DIRAC_MAX_QUANT_INDEX];
void *ctx;
int x;
int y;
s->picture_number = 0;
/* Total allowed quantization range */
- s->q_ceil = MAX_QUANT_INDEX;
+ s->q_ceil = DIRAC_MAX_QUANT_INDEX;
s->ver.major = 2;
s->ver.minor = 0;