@@ -206,7 +206,9 @@ class MainActivity : ComponentActivity() {
206206
207207 var assets =
208208 (this @MainActivity.assets.list(" " ) ? : return @launch).toList()
209- assets = assets.filter { it.contains(" 20181110_213419__MMC1561-HDR.jxl" ) }
209+ // assets = assets.filter { it.contains("20181110_213419__MMC1561-HDR.jxl") }
210+ // assets = assets.take(15)
211+ assets = assets.filter { it.contains(" cow_image_jxl.jxl" ) }
210212 for (asset in assets) {
211213 try {
212214 val buffer4 =
@@ -215,21 +217,62 @@ class MainActivity : ComponentActivity() {
215217
216218 val largeImageSize = JxlCoder .getSize(buffer4)
217219 if (largeImageSize != null ) {
220+ val decodingTime = measureTimeMillis {
221+ val srcImage = JxlCoder .decode(
222+ buffer4,
223+ preferredColorConfig = PreferredColorConfig .HARDWARE ,
224+ com.awxkee.jxlcoder.ScaleMode .FIT ,
225+ toneMapper = JxlToneMapper .REC2408 ,
226+ )
227+ }
228+ Log .d(" JXLMain" , " Decoding time ${decodingTime} ms" )
218229 val time = measureTimeMillis {
219- val srcImage = JxlCoder .decodeSampled(
230+ // val srcImage = JxlCoder.decodeSampled(
231+ // buffer4,
232+ // largeImageSize.width / 2,
233+ // largeImageSize.height / 2,
234+ // preferredColorConfig = PreferredColorConfig.HARDWARE,
235+ // com.awxkee.jxlcoder.ScaleMode.FIT,
236+ // toneMapper = JxlToneMapper.REC2408,
237+ // )
238+ val srcImage = JxlCoder .decode(
220239 buffer4,
221- - 1 ,
222- largeImageSize.height / 2 ,
223240 preferredColorConfig = PreferredColorConfig .HARDWARE ,
224241 com.awxkee.jxlcoder.ScaleMode .FIT ,
225242 toneMapper = JxlToneMapper .REC2408 ,
226243 )
244+ val fosRec2408 = FileOutputStream (File (cacheDir, File (asset).nameWithoutExtension + " .jpg" ))
245+ fosRec2408.use {
246+ srcImage.compress(Bitmap .CompressFormat .JPEG , 90 , it)
247+ it.flush()
248+ }
249+ // val srcPerceptual = JxlCoder.decodeSampled(
250+ // buffer4,
251+ // largeImageSize.width / 2,
252+ // largeImageSize.height / 2,
253+ // preferredColorConfig = PreferredColorConfig.HARDWARE,
254+ // com.awxkee.jxlcoder.ScaleMode.FIT,
255+ // toneMapper = JxlToneMapper.REC2408_PERCEPTUAL,
256+ // )
257+ val srcPerceptual = JxlCoder .decode(
258+ buffer4,
259+ preferredColorConfig = PreferredColorConfig .HARDWARE ,
260+ com.awxkee.jxlcoder.ScaleMode .FIT ,
261+ toneMapper = JxlToneMapper .REC2408_PERCEPTUAL ,
262+ )
263+ val fosRec2408Perc = FileOutputStream (File (cacheDir, File (asset).nameWithoutExtension + " _perceptual.jpg" ))
264+ fosRec2408Perc.use {
265+ srcPerceptual.compress(Bitmap .CompressFormat .JPEG , 90 , it)
266+ it.flush()
267+ }
227268// val srcImage = JxlCoder.decode(buffer4,
228269// preferredColorConfig = PreferredColorConfig.RGB_565,
229270// toneMapper = JxlToneMapper.REC2408)
230271 lifecycleScope.launch {
231272 imagesArray.add(srcImage)
273+ imagesArray.add(srcPerceptual)
232274 }
275+
233276 }
234277 Log .d(" JXLCoder" , " Decoding done in ${time} ms" )
235278 }
0 commit comments