@@ -32,21 +32,20 @@ import android.os.Bundle
3232import android.util.Log
3333import android.util.Size
3434import androidx.appcompat.app.AppCompatActivity
35- import androidx.core.graphics.scale
3635import androidx.lifecycle.lifecycleScope
3736import com.radzivon.bartoshyk.avif.coder.HeifCoder
37+ import com.radzivon.bartoshyk.avif.coder.PreciseMode
3838import com.radzivon.bartoshyk.avif.coder.PreferredColorConfig
3939import com.radzivon.bartoshyk.avif.coder.ScaleMode
40- import com.radzivon.bartoshyk.avif.coder.ToneMapper
4140import com.radzivon.bartoshyk.avif.databinding.ActivityMainBinding
4241import com.radzivon.bartoshyk.avif.databinding.BindingImageViewBinding
4342import kotlinx.coroutines.Dispatchers
4443import kotlinx.coroutines.launch
45- import okio.FileNotFoundException
4644import okio.buffer
4745import okio.sink
4846import okio.source
4947import java.io.File
48+ import java.io.FileNotFoundException
5049import java.io.FileOutputStream
5150import java.io.IOException
5251
@@ -94,31 +93,64 @@ class MainActivity : AppCompatActivity() {
9493 // HDR EXAMPLES - https://us.zonerama.com/williamskeaguidingphotography/Photo/1000120226/1004888131
9594 lifecycleScope.launch(Dispatchers .IO ) {
9695 val coder = HeifCoder ()
96+ // val buffer = assets.open("choke_ck.jpg").source().buffer().readByteArray()
97+ // val bitmap = BitmapFactory.decodeByteArray(buffer, 0, buffer.size)
98+ // val encoded = coder.encodeAvif(bitmap, quality = 99, preciseMode = PreciseMode.LOSSLESS)
99+ // val encoded100 = coder.encodeAvif(bitmap, quality = 100)
100+ // val decoded = coder.decode(encoded)
101+ // val decoded100 = coder.decode(encoded100)
102+ // lifecycleScope.launch(Dispatchers.Main) {
103+ // val imageView = BindingImageViewBinding.inflate(layoutInflater, binding.scrollViewContainer, false)
104+ // imageView.root.setImageBitmap(decoded)
105+ // binding.scrollViewContainer.addView(imageView.root)
106+ // }
107+ // lifecycleScope.launch(Dispatchers.Main) {
108+ // val imageView = BindingImageViewBinding.inflate(layoutInflater, binding.scrollViewContainer, false)
109+ // imageView.root.setImageBitmap(bitmap)
110+ // binding.scrollViewContainer.addView(imageView.root)
111+ // }
112+ // lifecycleScope.launch(Dispatchers.Main) {
113+ // val imageView = BindingImageViewBinding.inflate(layoutInflater, binding.scrollViewContainer, false)
114+ // imageView.root.setImageBitmap(decoded100)
115+ // binding.scrollViewContainer.addView(imageView.root)
116+ // }
97117 val allFiles1 = getAllFilesFromAssets().filter { it.contains(" .avif" ) || it.contains(" .heic" ) }
98118 val allFiles2 = getAllFilesFromAssets(path = " hdr" ).filter { it.contains(" .avif" ) || it.contains(" .heic" ) }
99119 var allFiles = mutableListOf<String >()
100120 allFiles.addAll(allFiles2)
101121 allFiles.addAll(allFiles1)
122+ // allFiles = allFiles.filter { it.contains("blue_lights.avif") || it.contains("bbb_alpha_inverted.avif") }.toMutableList()
123+ // allFiles = allFiles.filter { it.contains("bbb_alpha_inverted.avif") }.toMutableList()
102124 for (file in allFiles) {
103125 try {
104126 Log .d(" AVIF" , " start processing $file " )
105127 val buffer = this @MainActivity.assets.open(file).source().buffer()
106128 .readByteArray()
107129 val size = coder.getSize(buffer)
108130 if (size != null ) {
109- val bitmap = coder.decodeSampled(
110- buffer,
111- if (size.width > 1800 || size.height > 1800 ) size.width / 2 else size.width,
112- if (size.width > 1800 || size.height > 1800 ) size.height / 2 else size.height,
113- PreferredColorConfig .RGBA_8888 ,
114- ScaleMode .RESIZE
131+ // val bitmap = coder.decodeSampled(
132+ // buffer,
133+ // if (size.width > 1800 || size.height > 1800) size.width / 2 else size.width,
134+ // if (size.width > 1800 || size.height > 1800) size.height / 2 else size.height,
135+ // PreferredColorConfig.RGBA_1010102,
136+ // ScaleMode.RESIZE
137+ // )
138+ val bitmap = coder.decode(
139+ buffer,
140+ preferredColorConfig = PreferredColorConfig .RGBA_8888 ,
115141 )
116- coder.encodeAvif(bitmap)
142+ val encoded = coder.encodeAvif(bitmap)
143+ val decodedEncoded = coder.decode(encoded)
117144 lifecycleScope.launch(Dispatchers .Main ) {
118145 val imageView = BindingImageViewBinding .inflate(layoutInflater, binding.scrollViewContainer, false )
119146 imageView.root.setImageBitmap(bitmap)
120147 binding.scrollViewContainer.addView(imageView.root)
121148 }
149+ lifecycleScope.launch(Dispatchers .Main ) {
150+ val imageView = BindingImageViewBinding .inflate(layoutInflater, binding.scrollViewContainer, false )
151+ imageView.root.setImageBitmap(decodedEncoded)
152+ binding.scrollViewContainer.addView(imageView.root)
153+ }
122154 }
123155 } catch (e: Exception ) {
124156 if (e is FileNotFoundException || e is java.io.FileNotFoundException ) {
0 commit comments