@@ -2270,80 +2270,40 @@ namespace ojph {
22702270 return 0 ;
22712271 }
22722272
2273- #if 0
2274- if(cur_line < height)
2273+ switch (comp_num)
22752274 {
2276- switch (comp_num)
2275+ case 0 :
2276+ for (ui32 i = 0 ; i < width; i++)
22772277 {
2278- case 0:
2279- for (ui32 i = 0; i < width; i++)
2280- {
2281- line->i32[i] = (si32)(pixels[cur_line][i].r);
2282- }
2283- break;
2284- case 1:
2285- for (ui32 i = 0; i < width; i++)
2286- {
2287- line->i32[i] = (si32)(pixels[cur_line][i].g);
2288- }
2289- break;
2290- case 2:
2291- for (ui32 i = 0; i < width; i++)
2292- {
2293- line->i32[i] = (si32)(pixels[cur_line][i].b);
2294- }
2295- break;
2296- case 3:
2297- for (ui32 i = 0; i < width; i++)
2298- {
2299- line->i32[i] = (si32)(pixels[cur_line][i].a);
2300- }
2301- break;
2278+ line->i32 [i] = (si16)pixels[cur_line][i].r .bits ();
23022279 }
2303-
2304- }
2305- else
2306- {
2307- printf("cur_line = %d is greater than height = %d\n", cur_line, height);
2308- }
2309- #endif
2310- if (cur_line < height)
2311- {
2312- switch (comp_num)
2280+ break ;
2281+ case 1 :
2282+ for (ui32 i = 0 ; i < width; i++)
23132283 {
2314- case 0 :
2315- for (ui32 i = 0 ; i < width; i++)
2316- {
2317- line->i32 [i] = (si32)(pixels[cur_line][i].r .bits ());
2318- }
2319- break ;
2320- case 1 :
2321- for (ui32 i = 0 ; i < width; i++)
2322- {
2323- line->i32 [i] = (si32)(pixels[cur_line][i].g .bits ());
2324- }
2325- break ;
2326- case 2 :
2327- for (ui32 i = 0 ; i < width; i++)
2328- {
2329- line->i32 [i] = (si32)(pixels[cur_line][i].b .bits ());
2330- }
2331- break ;
2332- case 3 :
2333- for (ui32 i = 0 ; i < width; i++)
2334- {
2335- line->i32 [i] = (si32)(pixels[cur_line][i].a .bits ());
2336- }
2337- break ;
2284+ line->i32 [i] = (si16)pixels[cur_line][i].g .bits ();
23382285 }
2339-
2340- }
2341- else
2342- {
2343- printf (" cur_line = %d is greater than height = %d\n " , cur_line, height);
2286+ break ;
2287+ case 2 :
2288+ for (ui32 i = 0 ; i < width; i++)
2289+ {
2290+ line->i32 [i] = (si16)pixels[cur_line][i].b .bits ();
2291+ }
2292+ break ;
2293+ case 3 :
2294+ for (ui32 i = 0 ; i < width; i++)
2295+ {
2296+ line->i32 [i] = (si16)pixels[cur_line][i].a .bits ();
2297+ }
2298+ break ;
2299+ default :
2300+ fprintf (stderr, " ERROR in file %s on line %d in function %s:\n comp_num = %d, this software currently only supports num_comps = 1-4\n " ,
2301+ __FILE__, __LINE__, __FUNCTION__, comp_num);
2302+ return 0 ;
2303+ break ;
23442304 }
23452305
2346- if (comp_num == 0 )
2306+ if (comp_num == (num_comps- 1 ) )
23472307 {
23482308 cur_line++;
23492309 }
0 commit comments