diff --git a/native/libde265 b/native/libde265 index 9aa817e..503af19 160000 --- a/native/libde265 +++ b/native/libde265 @@ -1 +1 @@ -Subproject commit 9aa817e46435bcab5b05d042d1be184b8ce4cafa +Subproject commit 503af1932461419666e6766b28f27a759b04f3fc diff --git a/native/libde265_binding.cc b/native/libde265_binding.cc index ad61e9d..e8bc967 100644 --- a/native/libde265_binding.cc +++ b/native/libde265_binding.cc @@ -5,16 +5,16 @@ extern "C" { void libde265_encoder_hack(encoder_context *ctx, int w, int h) { - ctx->sps.set_defaults(); - ctx->sps.set_resolution(w, h); - ctx->sps.compute_derived_values(); + //ctx->sps.set_defaults(); + //ctx->sps.set_resolution(w, h); + //ctx->sps.compute_derived_values(); } de265_image *libde265_image_allocate(encoder_context *ctx, int w, int h) { de265_image *img = new de265_image; - img->alloc_image(w, h, de265_chroma_420, &ctx->sps, false, - NULL, ctx, 0, NULL, false); + //img->alloc_image(w, h, de265_chroma_420, &ctx->sps, false, + //NULL, ctx, 0, NULL, false); return img; } diff --git a/native/ogg b/native/ogg index 9b2ba41..6c36ab3 160000 --- a/native/ogg +++ b/native/ogg @@ -1 +1 @@ -Subproject commit 9b2ba419aecb4a1c97114545d57174593dc13111 +Subproject commit 6c36ab3fce6ed9b465dfbc3790596238b6b11e17 diff --git a/native/openh264 b/native/openh264 index 12d50ad..cda6a1f 160000 --- a/native/openh264 +++ b/native/openh264 @@ -1 +1 @@ -Subproject commit 12d50ad5651cdaa8a95186aa74ce756d4df39876 +Subproject commit cda6a1fa7605956fae72757bfd71b96070d2fff3 diff --git a/native/thor b/native/thor index 191fcb3..c57e45a 160000 --- a/native/thor +++ b/native/thor @@ -1 +1 @@ -Subproject commit 191fcb391e3dd80678d05bcffc8dcf19a931999f +Subproject commit c57e45a573ff268f36d389d3f5d769251d070abd diff --git a/native/thor.patch b/native/thor.patch index 9060351..c5a2801 100644 --- a/native/thor.patch +++ b/native/thor.patch @@ -1,52 +1,13 @@ -commit 136fb23d432322978012e9b3198f50b9195ecc2e -Author: Kazuki Oikawa -Date: Mon Jul 27 20:35:12 2015 +0900 - - Fix compile error when use SIMD C emulation mode - -diff --git a/common/common_kernels.c b/common/common_kernels.c -index 04f43be..b5e1307 100644 ---- a/common/common_kernels.c -+++ b/common/common_kernels.c -@@ -194,13 +194,13 @@ static void get_inter_prediction_luma_inner(int width, int height, int xoff, int - - for (int y = 0; y < height; y++) { - int res; -- v128 ax = v128_unpacklo_u8_s16(v64_load_unaligned(ip - 2)); -- v128 a0 = v128_mullo_s16(c0, v128_unpacklo_u8_s16(v64_load_unaligned(ip - 2 * istride - 2))); -- v128 a1 = v128_mullo_s16(c1, v128_unpacklo_u8_s16(v64_load_unaligned(ip - 1 * istride - 2))); -+ v128 ax = v128_unpack_u8_s16(v64_load_unaligned(ip - 2)); -+ v128 a0 = v128_mullo_s16(c0, v128_unpack_u8_s16(v64_load_unaligned(ip - 2 * istride - 2))); -+ v128 a1 = v128_mullo_s16(c1, v128_unpack_u8_s16(v64_load_unaligned(ip - 1 * istride - 2))); - v128 a2 = v128_mullo_s16(c2, ax); -- v128 a3 = v128_mullo_s16(c3, v128_unpacklo_u8_s16(v64_load_unaligned(ip + 1 * istride - 2))); -- v128 a4 = v128_mullo_s16(c4, v128_unpacklo_u8_s16(v64_load_unaligned(ip + 2 * istride - 2))); -- v128 a5 = v128_mullo_s16(c5, v128_unpacklo_u8_s16(v64_load_unaligned(ip + 3 * istride - 2))); -+ v128 a3 = v128_mullo_s16(c3, v128_unpack_u8_s16(v64_load_unaligned(ip + 1 * istride - 2))); -+ v128 a4 = v128_mullo_s16(c4, v128_unpack_u8_s16(v64_load_unaligned(ip + 2 * istride - 2))); -+ v128 a5 = v128_mullo_s16(c5, v128_unpack_u8_s16(v64_load_unaligned(ip + 3 * istride - 2))); - - for (int x = 0; x < 3; x++) { - res = (v128_dotp_s16(c, v128_add_16(v128_add_16(v128_add_16(v128_add_16(v128_add_16(a0, a1), a2), a3), a4), a5)) + v128_dotp_s16(c, ax) * 128 + 8192) >> 14; -@@ -315,7 +315,7 @@ static void get_inter_prediction_luma_centre(int width, int height, - const uint8_t *restrict ip, int istride) - { - if (width == 4) { -- v128 round = v128_dup_16(8); -+ v64 round = v64_dup_16(8); - for (int i = 0; i < height; i++) { - v64 r, s; - r = v64_add_16(v64_unpacklo_u8_s16(v64_from_32(0, u32_load_unaligned(ip - 1 * istride + 0))), -diff --git a/Makefile b/Makefile -index 5ca91df..6291a4b 100644 ---- a/Makefile -+++ b/Makefile +diff --git a/common/temporal_interp.c b/common/temporal_interp.c +index c01747c..1209f38 100644 +--- a/common/temporal_interp.c ++++ b/common/temporal_interp.c @@ -1,7 +1,7 @@ - ENCODER_PROGRAM = build/Thorenc - DECODER_PROGRAM = build/Thordec - --CFLAGS += -std=c99 -g -O6 -Wall -pedantic -I common -+CFLAGS += -std=c99 -g -O2 -Wall -pedantic -I common - LDFLAGS = -lm - - ifeq ($(ARCH),neon) + #include + #include + #include +-#include "emmintrin.h" ++//#include "emmintrin.h" + #include "simd.h" + #include "global.h" + #include "temporal_interp.h"