aboutsummaryrefslogtreecommitdiffstats
path: root/code/renderer/tr_image.c
diff options
context:
space:
mode:
Diffstat (limited to 'code/renderer/tr_image.c')
-rw-r--r--code/renderer/tr_image.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/code/renderer/tr_image.c b/code/renderer/tr_image.c
index d97a42a..30a9b6b 100644
--- a/code/renderer/tr_image.c
+++ b/code/renderer/tr_image.c
@@ -1816,6 +1816,11 @@ void SaveJPG(char * filename, int quality, int image_width, int image_height, un
* Here we just illustrate the use of quality (quantization table) scaling:
*/
jpeg_set_quality(&cinfo, quality, TRUE /* limit to baseline-JPEG values */);
+ /* If quality is set high, disable chroma subsampling */
+ if (quality >= 85) {
+ cinfo.comp_info[0].h_samp_factor = 1;
+ cinfo.comp_info[0].v_samp_factor = 1;
+ }
/* Step 4: Start compressor */
@@ -1890,6 +1895,11 @@ int SaveJPGToBuffer( byte *buffer, int quality,
jpeg_set_defaults(&cinfo);
jpeg_set_quality(&cinfo, quality, TRUE /* limit to baseline-JPEG values */);
+ /* If quality is set high, disable chroma subsampling */
+ if (quality >= 85) {
+ cinfo.comp_info[0].h_samp_factor = 1;
+ cinfo.comp_info[0].v_samp_factor = 1;
+ }
/* Step 4: Start compressor */
jpeg_start_compress(&cinfo, TRUE);