#include "_jpeglib.h"
#include "jpeg.h"

void SetQtable(int qrate,unchar q[JWU*JWV],unchar q0[JWU*JWV])
// 量子化テーブルに圧縮率を掛ける
{
int i,qq;
	if (qrate<-255) qrate=-255;
	if (qrate> 255) qrate= 255;
	if (qrate==-1)  qrate= 1;
	
	if (qrate==0) { // 全て１にする＝量子化無し
		for (i=0;i<JWU*JWV;i++) q[i]=1;
	}
	else
	if (qrate>=1) { // 元のテーブルに掛ける
		// ==1の時は元のテーブルのままとなる
		for (i=0;i<JWU*JWV;i++) {
			qq=q0[i]*qrate;
			if (qq>=255) qq=255; // ただし最大値は255
			q[i]=(unchar)qq;
		}
	}
	else { // qrate<-1 : 元のテーブルを割る
		qrate=-qrate;
		for (i=0;i<JWU*JWV;i++) {
			qq=q0[i]/qrate;
			if (qq==0) qq=1; // ただし最小値は１
			q[i]=(unchar)qq;
		}
	}
}
