@@ -684,37 +684,25 @@ Java_com_radzivon_bartoshyk_avif_coder_HeifCoder_decodeImpl(JNIEnv *env, jobject
684
684
if (hasICC) {
685
685
convertUseDefinedColorSpace (dstARGB, stride, imageWidth, imageHeight, profile.data (),
686
686
profile.size (),
687
- useBitmapHalf16Floats);
688
- colorSpaceName = " SRGB" ;
689
- } else if (colorSpaceName && strcmp (colorSpaceName, " BT2020_PQ" ) == 0 &&
690
- osVersion < colorSpaceRequiredVersion) {
687
+ useBitmapHalf16Floats, &stride);
688
+ } else if (colorSpaceName && strcmp (colorSpaceName, " BT2020_PQ" ) == 0 ) {
691
689
convertUseDefinedColorSpace (dstARGB, stride, imageWidth, imageHeight, &bt2020PQ[0 ],
692
690
sizeof (bt2020PQ),
693
- useBitmapHalf16Floats);
694
- colorSpaceName = " SRGB" ;
695
- colorSpaceRequiredVersion = 29 ;
696
- } else if (colorSpaceName && strcmp (colorSpaceName, " BT2020" ) == 0 &&
697
- osVersion < colorSpaceRequiredVersion) {
691
+ useBitmapHalf16Floats, &stride);
692
+ } else if (colorSpaceName && strcmp (colorSpaceName, " BT2020" ) == 0 ) {
698
693
convertUseDefinedColorSpace (dstARGB, stride, imageWidth, imageHeight, &bt2020[0 ],
699
694
sizeof (bt2020),
700
- useBitmapHalf16Floats);
701
- colorSpaceName = " SRGB" ;
702
- } else if (colorSpaceName && strcmp (colorSpaceName, " DISPLAY_P3" ) == 0 &&
703
- osVersion < colorSpaceRequiredVersion) {
695
+ useBitmapHalf16Floats, &stride);
696
+ } else if (colorSpaceName && strcmp (colorSpaceName, " DISPLAY_P3" ) == 0 ) {
704
697
convertUseDefinedColorSpace (dstARGB, stride, imageWidth, imageHeight, &displayP3[0 ],
705
698
sizeof (displayP3),
706
- useBitmapHalf16Floats);
707
- colorSpaceName = " SRGB" ;
708
- } else if (colorSpaceName && strcmp (colorSpaceName, " LINEAR_SRGB" ) == 0 &&
709
- osVersion < colorSpaceRequiredVersion) {
699
+ useBitmapHalf16Floats, &stride);
700
+ } else if (colorSpaceName && strcmp (colorSpaceName, " LINEAR_SRGB" ) == 0 ) {
710
701
convertUseDefinedColorSpace (dstARGB, stride, imageWidth, imageHeight, &linearSRGB[0 ],
711
- sizeof (linearSRGB), useBitmapHalf16Floats);
712
- colorSpaceName = " SRGB" ;
713
- } else if (colorSpaceName && strcmp (colorSpaceName, " BT709" ) == 0 &&
714
- osVersion < colorSpaceRequiredVersion) {
702
+ sizeof (linearSRGB), useBitmapHalf16Floats, &stride);
703
+ } else if (colorSpaceName && strcmp (colorSpaceName, " BT709" ) == 0 ) {
715
704
convertUseDefinedColorSpace (dstARGB, stride, imageWidth, imageHeight, &bt709[0 ],
716
- sizeof (bt709), useBitmapHalf16Floats);
717
- colorSpaceName = " SRGB" ;
705
+ sizeof (bt709), useBitmapHalf16Floats, &stride);
718
706
}
719
707
720
708
if (!alphaPremultiplied) {
@@ -754,26 +742,5 @@ Java_com_radzivon_bartoshyk_avif_coder_HeifCoder_decodeImpl(JNIEnv *env, jobject
754
742
return static_cast <jobject>(nullptr );
755
743
}
756
744
757
- if ((dataSpace != -1 || colorSpaceName != nullptr ) && osVersion >= 29 ) {
758
- if (osVersion >= colorSpaceRequiredVersion) {
759
- jclass cls = env->FindClass (" android/graphics/ColorSpace" );
760
- jmethodID staticMethodGetColorSpace = env->GetStaticMethodID (cls, " get" ,
761
- " (Landroid/graphics/ColorSpace$Named;)Landroid/graphics/ColorSpace;" );
762
- jclass colorSpaceNameCls = env->FindClass (" android/graphics/ColorSpace$Named" );
763
- jfieldID colorSpaceNameFieldID = env->GetStaticFieldID (colorSpaceNameCls,
764
- colorSpaceName,
765
- " Landroid/graphics/ColorSpace$Named;" );
766
- jobject colorSpaceNameObj = env->GetStaticObjectField (colorSpaceNameCls,
767
- colorSpaceNameFieldID);
768
- jobject colorSpace = env->CallStaticObjectMethod (cls, staticMethodGetColorSpace,
769
- colorSpaceNameObj);
770
- jmethodID setColorSpaceMethod = env->GetMethodID (bitmapClass, " setColorSpace" ,
771
- " (Landroid/graphics/ColorSpace;)V" );
772
- if (setColorSpaceMethod) {
773
- env->CallVoidMethod (bitmapObj, setColorSpaceMethod, colorSpace);
774
- }
775
- }
776
- }
777
-
778
745
return bitmapObj;
779
746
}
0 commit comments