From 706070b28ddd66990f6d17e819dc7a90a1cf9d3d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9C=D0=B0=D0=BA=D1=81=D0=B8=D0=BC=20=D0=91=D0=BE=D0=B9?= =?UTF-8?q?=D1=87=D1=83=D0=BA?= Date: Sun, 5 May 2024 11:02:33 +0300 Subject: [PATCH 1/5] fix implicit conversion --- .idea/.gitignore | 8 +++++++ .idea/goheif.iml | 9 ++++++++ .idea/modules.xml | 8 +++++++ .idea/vcs.xml | 6 +++++ libde265/libde265/x86/sse-motion.cc | 36 ++++++++++++++--------------- 5 files changed, 49 insertions(+), 18 deletions(-) create mode 100644 .idea/.gitignore create mode 100644 .idea/goheif.iml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/goheif.iml b/.idea/goheif.iml new file mode 100644 index 0000000..5e764c4 --- /dev/null +++ b/.idea/goheif.iml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..79f33ef --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/libde265/libde265/x86/sse-motion.cc b/libde265/libde265/x86/sse-motion.cc index c8c7571..0c39684 100644 --- a/libde265/libde265/x86/sse-motion.cc +++ b/libde265/libde265/x86/sse-motion.cc @@ -3527,9 +3527,9 @@ void ff_hevc_put_hevc_qpel_h_1_v_1_sse(int16_t *dst, ptrdiff_t dststride, r0 = _mm_srli_epi32(r0, 6); r1 = _mm_and_si128(r1, - _mm_set_epi16(0, 65535, 0, 65535, 0, 65535, 0, 65535)); + _mm_set_epi16(0, (unsigned short)0xFFFF, 0, (unsigned short)0xFFFF, 0, (unsigned short)0xFFFF, 0, (unsigned short)0xFFFF)); r0 = _mm_and_si128(r0, - _mm_set_epi16(0, 65535, 0, 65535, 0, 65535, 0, 65535)); + _mm_set_epi16(0, (unsigned short)0xFFFF, 0, (unsigned short)0xFFFF, 0, (unsigned short)0xFFFF, 0, (unsigned short)0xFFFF)); r0 = _mm_hadd_epi16(r0, r1); _mm_store_si128((__m128i *) &dst[x], r0); @@ -3710,9 +3710,9 @@ void ff_hevc_put_hevc_qpel_h_1_v_2_sse(int16_t *dst, ptrdiff_t dststride, r0 = _mm_srli_epi32(r0, 6); r1 = _mm_and_si128(r1, - _mm_set_epi16(0, 65535, 0, 65535, 0, 65535, 0, 65535)); + _mm_set_epi16(0, (unsigned short)0xFFFF, 0, (unsigned short)0xFFFF, 0, (unsigned short)0xFFFF, 0, (unsigned short)0xFFFF)); r0 = _mm_and_si128(r0, - _mm_set_epi16(0, 65535, 0, 65535, 0, 65535, 0, 65535)); + _mm_set_epi16(0, (unsigned short)0xFFFF, 0, (unsigned short)0xFFFF, 0, (unsigned short)0xFFFF, 0, (unsigned short)0xFFFF)); r0 = _mm_hadd_epi16(r0, r1); _mm_store_si128((__m128i *) &dst[x], r0); @@ -3887,9 +3887,9 @@ void ff_hevc_put_hevc_qpel_h_1_v_3_sse(int16_t *dst, ptrdiff_t dststride, r0 = _mm_srli_epi32(r0, 6); r1 = _mm_and_si128(r1, - _mm_set_epi16(0, 65535, 0, 65535, 0, 65535, 0, 65535)); + _mm_set_epi16(0, (unsigned short)0xFFFF, 0, (unsigned short)0xFFFF, 0, (unsigned short)0xFFFF, 0, (unsigned short)0xFFFF)); r0 = _mm_and_si128(r0, - _mm_set_epi16(0, 65535, 0, 65535, 0, 65535, 0, 65535)); + _mm_set_epi16(0, (unsigned short)0xFFFF, 0, (unsigned short)0xFFFF, 0, (unsigned short)0xFFFF, 0, (unsigned short)0xFFFF)); r0 = _mm_hadd_epi16(r0, r1); _mm_store_si128((__m128i *) &dst[x], r0); @@ -4058,9 +4058,9 @@ void ff_hevc_put_hevc_qpel_h_2_v_1_sse(int16_t *dst, ptrdiff_t dststride, r0 = _mm_srli_epi32(r0, 6); r1 = _mm_and_si128(r1, - _mm_set_epi16(0, 65535, 0, 65535, 0, 65535, 0, 65535)); + _mm_set_epi16(0, (unsigned short)0xFFFF, 0, (unsigned short)0xFFFF, 0, (unsigned short)0xFFFF, 0, (unsigned short)0xFFFF)); r0 = _mm_and_si128(r0, - _mm_set_epi16(0, 65535, 0, 65535, 0, 65535, 0, 65535)); + _mm_set_epi16(0, (unsigned short)0xFFFF, 0, (unsigned short)0xFFFF, 0, (unsigned short)0xFFFF, 0, (unsigned short)0xFFFF)); r0 = _mm_hadd_epi16(r0, r1); _mm_store_si128((__m128i *) &dst[x], r0); @@ -4241,9 +4241,9 @@ void ff_hevc_put_hevc_qpel_h_2_v_2_sse(int16_t *dst, ptrdiff_t dststride, r0 = _mm_srli_epi32(r0, 6); r1 = _mm_and_si128(r1, - _mm_set_epi16(0, 65535, 0, 65535, 0, 65535, 0, 65535)); + _mm_set_epi16(0, (unsigned short)0xFFFF, 0, (unsigned short)0xFFFF, 0, (unsigned short)0xFFFF, 0, (unsigned short)0xFFFF)); r0 = _mm_and_si128(r0, - _mm_set_epi16(0, 65535, 0, 65535, 0, 65535, 0, 65535)); + _mm_set_epi16(0, (unsigned short)0xFFFF, 0, (unsigned short)0xFFFF, 0, (unsigned short)0xFFFF, 0, (unsigned short)0xFFFF)); r0 = _mm_hadd_epi16(r0, r1); _mm_store_si128((__m128i *) &dst[x], r0); @@ -4419,9 +4419,9 @@ void ff_hevc_put_hevc_qpel_h_2_v_3_sse(int16_t *dst, ptrdiff_t dststride, r0 = _mm_srli_epi32(r0, 6); r1 = _mm_and_si128(r1, - _mm_set_epi16(0, 65535, 0, 65535, 0, 65535, 0, 65535)); + _mm_set_epi16(0, (unsigned short)0xFFFF, 0, (unsigned short)0xFFFF, 0, (unsigned short)0xFFFF, 0, (unsigned short)0xFFFF)); r0 = _mm_and_si128(r0, - _mm_set_epi16(0, 65535, 0, 65535, 0, 65535, 0, 65535)); + _mm_set_epi16(0, (unsigned short)0xFFFF, 0, (unsigned short)0xFFFF, 0, (unsigned short)0xFFFF, 0, (unsigned short)0xFFFF)); r0 = _mm_hadd_epi16(r0, r1); _mm_store_si128((__m128i *) &dst[x], r0); @@ -4592,9 +4592,9 @@ void ff_hevc_put_hevc_qpel_h_3_v_1_sse(int16_t *dst, ptrdiff_t dststride, r0 = _mm_srli_epi32(r0, 6); r1 = _mm_and_si128(r1, - _mm_set_epi16(0, 65535, 0, 65535, 0, 65535, 0, 65535)); + _mm_set_epi16(0, (unsigned short)0xFFFF, 0, (unsigned short)0xFFFF, 0, (unsigned short)0xFFFF, 0, (unsigned short)0xFFFF)); r0 = _mm_and_si128(r0, - _mm_set_epi16(0, 65535, 0, 65535, 0, 65535, 0, 65535)); + _mm_set_epi16(0, (unsigned short)0xFFFF, 0, (unsigned short)0xFFFF, 0, (unsigned short)0xFFFF, 0, (unsigned short)0xFFFF)); r0 = _mm_hadd_epi16(r0, r1); _mm_store_si128((__m128i *) &dst[x], r0); @@ -4778,9 +4778,9 @@ void ff_hevc_put_hevc_qpel_h_3_v_2_sse(int16_t *dst, ptrdiff_t dststride, r0 = _mm_srli_epi32(r0, 6); r1 = _mm_and_si128(r1, - _mm_set_epi16(0, 65535, 0, 65535, 0, 65535, 0, 65535)); + _mm_set_epi16(0, (unsigned short)0xFFFF, 0, (unsigned short)0xFFFF, 0, (unsigned short)0xFFFF, 0, (unsigned short)0xFFFF)); r0 = _mm_and_si128(r0, - _mm_set_epi16(0, 65535, 0, 65535, 0, 65535, 0, 65535)); + _mm_set_epi16(0, (unsigned short)0xFFFF, 0, (unsigned short)0xFFFF, 0, (unsigned short)0xFFFF, 0, (unsigned short)0xFFFF)); r0 = _mm_hadd_epi16(r0, r1); _mm_store_si128((__m128i *) &dst[x], r0); @@ -4958,9 +4958,9 @@ void ff_hevc_put_hevc_qpel_h_3_v_3_sse(int16_t *dst, ptrdiff_t dststride, r0 = _mm_srli_epi32(r0, 6); r1 = _mm_and_si128(r1, - _mm_set_epi16(0, 65535, 0, 65535, 0, 65535, 0, 65535)); + _mm_set_epi16(0, (unsigned short)0xFFFF, 0, (unsigned short)0xFFFF, 0, (unsigned short)0xFFFF, 0, (unsigned short)0xFFFF)); r0 = _mm_and_si128(r0, - _mm_set_epi16(0, 65535, 0, 65535, 0, 65535, 0, 65535)); + _mm_set_epi16(0, (unsigned short)0xFFFF, 0, (unsigned short)0xFFFF, 0, (unsigned short)0xFFFF, 0, (unsigned short)0xFFFF)); r0 = _mm_hadd_epi16(r0, r1); _mm_store_si128((__m128i *) &dst[x], r0); From fdc96fa69464cdeaff004cb8794204a8c643944f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9C=D0=B0=D0=BA=D1=81=D0=B8=D0=BC=20=D0=91=D0=BE=D0=B9?= =?UTF-8?q?=D1=87=D1=83=D0=BA?= Date: Sun, 5 May 2024 11:05:28 +0300 Subject: [PATCH 2/5] change module name --- go.mod | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go.mod b/go.mod index 3504c83..2e633cc 100644 --- a/go.mod +++ b/go.mod @@ -1 +1 @@ -module github.com/adrium/goheif +module github.com/MaxBoych/goheif From e45b15c711228e0ec5bec23419768e6fce3b4071 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9C=D0=B0=D0=BA=D1=81=D0=B8=D0=BC=20=D0=91=D0=BE=D0=B9?= =?UTF-8?q?=D1=87=D1=83=D0=BA?= Date: Sun, 5 May 2024 11:15:18 +0300 Subject: [PATCH 3/5] try to fix implicit conversion --- goheif.go | 5 ++--- heic2jpg/main.go | 3 +-- heif/heif.go | 3 +-- 3 files changed, 4 insertions(+), 7 deletions(-) diff --git a/goheif.go b/goheif.go index 379661a..ce962a7 100644 --- a/goheif.go +++ b/goheif.go @@ -3,13 +3,12 @@ package goheif import ( "bytes" "fmt" + "github.com/MaxBoych/goheif/heif" + "github.com/MaxBoych/goheif/libde265" "image" "image/color" "io" "io/ioutil" - - "github.com/adrium/goheif/heif" - "github.com/adrium/goheif/libde265" ) // SafeEncoding uses more memory but seems to make diff --git a/heic2jpg/main.go b/heic2jpg/main.go index f944b23..9a2f950 100644 --- a/heic2jpg/main.go +++ b/heic2jpg/main.go @@ -3,12 +3,11 @@ package main import ( "flag" "fmt" + "github.com/MaxBoych/goheif" "image/jpeg" "io" "log" "os" - - "github.com/adrium/goheif" ) // Skip Writer for exif writing diff --git a/heif/heif.go b/heif/heif.go index e5cee54..9c431c5 100644 --- a/heif/heif.go +++ b/heif/heif.go @@ -24,10 +24,9 @@ package heif import ( "errors" "fmt" + "github.com/MaxBoych/goheif/heif/bmff" "io" "log" - - "github.com/adrium/goheif/heif/bmff" ) // File represents a HEIF file. From 4803360467870d18d3a846c26a6016371d3bad7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9C=D0=B0=D0=BA=D1=81=D0=B8=D0=BC=20=D0=91=D0=BE=D0=B9?= =?UTF-8?q?=D1=87=D1=83=D0=BA?= Date: Sun, 5 May 2024 11:34:19 +0300 Subject: [PATCH 4/5] fix implicit conversion v2 --- go.mod | 4 ++++ go.sum | 2 ++ 2 files changed, 6 insertions(+) create mode 100644 go.sum diff --git a/go.mod b/go.mod index 2e633cc..6320712 100644 --- a/go.mod +++ b/go.mod @@ -1 +1,5 @@ module github.com/MaxBoych/goheif + +go 1.22.2 + +require github.com/rwcarlsen/goexif v0.0.0-20190401172101-9e8deecbddbd // indirect diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..4f6df19 --- /dev/null +++ b/go.sum @@ -0,0 +1,2 @@ +github.com/rwcarlsen/goexif v0.0.0-20190401172101-9e8deecbddbd h1:CmH9+J6ZSsIjUK3dcGsnCnO41eRBOnY12zwkn5qVwgc= +github.com/rwcarlsen/goexif v0.0.0-20190401172101-9e8deecbddbd/go.mod h1:hPqNNc0+uJM6H+SuU8sEs5K5IQeKccPqeSjfgcKGgPk= From 160596db5c99f51b8ba2440efb2ac3e8466b92b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9C=D0=B0=D0=BA=D1=81=D0=B8=D0=BC=20=D0=91=D0=BE=D0=B9?= =?UTF-8?q?=D1=87=D1=83=D0=BA?= Date: Sun, 5 May 2024 11:50:03 +0300 Subject: [PATCH 5/5] change go version --- go.mod | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go.mod b/go.mod index 6320712..242416d 100644 --- a/go.mod +++ b/go.mod @@ -1,5 +1,5 @@ module github.com/MaxBoych/goheif -go 1.22.2 +go 1.21 require github.com/rwcarlsen/goexif v0.0.0-20190401172101-9e8deecbddbd // indirect