@@ -1153,6 +1153,20 @@ gpujpeg_reader_read_scan_content_by_segment_info(struct gpujpeg_decoder* decoder
11531153 return 0 ;
11541154}
11551155
1156+ static void
1157+ sos_check_dump (int verbose , int comp_count , int Ss , int Se , int Ah , int Al )
1158+ {
1159+ bool invalid_val = false;
1160+ if (Ss != 0 || Se != 63 || Ah != 0 || Al != 0 ) {
1161+ WARN_MSG ("Some of SOS parameters not valid for sequential DCT.\n" );
1162+ invalid_val = true;
1163+ }
1164+ if (!invalid_val && verbose < LL_DEBUG2 ) {
1165+ return ;
1166+ }
1167+ printf ("SOS components=%d Ss=%d Se=%d Ah=%d Al=%d\n" , comp_count , Ss , Se , Ah , Al );
1168+ }
1169+
11561170/**
11571171 * Read start of scan block from image
11581172 *
@@ -1240,6 +1254,10 @@ gpujpeg_reader_read_sos(struct gpujpeg_decoder* decoder, struct gpujpeg_reader*
12401254
12411255 decoder -> comp_table_huffman_map [component_index ][GPUJPEG_HUFFMAN_DC ] = table_dc ;
12421256 decoder -> comp_table_huffman_map [component_index ][GPUJPEG_HUFFMAN_AC ] = table_ac ;
1257+
1258+ if ( decoder -> coder .param .verbose >= LL_DEBUG2 ) {
1259+ printf ("SOS component #%d table DC: %d table AC: %d\n" , comp_id , table_dc , table_ac );
1260+ }
12431261 }
12441262
12451263 // Collect the additional scan parameters Ss, Se, Ah/Al.
@@ -1253,7 +1271,7 @@ gpujpeg_reader_read_sos(struct gpujpeg_decoder* decoder, struct gpujpeg_reader*
12531271 int Ax = (int )gpujpeg_reader_read_byte (* image );
12541272 int Ah = (Ax >> 4 ) & 15 ;
12551273 int Al = (Ax ) & 15 ;
1256- ( void ) Ss , ( void ) Se , ( void ) Ax , ( void ) Ah , ( void ) Al ;
1274+ sos_check_dump ( decoder -> coder . param . verbose , comp_count , Ss , Se , Ah , Al ) ;
12571275
12581276 // Check maximum scan count
12591277 if ( reader -> scan_count >= GPUJPEG_MAX_COMPONENT_COUNT ) {
0 commit comments