Commit fb993173 authored by David Michael Barr's avatar David Michael Barr

Reset PVQ chroma QM interpolation to constant identity QM

The PVQ QM interpolation code needs to be adapted to AV1 ranges.

av1_float_pvq_dist_scale_AM_5f_Jan31@2017-02-02T08:57:23.156Z
 -> av1_float_pvq_dist_scale_AM_5f_Jan31_crfix@2017-02-02T15:14:40.477Z

  PSNR |  PSNR Cb | PSNR Cr | PSNR HVS |   SSIM | MS SSIM | CIEDE 2000
1.8501 | -29.0766 | -6.6775 |   1.8421 | 1.8252 |  1.8228 |    -9.9734

Change-Id: Ib72c1f8eeccf806f8d719866ce80172b6908643e
parent c54692b5
......@@ -75,27 +75,21 @@ const unsigned char OD_CHROMA_QM_Q4[2][OD_QM_SIZE] = {
/* No interpolation, always use od_flat_qm_q4, but use a different scale for
each plane.
FIXME: Add interpolation and properly tune chroma. */
const od_qm_entry OD_DEFAULT_QMS[2][3][OD_NPLANES_MAX] = {
/* Masking disabled */
{{{4, 256, OD_LUMA_QM_Q4[OD_MASKING_DISABLED]},
{4, 448, OD_CHROMA_QM_Q4[OD_MASKING_DISABLED]},
{4, 320, OD_CHROMA_QM_Q4[OD_MASKING_DISABLED]}},
{{318, 256, OD_LUMA_QM_Q4[OD_MASKING_DISABLED]},
{318, 140, OD_CHROMA_QM_Q4[OD_MASKING_DISABLED]},
{318, 100, OD_CHROMA_QM_Q4[OD_MASKING_DISABLED]}},
{{0, 0, NULL},
{0, 0, NULL},
{0, 0, NULL}}},
/* Masking enabled */
{{{4, 256, OD_LUMA_QM_Q4[OD_MASKING_ENABLED]},
{4, 448, OD_CHROMA_QM_Q4[OD_MASKING_ENABLED]},
{4, 320, OD_CHROMA_QM_Q4[OD_MASKING_ENABLED]}},
{{318, 256, OD_LUMA_QM_Q4[OD_MASKING_ENABLED]},
{318, 140, OD_CHROMA_QM_Q4[OD_MASKING_ENABLED]},
{318, 100, OD_CHROMA_QM_Q4[OD_MASKING_ENABLED]}},
{{0, 0, NULL},
{0, 0, NULL},
{0, 0, NULL}}}
const od_qm_entry OD_DEFAULT_QMS[2][2][OD_NPLANES_MAX] = {
/* Masking disabled */
{ { { 4, 256, OD_LUMA_QM_Q4[OD_MASKING_DISABLED] },
{ 4, 256, OD_CHROMA_QM_Q4[OD_MASKING_DISABLED] },
{ 4, 256, OD_CHROMA_QM_Q4[OD_MASKING_DISABLED] } },
{ { 0, 0, NULL},
{ 0, 0, NULL},
{ 0, 0, NULL} } },
/* Masking enabled */
{ { { 4, 256, OD_LUMA_QM_Q4[OD_MASKING_ENABLED] },
{ 4, 256, OD_CHROMA_QM_Q4[OD_MASKING_ENABLED] },
{ 4, 256, OD_CHROMA_QM_Q4[OD_MASKING_ENABLED] } },
{ { 0, 0, NULL},
{ 0, 0, NULL},
{ 0, 0, NULL} } }
};
/* Constants for the beta parameter, which controls how activity masking is
......
......@@ -145,7 +145,7 @@ typedef struct od_qm_entry {
const unsigned char *qm_q4;
} od_qm_entry;
extern const od_qm_entry OD_DEFAULT_QMS[2][3][OD_NPLANES_MAX];
extern const od_qm_entry OD_DEFAULT_QMS[2][2][OD_NPLANES_MAX];
void od_adapt_pvq_ctx_reset(od_pvq_adapt_ctx *state, int is_keyframe);
int od_pvq_size_ctx(int n);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment