Compare commits
50 Commits
v1.1-Firef
...
v1.0.0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bdb7d758c1 | ||
|
|
176495defe | ||
|
|
890674bde4 | ||
|
|
414a1ff975 | ||
|
|
a1ec7f0a35 | ||
|
|
6475c9b7f9 | ||
|
|
fe05db7bca | ||
|
|
a64ddb407c | ||
|
|
a2b445f0b0 | ||
|
|
2db1123bec | ||
|
|
41b71434f7 | ||
|
|
c034dcf958 | ||
|
|
77cb7c518c | ||
|
|
c0cc575e74 | ||
|
|
ca68f47db2 | ||
|
|
cae151981b | ||
|
|
650dc637b6 | ||
|
|
679449f97d | ||
|
|
11085e072a | ||
|
|
af6105743a | ||
|
|
3abf06705b | ||
|
|
dd088d9979 | ||
|
|
5eb0f0b92b | ||
|
|
bf7ff18bae | ||
|
|
d98d9194fd | ||
|
|
45d79d6d13 | ||
|
|
a103ffc2e3 | ||
|
|
576b27238c | ||
|
|
680bc349f1 | ||
|
|
1d82df67f6 | ||
|
|
996be050b9 | ||
|
|
62c12b2985 | ||
|
|
10cbbbb2b2 | ||
|
|
8ca7b2e557 | ||
|
|
335857fe9a | ||
|
|
d0e8ae0cf5 | ||
|
|
6e34f5a7c9 | ||
|
|
83f89406ca | ||
|
|
0a9a05ee4e | ||
|
|
294bfd5495 | ||
|
|
09cf107367 | ||
|
|
e5d8957ad2 | ||
|
|
2dad4b7eb9 | ||
|
|
00696ae9d9 | ||
|
|
4f28cf772a | ||
|
|
cf81b0095c | ||
|
|
c6538f1eb8 | ||
|
|
8b6c6943cd | ||
|
|
958207392c | ||
|
|
eb6fdf4412 |
9
.gitignore
vendored
9
.gitignore
vendored
@@ -1,7 +1,6 @@
|
||||
# Object files
|
||||
*.o
|
||||
*.obj
|
||||
codec/obj
|
||||
|
||||
# Dependency files
|
||||
*.d
|
||||
@@ -27,16 +26,8 @@ h264dec
|
||||
h264enc
|
||||
codec_unittest
|
||||
|
||||
# Other files generated by the MSVC compiler
|
||||
*.exp
|
||||
*.pdb
|
||||
|
||||
# Executables built by the MSVC project files
|
||||
bin
|
||||
|
||||
# External source
|
||||
gtest
|
||||
gmp-api
|
||||
|
||||
# Output files from example commands
|
||||
testbin/test_vd_1d.264
|
||||
|
||||
34
.travis.yml
34
.travis.yml
@@ -1,39 +1,9 @@
|
||||
language: cpp
|
||||
|
||||
compiler:
|
||||
- g++
|
||||
- clang
|
||||
|
||||
before_install:
|
||||
- sudo apt-get update -qq
|
||||
- sudo apt-get install -qq nasm g++-4.6-multilib gcc-multilib libc6-dev-i386
|
||||
|
||||
install:
|
||||
- make gmp-bootstrap
|
||||
- make gtest-bootstrap
|
||||
|
||||
before_script:
|
||||
- WorkingDir=`pwd`
|
||||
- cd test/encoder_binary_comparison
|
||||
- ./run_PrepareAllTestData.sh 64
|
||||
- cd ${WorkingDir}
|
||||
|
||||
env:
|
||||
- TASK=UnitTest; TestParameter=""
|
||||
- TASK=BinaryCompare; TestParameter=BA_MW_D.264;
|
||||
- TASK=BinaryCompare; TestParameter=LS_SVA_D.264;
|
||||
- TASK=BinaryCompare; TestParameter=CVPCMNL1_SVA_C.264;
|
||||
|
||||
matrix:
|
||||
exclude:
|
||||
- compiler: clang
|
||||
env: TASK=BinaryCompare; TestParameter=BA_MW_D.264;
|
||||
- compiler: clang
|
||||
env: TASK=BinaryCompare; TestParameter=LS_SVA_D.264;
|
||||
- compiler: clang
|
||||
env: TASK=BinaryCompare; TestParameter=CVPCMNL1_SVA_C.264;
|
||||
|
||||
script:
|
||||
- echo "currrent test is for ${TASK}"
|
||||
- echo "test parameter is ${TestParameter}"
|
||||
- ./run_Test.sh ${TASK} ${TestParameter}
|
||||
install: make gtest-bootstrap
|
||||
script: make -B ENABLE64BIT=Yes && make test && make -B ENABLE64BIT=Yes BUILDTYPE=Debug && make test && make -B ENABLE64BIT=No && make test && make -B ENABLE64BIT=No BUILDTYPE=Debug && make test
|
||||
|
||||
115
Makefile
115
Makefile
@@ -6,7 +6,6 @@ CCAS=$(CC)
|
||||
CXX_O=-o $@
|
||||
CXX_LINK_O=-o $@
|
||||
AR_OPTS=cr $@
|
||||
LINK_LOCAL_DIR=-L.
|
||||
LINK_LIB=-l$(1)
|
||||
CFLAGS_OPT=-O3
|
||||
CFLAGS_DEBUG=-g
|
||||
@@ -16,15 +15,6 @@ PREFIX=/usr/local
|
||||
SHARED=-shared
|
||||
OBJ=o
|
||||
PROJECT_NAME=openh264
|
||||
MODULE_NAME=gmpopenh264
|
||||
GMP_API_BRANCH=Firefox32
|
||||
CCASFLAGS=$(CFLAGS)
|
||||
|
||||
ifeq (,$(wildcard ./gmp-api))
|
||||
HAVE_GMP_API=No
|
||||
else
|
||||
HAVE_GMP_API=Yes
|
||||
endif
|
||||
|
||||
ifeq (,$(wildcard ./gtest))
|
||||
HAVE_GTEST=No
|
||||
@@ -68,18 +58,18 @@ ifneq ($(V),Yes)
|
||||
endif
|
||||
|
||||
|
||||
INCLUDES += -Icodec/api/svc -Icodec/common/inc
|
||||
INCLUDES = -Icodec/api/svc -Icodec/common/inc
|
||||
|
||||
DECODER_INCLUDES += \
|
||||
DECODER_INCLUDES = \
|
||||
-Icodec/decoder/core/inc \
|
||||
-Icodec/decoder/plus/inc
|
||||
|
||||
ENCODER_INCLUDES += \
|
||||
ENCODER_INCLUDES = \
|
||||
-Icodec/encoder/core/inc \
|
||||
-Icodec/encoder/plus/inc \
|
||||
-Icodec/processing/interface
|
||||
|
||||
PROCESSING_INCLUDES += \
|
||||
PROCESSING_INCLUDES = \
|
||||
-Icodec/processing/interface \
|
||||
-Icodec/processing/src/common \
|
||||
-Icodec/processing/src/scrolldetection
|
||||
@@ -92,52 +82,33 @@ CODEC_UNITTEST_INCLUDES += \
|
||||
-Igtest/include \
|
||||
-Icodec/common/inc \
|
||||
|
||||
CONSOLE_COMMON_INCLUDES += \
|
||||
-Icodec/console/common/inc
|
||||
H264DEC_INCLUDES = $(DECODER_INCLUDES) -Icodec/console/dec/inc
|
||||
H264DEC_LDFLAGS = -L. $(call LINK_LIB,decoder) $(call LINK_LIB,common)
|
||||
H264DEC_DEPS = $(LIBPREFIX)decoder.$(LIBSUFFIX) $(LIBPREFIX)common.$(LIBSUFFIX)
|
||||
|
||||
H264DEC_INCLUDES += $(DECODER_INCLUDES) $(CONSOLE_COMMON_INCLUDES) -Icodec/console/dec/inc
|
||||
H264DEC_LDFLAGS = $(LINK_LOCAL_DIR) $(call LINK_LIB,decoder) $(call LINK_LIB,common) $(call LINK_LIB,console_common)
|
||||
H264DEC_DEPS = $(LIBPREFIX)decoder.$(LIBSUFFIX) $(LIBPREFIX)common.$(LIBSUFFIX) $(LIBPREFIX)console_common.$(LIBSUFFIX)
|
||||
H264ENC_INCLUDES = $(ENCODER_INCLUDES) -Icodec/console/enc/inc
|
||||
H264ENC_LDFLAGS = -L. $(call LINK_LIB,encoder) $(call LINK_LIB,processing) $(call LINK_LIB,common)
|
||||
H264ENC_DEPS = $(LIBPREFIX)encoder.$(LIBSUFFIX) $(LIBPREFIX)processing.$(LIBSUFFIX) $(LIBPREFIX)common.$(LIBSUFFIX)
|
||||
|
||||
H264ENC_INCLUDES += $(ENCODER_INCLUDES) $(CONSOLE_COMMON_INCLUDES) -Icodec/console/enc/inc
|
||||
H264ENC_LDFLAGS = $(LINK_LOCAL_DIR) $(call LINK_LIB,encoder) $(call LINK_LIB,processing) $(call LINK_LIB,common) $(call LINK_LIB,console_common)
|
||||
H264ENC_DEPS = $(LIBPREFIX)encoder.$(LIBSUFFIX) $(LIBPREFIX)processing.$(LIBSUFFIX) $(LIBPREFIX)common.$(LIBSUFFIX) $(LIBPREFIX)console_common.$(LIBSUFFIX)
|
||||
|
||||
CODEC_UNITTEST_LDFLAGS = $(LINK_LOCAL_DIR) $(call LINK_LIB,gtest) $(call LINK_LIB,decoder) $(call LINK_LIB,encoder) $(call LINK_LIB,processing) $(call LINK_LIB,common) $(CODEC_UNITTEST_LDFLAGS_SUFFIX)
|
||||
CODEC_UNITTEST_LDFLAGS = -L. $(call LINK_LIB,gtest) $(call LINK_LIB,decoder) $(call LINK_LIB,encoder) $(call LINK_LIB,processing) $(call LINK_LIB,common) $(CODEC_UNITTEST_LDFLAGS_SUFFIX)
|
||||
CODEC_UNITTEST_DEPS = $(LIBPREFIX)gtest.$(LIBSUFFIX) $(LIBPREFIX)decoder.$(LIBSUFFIX) $(LIBPREFIX)encoder.$(LIBSUFFIX) $(LIBPREFIX)processing.$(LIBSUFFIX) $(LIBPREFIX)common.$(LIBSUFFIX)
|
||||
DECODER_UNITTEST_INCLUDES += $(CODEC_UNITTEST_INCLUDES) $(DECODER_INCLUDES) -Itest -Itest/decoder
|
||||
ENCODER_UNITTEST_INCLUDES += $(CODEC_UNITTEST_INCLUDES) $(ENCODER_INCLUDES) -Itest -Itest/encoder
|
||||
PROCESSING_UNITTEST_INCLUDES += $(CODEC_UNITTEST_INCLUDES) $(PROCESSING_INCLUDES) -Itest -Itest/processing
|
||||
API_TEST_INCLUDES += $(CODEC_UNITTEST_INCLUDES) -Itest -Itest/api
|
||||
COMMON_UNITTEST_INCLUDES += $(CODEC_UNITTEST_INCLUDES) $(DECODER_INCLUDES) -Itest -Itest/common
|
||||
MODULE_INCLUDES += -Igmp-api
|
||||
|
||||
DECODER_UNITTEST_INCLUDES = $(CODEC_UNITTEST_INCLUDES) $(DECODER_INCLUDES) -Itest -Itest/decoder
|
||||
ENCODER_UNITTEST_INCLUDES = $(CODEC_UNITTEST_INCLUDES) $(ENCODER_INCLUDES) -Itest -Itest/encoder
|
||||
PROCESSING_UNITTEST_INCLUDES = $(CODEC_UNITTEST_INCLUDES) $(PROCESSING_INCLUDES) -Itest -Itest/processing
|
||||
API_TEST_INCLUDES = $(CODEC_UNITTEST_INCLUDES) -Itest -Itest/api
|
||||
.PHONY: test gtest-bootstrap clean
|
||||
|
||||
all: libraries binaries
|
||||
|
||||
clean:
|
||||
ifeq (android,$(OS))
|
||||
clean: clean_Android
|
||||
endif
|
||||
$(QUIET)rm -f $(OBJS) $(OBJS:.$(OBJ)=.d) $(LIBRARIES) $(BINARIES)
|
||||
|
||||
gmp-bootstrap:
|
||||
if [ ! -d gmp-api ] ; then git clone https://github.com/mozilla/gmp-api gmp-api ; fi
|
||||
cd gmp-api && git fetch origin && git checkout $(GMP_API_BRANCH)
|
||||
|
||||
gtest-bootstrap:
|
||||
svn co https://googletest.googlecode.com/svn/trunk/ gtest
|
||||
|
||||
ifeq ($(HAVE_GTEST),Yes)
|
||||
|
||||
test: codec_unittest$(EXEEXT)
|
||||
ifneq (android,$(OS))
|
||||
ifneq (ios,$(OS))
|
||||
./codec_unittest
|
||||
endif
|
||||
endif
|
||||
|
||||
else
|
||||
test:
|
||||
@echo "./gtest : No such file or directory."
|
||||
@@ -149,24 +120,14 @@ include codec/decoder/targets.mk
|
||||
include codec/encoder/targets.mk
|
||||
include codec/processing/targets.mk
|
||||
|
||||
ifeq ($(HAVE_GMP_API),Yes)
|
||||
include module/targets.mk
|
||||
endif
|
||||
|
||||
ifneq (android, $(OS))
|
||||
ifneq (ios, $(OS))
|
||||
include codec/console/dec/targets.mk
|
||||
include codec/console/enc/targets.mk
|
||||
include codec/console/common/targets.mk
|
||||
endif
|
||||
endif
|
||||
|
||||
ifneq (ios, $(OS))
|
||||
libraries: $(LIBPREFIX)$(PROJECT_NAME).$(LIBSUFFIX) $(LIBPREFIX)$(PROJECT_NAME).$(SHAREDLIBSUFFIX)
|
||||
else
|
||||
libraries: $(LIBPREFIX)$(PROJECT_NAME).$(LIBSUFFIX)
|
||||
endif
|
||||
|
||||
LIBRARIES += $(LIBPREFIX)$(PROJECT_NAME).$(LIBSUFFIX) $(LIBPREFIX)$(PROJECT_NAME).$(SHAREDLIBSUFFIX)
|
||||
|
||||
$(LIBPREFIX)$(PROJECT_NAME).$(LIBSUFFIX): $(ENCODER_OBJS) $(DECODER_OBJS) $(PROCESSING_OBJS) $(COMMON_OBJS)
|
||||
@@ -177,19 +138,6 @@ $(LIBPREFIX)$(PROJECT_NAME).$(SHAREDLIBSUFFIX): $(ENCODER_OBJS) $(DECODER_OBJS)
|
||||
$(QUIET)rm -f $@
|
||||
$(QUIET_CXX)$(CXX) $(SHARED) $(LDFLAGS) $(CXX_LINK_O) $+ $(SHLDFLAGS)
|
||||
|
||||
ifeq ($(HAVE_GMP_API),Yes)
|
||||
plugin: $(LIBPREFIX)$(MODULE_NAME).$(SHAREDLIBSUFFIX)
|
||||
LIBRARIES += $(LIBPREFIX)$(MODULE_NAME).$(SHAREDLIBSUFFIX)
|
||||
else
|
||||
plugin:
|
||||
@echo "./gmp-api : No such file or directory."
|
||||
@echo "You do not have gmp-api. Run make gmp-bootstrap to get the gmp-api headers."
|
||||
endif
|
||||
|
||||
$(LIBPREFIX)$(MODULE_NAME).$(SHAREDLIBSUFFIX): $(MODULE_OBJS) $(ENCODER_OBJS) $(DECODER_OBJS) $(PROCESSING_OBJS) $(COMMON_OBJS)
|
||||
$(QUIET)rm -f $@
|
||||
$(QUIET_CXX)$(CXX) $(SHARED) $(LDFLAGS) $(CXX_LINK_O) $+ $(SHLDFLAGS) $(MODULE_LDFLAGS)
|
||||
|
||||
install-headers:
|
||||
mkdir -p $(PREFIX)/include/wels
|
||||
install -m 644 codec/api/svc/codec*.h $(PREFIX)/include/wels
|
||||
@@ -214,42 +162,11 @@ include test/api/targets.mk
|
||||
include test/decoder/targets.mk
|
||||
include test/encoder/targets.mk
|
||||
include test/processing/targets.mk
|
||||
include test/common/targets.mk
|
||||
|
||||
LIBRARIES += $(LIBPREFIX)ut.$(LIBSUFFIX)
|
||||
$(LIBPREFIX)ut.$(LIBSUFFIX): $(DECODER_UNITTEST_OBJS) $(ENCODER_UNITTEST_OBJS) $(PROCESSING_UNITTEST_OBJS) $(COMMON_UNITTEST_OBJS) $(API_TEST_OBJS)
|
||||
$(QUIET)rm -f $@
|
||||
$(QUIET_AR)$(AR) $(AR_OPTS) $+
|
||||
|
||||
|
||||
LIBRARIES +=$(LIBPREFIX)ut.$(SHAREDLIBSUFFIX)
|
||||
$(LIBPREFIX)ut.$(SHAREDLIBSUFFIX): $(DECODER_UNITTEST_OBJS) $(ENCODER_UNITTEST_OBJS) $(PROCESSING_UNITTEST_OBJS) $(API_TEST_OBJS) $(COMMON_UNITTEST_OBJS) $(CODEC_UNITTEST_DEPS)
|
||||
$(QUIET)rm -f $@
|
||||
$(QUIET_CXX)$(CXX) $(SHARED) $(LDFLAGS) $(CXX_LINK_O) $+ $(CODEC_UNITTEST_LDFLAGS)
|
||||
|
||||
binaries: codec_unittest$(EXEEXT)
|
||||
BINARIES += codec_unittest$(EXEEXT)
|
||||
|
||||
ifeq (ios,$(OS))
|
||||
codec_unittest$(EXEEXT): $(LIBPREFIX)ut.$(LIBSUFFIX) $(LIBPREFIX)gtest.$(LIBSUFFIX) $(LIBPREFIX)$(PROJECT_NAME).$(LIBSUFFIX)
|
||||
|
||||
else
|
||||
ifeq (android,$(OS))
|
||||
codec_unittest$(EXEEXT): $(LIBPREFIX)ut.$(SHAREDLIBSUFFIX)
|
||||
cd ./test/build/android && $(NDKROOT)/ndk-build -B APP_ABI=$(APP_ABI) && android update project -t $(TARGET) -p . && ant debug
|
||||
|
||||
clean_Android: clean_Android_ut
|
||||
clean_Android_ut:
|
||||
-cd ./test/build/android && $(NDKROOT)/ndk-build APP_ABI=$(APP_ABI) clean && ant clean
|
||||
|
||||
else
|
||||
codec_unittest$(EXEEXT): $(DECODER_UNITTEST_OBJS) $(ENCODER_UNITTEST_OBJS) $(PROCESSING_UNITTEST_OBJS) $(API_TEST_OBJS) $(COMMON_UNITTEST_OBJS) $(CODEC_UNITTEST_DEPS)
|
||||
codec_unittest$(EXEEXT): $(DECODER_UNITTEST_OBJS) $(ENCODER_UNITTEST_OBJS) $(PROCESSING_UNITTEST_OBJS) $(API_TEST_OBJS) $(CODEC_UNITTEST_DEPS)
|
||||
$(QUIET)rm -f $@
|
||||
$(QUIET_CXX)$(CXX) $(CXX_LINK_O) $+ $(CODEC_UNITTEST_LDFLAGS) $(LDFLAGS)
|
||||
|
||||
endif
|
||||
endif
|
||||
|
||||
else
|
||||
binaries:
|
||||
@:
|
||||
|
||||
BIN
OpenH264_API_v1.0.docx
Normal file
BIN
OpenH264_API_v1.0.docx
Normal file
Binary file not shown.
@@ -5,7 +5,7 @@ OpenH264 is a codec library which supports H.264 encoding and decoding. It is su
|
||||
Encoder Features
|
||||
----------------
|
||||
- Constrained Baseline Profile up to Level 5.2 (4096x2304)
|
||||
- Arbitrary resolution, not constrained to multiples of 16x16
|
||||
- Arbitrary resolution, support cropping
|
||||
- Rate control with adaptive quantization, or constant quantization
|
||||
- Slice options: 1 slice per frame, N slices per frame, N macroblocks per slice, or N bytes per slice
|
||||
- Multiple threads automatically used for multiple slices
|
||||
@@ -32,6 +32,8 @@ Decoder Features
|
||||
- Multiple reference frames when specified in Sequence Parameter Set (SPS)
|
||||
- Annex B byte stream input
|
||||
- YUV 4:2:0 planar output
|
||||
- Decoder output timing conformance
|
||||
- Error concealment support with slice copy as default method
|
||||
|
||||
OS Support
|
||||
----------
|
||||
@@ -39,7 +41,7 @@ OS Support
|
||||
- Mac OS X 64-bit and 32-bit
|
||||
- Linux 64-bit and 32-bit
|
||||
- Android 32-bit
|
||||
- iOS 64-bit and 32-bit
|
||||
- iOS 64-bit and 32-bit (not fully tested)
|
||||
|
||||
Processor Support
|
||||
-----------------
|
||||
@@ -136,6 +138,9 @@ Known Issues
|
||||
See the issue tracker on https://github.com/cisco/openh264/issues
|
||||
- Encoder errors when resolution exceeds 3840x2160
|
||||
- Encoder errors when compressed frame size exceeds half uncompressed size
|
||||
- Encoder does not support QP < 10 encoding
|
||||
- Encoder does not support slice number > 35 encoding
|
||||
- The result of float-point calculation in rate control will be affected by preciseness of double-typed variable on different platform
|
||||
- Decoder errors when compressed frame size exceeds 1MB
|
||||
- Encoder RC requires frame skipping to be enabled to hit the target bitrate,
|
||||
if frame skipping is disabled the target bitrate may be exceeded
|
||||
|
||||
19
RELEASES
19
RELEASES
@@ -1,19 +0,0 @@
|
||||
|
||||
Releases
|
||||
|
||||
These binary releases are distributed under this license:
|
||||
http://www.openh264.org/BINARY_LICENSE.txt
|
||||
|
||||
v1.0.0
|
||||
------
|
||||
|
||||
http://ciscobinary.openh264.org/download/libopenh264-1.0.0-android19.so.bz2
|
||||
http://ciscobinary.openh264.org/download/libopenh264-1.0.0-linux32.so.bz2
|
||||
http://ciscobinary.openh264.org/download/libopenh264-1.0.0-linux64.so.bz2
|
||||
http://ciscobinary.openh264.org/download/libopenh264-1.0.0-osx64.dylib.bz2
|
||||
http://ciscobinary.openh264.org/download/openh264-1.0.0-win32msvc.dll.bz2
|
||||
http://ciscobinary.openh264.org/download/openh264-1.0.0-win64msvc.dll.bz2
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -20,6 +20,9 @@ INCLUDE=[]
|
||||
OUTFILE="targets.mk"
|
||||
CPP_SUFFIX=".cpp"
|
||||
|
||||
def make_o(x):
|
||||
return os.path.splitext(x)[0] + ".$(OBJ)"
|
||||
|
||||
def write_cpp_rule_pattern(f):
|
||||
src = "$(%s_SRCDIR)/%%%s"%(PREFIX, CPP_SUFFIX)
|
||||
dst = "$(%s_SRCDIR)/%%.$(OBJ)"%(PREFIX)
|
||||
@@ -49,7 +52,7 @@ def write_asm_s_rule_pattern(f):
|
||||
dst = "$(%s_SRCDIR)/%%.$(OBJ)"%(PREFIX)
|
||||
|
||||
f.write("%s: %s\n"%(dst, src))
|
||||
f.write('\t$(QUIET_CCAS)$(CCAS) $(CCASFLAGS) $(ASMFLAGS) $(INCLUDES) $(' + PREFIX + '_CFLAGS) $(' + PREFIX + '_INCLUDES) -c -o $@ $<\n')
|
||||
f.write('\t$(QUIET_CCAS)$(CCAS) $(CFLAGS) $(ASMFLAGS) $(INCLUDES) $(' + PREFIX + '_CFLAGS) $(' + PREFIX + '_INCLUDES) -c -o $@ $<\n')
|
||||
f.write("\n")
|
||||
|
||||
|
||||
|
||||
@@ -7,11 +7,8 @@ python build/mktargets.py --directory codec/processing --library processing
|
||||
|
||||
python build/mktargets.py --directory codec/console/dec --binary h264dec
|
||||
python build/mktargets.py --directory codec/console/enc --binary h264enc
|
||||
python build/mktargets.py --directory codec/console/common --library console_common
|
||||
python build/mktargets.py --directory test/encoder --prefix encoder_unittest
|
||||
python build/mktargets.py --directory test/decoder --prefix decoder_unittest
|
||||
python build/mktargets.py --directory test/processing --prefix processing_unittest
|
||||
python build/mktargets.py --directory test/api --prefix api_test
|
||||
python build/mktargets.py --directory test/common --prefix common_unittest
|
||||
python build/mktargets.py --directory module --prefix module
|
||||
python build/mktargets.py --directory gtest --library gtest --out build/gtest-targets.mk --cpp-suffix .cc --include gtest-all.cc
|
||||
|
||||
@@ -9,16 +9,19 @@ ifeq ($(ARCH), arm)
|
||||
LDFLAGS += -march=armv7-a -Wl,--fix-cortex-a8
|
||||
APP_ABI = armeabi-v7a
|
||||
endif
|
||||
TOOLCHAINPREFIX = $(shell NDK_PROJECT_PATH=./codec/build/android/dec make --no-print-dir -f $(NDKROOT)/build/core/build-local.mk DUMP_TOOLCHAIN_PREFIX APP_ABI=armeabi)
|
||||
ifeq (Yes, $(USE_ASM))
|
||||
ASMFLAGS += -march=armv7-a -mfpu=neon
|
||||
endif
|
||||
else ifeq ($(ARCH), x86)
|
||||
APP_ABI = x86
|
||||
TOOLCHAINPREFIX = $(shell NDK_PROJECT_PATH=./codec/build/android/dec make --no-print-dir -f $(NDKROOT)/build/core/build-local.mk DUMP_TOOLCHAIN_PREFIX APP_ABI=x86)
|
||||
ifeq (Yes, $(USE_ASM))
|
||||
ASMFLAGS += -f elf32
|
||||
endif
|
||||
else
|
||||
APP_ABI = $(ARCH)
|
||||
TOOLCHAINPREFIX = $(shell NDK_PROJECT_PATH=./codec/build/android/dec make --no-print-dir -f $(NDKROOT)/build/core/build-local.mk DUMP_TOOLCHAIN_PREFIX APP_ABI=$(APP_ABI))
|
||||
endif
|
||||
|
||||
ifndef NDKROOT
|
||||
@@ -28,27 +31,22 @@ ifndef TARGET
|
||||
$(error TARGET is not set)
|
||||
endif
|
||||
|
||||
TOOLCHAINPREFIX = $(shell NDK_PROJECT_PATH=./codec/build/android/dec make --no-print-dir -f $(NDKROOT)/build/core/build-local.mk DUMP_TOOLCHAIN_PREFIX APP_ABI=$(APP_ABI))
|
||||
|
||||
SYSROOT = $(NDKROOT)/platforms/android-$(NDKLEVEL)/arch-$(ARCH)
|
||||
CXX = $(TOOLCHAINPREFIX)g++
|
||||
CC = $(TOOLCHAINPREFIX)gcc
|
||||
AR = $(TOOLCHAINPREFIX)ar
|
||||
CFLAGS += -DANDROID_NDK -fpic --sysroot=$(SYSROOT) -MMD -MP
|
||||
CFLAGS += -DLINUX -DANDROID_NDK -fpic --sysroot=$(SYSROOT)
|
||||
CXXFLAGS += -fno-rtti -fno-exceptions
|
||||
LDFLAGS += --sysroot=$(SYSROOT)
|
||||
SHLDFLAGS = -Wl,--no-undefined -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -Wl,-soname,lib$(PROJECT_NAME).so
|
||||
|
||||
STL_INCLUDES = \
|
||||
-I$(NDKROOT)/sources/cxx-stl/stlport/stlport
|
||||
STL_LIB = \
|
||||
$(NDKROOT)/sources/cxx-stl/stlport/libs/$(APP_ABI)/libstlport_static.a
|
||||
|
||||
GTEST_INCLUDES = $(STL_INCLUDES)
|
||||
CODEC_UNITTEST_INCLUDES = $(STL_INCLUDES)
|
||||
CODEC_UNITTEST_LDFLAGS_SUFFIX = $(STL_LIB)
|
||||
MODULE_INCLUDES = $(STL_INCLUDES)
|
||||
MODULE_LDFLAGS = $(STL_LIB)
|
||||
CODEC_UNITTEST_LDFLAGS_SUFFIX = \
|
||||
$(NDKROOT)/sources/cxx-stl/stlport/libs/$(APP_ABI)/libstlport_static.a
|
||||
|
||||
binaries : decdemo encdemo
|
||||
|
||||
@@ -58,20 +56,13 @@ decdemo: libraries
|
||||
encdemo: libraries
|
||||
cd ./codec/build/android/enc && $(NDKROOT)/ndk-build -B APP_ABI=$(APP_ABI) && android update project -t $(TARGET) -p . && ant debug
|
||||
|
||||
clean_Android: clean_Android_dec clean_Android_enc
|
||||
|
||||
clean_Android_dec:
|
||||
-cd ./codec/build/android/dec && $(NDKROOT)/ndk-build APP_ABI=$(APP_ABI) clean && ant clean
|
||||
clean_Android_enc:
|
||||
-cd ./codec/build/android/enc && $(NDKROOT)/ndk-build APP_ABI=$(APP_ABI) clean && ant clean
|
||||
|
||||
COMMON_INCLUDES += -I$(NDKROOT)/sources/android/cpufeatures
|
||||
COMMON_OBJS += $(COMMON_SRCDIR)/src/cpu-features.$(OBJ)
|
||||
COMMON_OBJS += $(COMMON_SRCDIR)/cpu-features.$(OBJ)
|
||||
|
||||
COMMON_CFLAGS += \
|
||||
-Dandroid_getCpuIdArm=wels_getCpuIdArm -Dandroid_setCpuArm=wels_setCpuArm \
|
||||
-Dandroid_getCpuCount=wels_getCpuCount -Dandroid_getCpuFamily=wels_getCpuFamily \
|
||||
-Dandroid_getCpuFeatures=wels_getCpuFeatures -Dandroid_setCpu=wels_setCpu \
|
||||
|
||||
codec/common/src/cpu-features.$(OBJ): $(NDKROOT)/sources/android/cpufeatures/cpu-features.c
|
||||
codec/common/cpu-features.$(OBJ): $(NDKROOT)/sources/android/cpufeatures/cpu-features.c
|
||||
$(QUIET_CC)$(CC) $(CFLAGS) $(INCLUDES) $(COMMON_CFLAGS) $(COMMON_INCLUDES) -c $(CXX_O) $<
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
include build/platform-arch.mk
|
||||
SHAREDLIBSUFFIX = dylib
|
||||
SHARED = -dynamiclib
|
||||
CFLAGS += -Wall -fPIC -MMD -MP
|
||||
CFLAGS += -Wall -fPIC -DMACOS -MMD -MP
|
||||
LDFLAGS += -lpthread
|
||||
ifeq ($(ASM_ARCH), x86)
|
||||
ASMFLAGS += -DPREFIX
|
||||
|
||||
@@ -10,8 +10,7 @@ endif
|
||||
SDK = $(shell xcrun --sdk $(shell echo $(SDKTYPE) | tr A-Z a-z) --show-sdk-version)
|
||||
SDK_MIN = 5.1
|
||||
|
||||
XCODE=$(shell xcode-select -p)
|
||||
SDKROOT = $(XCODE)/Platforms/$(SDKTYPE).platform/Developer/SDKs/$(SDKTYPE)$(SDK).sdk
|
||||
SDKROOT = /Applications/Xcode.app/Contents/Developer/Platforms/$(SDKTYPE).platform/Developer/SDKs/$(SDKTYPE)$(SDK).sdk
|
||||
CFLAGS += -arch $(ARCH) -isysroot $(SDKROOT) -miphoneos-version-min=$(SDK_MIN) -DAPPLE_IOS
|
||||
LDFLAGS += -arch $(ARCH) -isysroot $(SDKROOT) -miphoneos-version-min=$(SDK_MIN)
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
include build/platform-arch.mk
|
||||
SHAREDLIBSUFFIX = so
|
||||
CFLAGS += -Wall -fno-strict-aliasing -fPIC -MMD -MP
|
||||
CFLAGS += -Wall -fno-strict-aliasing -fPIC -DLINUX -MMD -MP
|
||||
LDFLAGS += -lpthread
|
||||
ifeq ($(ASM_ARCH), x86)
|
||||
ifeq ($(ENABLE64BIT), Yes)
|
||||
|
||||
@@ -5,11 +5,13 @@ LDFLAGS +=
|
||||
ifeq ($(ENABLE64BIT), Yes)
|
||||
ASMFLAGS += -f win64
|
||||
ASMFLAGS_PLATFORM = -DWIN64
|
||||
CFLAGS += -DWIN64
|
||||
CC = x86_64-w64-mingw32-gcc
|
||||
CXX = x86_64-w64-mingw32-g++
|
||||
AR = x86_64-w64-mingw32-ar
|
||||
else
|
||||
ASMFLAGS += -f win32 -DPREFIX
|
||||
CFLAGS += -DWIN32
|
||||
endif
|
||||
EXEEXT = .exe
|
||||
|
||||
|
||||
@@ -3,33 +3,32 @@ ifeq ($(ASM_ARCH), x86)
|
||||
ifeq ($(ENABLE64BIT), Yes)
|
||||
ASMFLAGS += -f win64
|
||||
ASMFLAGS_PLATFORM = -DWIN64
|
||||
CFLAGS += -DWIN64
|
||||
else
|
||||
ASMFLAGS += -f win32 -DPREFIX
|
||||
CFLAGS += -DWIN32
|
||||
endif
|
||||
else
|
||||
CFLAGS += -DWIN32
|
||||
endif
|
||||
ifeq ($(ASM_ARCH), arm)
|
||||
CCAS = gas-preprocessor.pl -as-type armasm -force-thumb -- armasm
|
||||
CCASFLAGS = -nologo -DHAVE_NEON
|
||||
endif
|
||||
|
||||
CC=cl
|
||||
CXX=cl
|
||||
AR=lib
|
||||
CXX_O=-Fo$@
|
||||
# -D_VARIADIC_MAX=10 is required to fix building gtest on MSVC 2012, but
|
||||
# since we don't (easily) know which version of MSVC we use here, we add
|
||||
# it unconditionally. The same issue can also be worked around by adding
|
||||
# -DGTEST_HAS_TR1_TUPLE=0 instead, but we prefer this version since it
|
||||
# matches what gtest itself does.
|
||||
# -DGTEST_HAS_TR1_TUPLE=0 is temporarily broken in gtest,
|
||||
# using _VARIADIC_MAX=10 to fix building on MSVC 2012 meanwhile.
|
||||
# Once gtest works with the former again, it should be preferred.
|
||||
CFLAGS += -nologo -W3 -EHsc -fp:precise -Zc:wchar_t -Zc:forScope -D_VARIADIC_MAX=10
|
||||
CXX_LINK_O=-nologo -Fe$@
|
||||
AR_OPTS=-nologo -out:$@
|
||||
CFLAGS_OPT=-O2 -Ob1 -Oy- -Zi -GF -Gm- -GS -Gy -DNDEBUG
|
||||
CFLAGS_DEBUG=-Od -Oy- -Zi -RTC1 -D_DEBUG
|
||||
CFLAGS_DEBUG=-Od -Oy- -ZI -RTC1 -D_DEBUG
|
||||
CFLAGS_M32=
|
||||
CFLAGS_M64=
|
||||
LINK_LOCAL_DIR=
|
||||
LINK_LIB=$(1).lib
|
||||
LIBSUFFIX=lib
|
||||
LIBPREFIX=
|
||||
|
||||
@@ -191,7 +191,6 @@ long (*GetOption) (ISVCDecoder*, DECODER_OPTION eOptionId, void* pOption);
|
||||
};
|
||||
#endif
|
||||
|
||||
typedef void (*WelsTraceCallback) (void* ctx, int level, const char* string);
|
||||
|
||||
int WelsCreateSVCEncoder (ISVCEncoder** ppEncoder);
|
||||
void WelsDestroySVCEncoder (ISVCEncoder* pEncoder);
|
||||
|
||||
@@ -32,8 +32,9 @@
|
||||
|
||||
#ifndef WELS_VIDEO_CODEC_APPLICATION_DEFINITION_H__
|
||||
#define WELS_VIDEO_CODEC_APPLICATION_DEFINITION_H__
|
||||
|
||||
////////////////Data and /or structures introduced in Cisco OpenH264 application////////////////
|
||||
#include "codec_def.h"
|
||||
|
||||
/* Constants */
|
||||
#define MAX_TEMPORAL_LAYER_NUM 4
|
||||
#define MAX_SPATIAL_LAYER_NUM 4
|
||||
@@ -58,7 +59,6 @@ typedef enum {
|
||||
dsBitstreamError = 0x04, /* Error bitstreams(maybe broken internal frame) the decoder cared */
|
||||
dsDepLayerLost = 0x08, /* Dependented layer is ever lost */
|
||||
dsNoParamSets = 0x10, /* No parameter set NALs involved */
|
||||
dsDataErrorConcealed = 0x20, /* current data Error concealed specified */
|
||||
|
||||
/* Errors derived from logic level */
|
||||
dsInvalidArgument = 0x1000, /* Invalid argument specified */
|
||||
@@ -82,16 +82,10 @@ typedef enum {
|
||||
ENCODER_OPTION_RC_MODE,
|
||||
ENCODER_PADDING_PADDING,
|
||||
|
||||
ENCODER_OPTION_PROFILE,
|
||||
ENCODER_OPTION_LEVEL,
|
||||
ENCODER_OPTION_NUMBER_REF,
|
||||
ENCODER_OPTION_DELIVERY_STATUS,
|
||||
|
||||
ENCODER_LTR_RECOVERY_REQUEST,
|
||||
ENCODER_LTR_MARKING_FEEDBACK,
|
||||
ENCOCER_LTR_MARKING_PERIOD,
|
||||
ENCODER_OPTION_LTR,
|
||||
ENCODER_OPTION_COMPLEXITY,
|
||||
|
||||
ENCODER_OPTION_ENABLE_SSEI, //enable SSEI: true--enable ssei; false--disable ssei
|
||||
ENCODER_OPTION_ENABLE_PREFIX_NAL_ADDING, //enable prefix: true--enable prefix; false--disable prefix
|
||||
@@ -99,9 +93,7 @@ typedef enum {
|
||||
|
||||
ENCODER_OPTION_CURRENT_PATH,
|
||||
ENCODER_OPTION_DUMP_FILE,
|
||||
ENCODER_OPTION_TRACE_LEVEL,
|
||||
ENCODER_OPTION_TRACE_CALLBACK, // a void (*)(void* context, int level, const char* message) function which receives log messages
|
||||
ENCODER_OPTION_TRACE_CALLBACK_CONTEXT,
|
||||
ENCODER_OPTION_TRACE_LEVEL
|
||||
} ENCODER_OPTION;
|
||||
|
||||
/* Option types introduced in decoder application */
|
||||
@@ -115,9 +107,6 @@ typedef enum {
|
||||
DECODER_OPTION_LTR_MARKING_FLAG, // feedback wether current frame mark a LTR
|
||||
DECODER_OPTION_LTR_MARKED_FRAME_NUM, // feedback frame num marked by current Frame
|
||||
DECODER_OPTION_ERROR_CON_IDC, //not finished yet, indicate decoder error concealment status, in progress
|
||||
DECODER_OPTION_TRACE_LEVEL,
|
||||
DECODER_OPTION_TRACE_CALLBACK, // a void (*)(void* context, int level, const char* message) function which receives log messages
|
||||
DECODER_OPTION_TRACE_CALLBACK_CONTEXT,
|
||||
|
||||
} DECODER_OPTION;
|
||||
|
||||
@@ -237,19 +226,6 @@ typedef enum {
|
||||
LEVEL_5_2
|
||||
} ELevelIdc;
|
||||
|
||||
|
||||
enum {
|
||||
WELS_LOG_QUIET = 0x00, // Quiet mode
|
||||
WELS_LOG_ERROR = 1 << 0, // Error log iLevel
|
||||
WELS_LOG_WARNING = 1 << 1, // Warning log iLevel
|
||||
WELS_LOG_INFO = 1 << 2, // Information log iLevel
|
||||
WELS_LOG_DEBUG = 1 << 3, // Debug log, critical algo log
|
||||
WELS_LOG_DETAIL = 1 << 4, // per packet/frame log
|
||||
WELS_LOG_RESV = 1 << 5, // Resversed log iLevel
|
||||
WELS_LOG_LEVEL_COUNT = 6,
|
||||
WELS_LOG_DEFAULT = WELS_LOG_DEBUG // Default log iLevel in Wels codec
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
SliceModeEnum uiSliceMode; //by default, uiSliceMode will be SM_SINGLE_SLICE
|
||||
SSliceArgument sSliceArgument;
|
||||
@@ -273,16 +249,12 @@ typedef enum {
|
||||
SCREEN_CONTENT_REAL_TIME,//screen content signal
|
||||
} EUsageType;
|
||||
|
||||
typedef enum {
|
||||
LOW_COMPLEXITY, //the lowest compleixty,the fastest speed,
|
||||
MEDIUM_COMPLEXITY, //medium complexity, medium speed,medium quality
|
||||
HIGH_COMPLEXITY, //high complexity, lowest speed, high quality
|
||||
} ECOMPLEXITY_MODE;
|
||||
// TODO: Refine the parameters definition.
|
||||
// SVC Encoding Parameters
|
||||
typedef struct TagEncParamBase {
|
||||
EUsageType
|
||||
iUsageType; //application type;// CAMERA_VIDEO_REAL_TIME: //camera video signal; SCREEN_CONTENT_REAL_TIME: screen content signal;
|
||||
int iInputCsp; // color space of input sequence
|
||||
|
||||
int iPicWidth; // width of picture in samples
|
||||
int iPicHeight; // height of picture in samples
|
||||
@@ -296,6 +268,7 @@ typedef struct TagEncParamBase {
|
||||
typedef struct TagEncParamExt {
|
||||
EUsageType
|
||||
iUsageType; //application type;// CAMERA_VIDEO_REAL_TIME: //camera video signal; SCREEN_CONTENT_REAL_TIME: screen content signal;
|
||||
int iInputCsp; // color space of input sequence
|
||||
|
||||
int iPicWidth; // width of picture in samples
|
||||
int iPicHeight; // height of picture in samples
|
||||
@@ -307,9 +280,9 @@ typedef struct TagEncParamExt {
|
||||
int iSpatialLayerNum; // layer number at spatial level
|
||||
SSpatialLayerConfig sSpatialLayers[MAX_SPATIAL_LAYER_NUM];
|
||||
|
||||
ECOMPLEXITY_MODE iComplexityMode;
|
||||
unsigned int uiIntraPeriod; // period of Intra frame
|
||||
int iNumRefFrame; // number of reference frame used
|
||||
unsigned int uiFrameToBeCoded; // frame to be encoded (at input frame rate)
|
||||
bool bEnableSpsPpsIdAddition;
|
||||
bool bPrefixNalAddingCtrl;
|
||||
bool bEnableSSEI;
|
||||
@@ -369,24 +342,24 @@ typedef struct {
|
||||
unsigned char uiSpatialId;
|
||||
unsigned char uiQualityId;
|
||||
|
||||
unsigned char uiPriorityId; //ignore it currently
|
||||
|
||||
unsigned char uiLayerType;
|
||||
|
||||
int iNalCount; // Count number of NAL coded already
|
||||
int* pNalLengthInByte; // Length of NAL size in byte from 0 to iNalCount-1
|
||||
int iNalLengthInByte[MAX_NAL_UNITS_IN_LAYER]; // Length of NAL size in byte from 0 to iNalCount-1
|
||||
unsigned char* pBsBuf; // Buffer of bitstream contained
|
||||
} SLayerBSInfo, *PLayerBSInfo;
|
||||
|
||||
|
||||
typedef struct {
|
||||
int iTemporalId; // Temporal ID
|
||||
//The sub sequence layers are ordered hierarchically based on their dependency on each other so that any picture in a layer shall not be
|
||||
//predicted from any picture on any higher layer.
|
||||
int iSubSeqId; //refer to D.2.11 Sub-sequence information SEI message semantics
|
||||
unsigned char uiFrameType;
|
||||
|
||||
int iLayerNum;
|
||||
SLayerBSInfo sLayerInfo[MAX_LAYER_NUM_OF_FRAME];
|
||||
|
||||
EVideoFrameType eFrameType;
|
||||
int eOutputFrameType;
|
||||
long long uiTimeStamp;
|
||||
} SFrameBSInfo, *PFrameBSInfo;
|
||||
|
||||
@@ -399,29 +372,13 @@ typedef struct Source_Picture_s {
|
||||
long long uiTimeStamp;
|
||||
} SSourcePicture;
|
||||
|
||||
typedef struct TagBitrateInfo {
|
||||
typedef struct Bitrate_Info_s {
|
||||
LAYER_NUM iLayer;
|
||||
int iBitrate; //the maximum bitrate
|
||||
} SBitrateInfo;
|
||||
|
||||
typedef struct TagDumpLayer {
|
||||
typedef struct Dump_Layer_s {
|
||||
int iLayer;
|
||||
char* pFileName;
|
||||
} SDumpLayer;
|
||||
|
||||
typedef struct TagProfileInfo {
|
||||
int iLayer;
|
||||
EProfileIdc uiProfileIdc; //the profile info
|
||||
} SProfileInfo;
|
||||
|
||||
typedef struct TagLevelInfo {
|
||||
int iLayer;
|
||||
ELevelIdc uiLevelIdc; //the level info
|
||||
} SLevelInfo;
|
||||
|
||||
typedef struct TagDeliveryStatus {
|
||||
int iDropNum; //the number of video frames that are dropped continuously before delivery to encoder, which is used by screen content.
|
||||
int iDropFrameType; // the frame type that is dropped
|
||||
int iDropFrameSize; // the frame size that is dropped
|
||||
} SDeliveryStatus;
|
||||
#endif//WELS_VIDEO_CODEC_APPLICATION_DEFINITION_H__
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
android:versionName="1.0">
|
||||
<uses-sdk android:minSdkVersion="12"/>
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
|
||||
<application android:label="@string/app_name">
|
||||
<application android:icon="@drawable/icon" android:label="@string/app_name">
|
||||
<activity android:name=".WelsDecTest"
|
||||
android:label="@string/app_name">
|
||||
<intent-filter>
|
||||
|
||||
@@ -1,2 +1,20 @@
|
||||
# debug/release, default is release
|
||||
ifeq ($(OPTIM_debug),true)
|
||||
APP_OPTIM := debug
|
||||
else
|
||||
APP_OPTIM := release
|
||||
endif
|
||||
|
||||
# x86/armeabi-v7a/armeabi, default is armeabi-v7a
|
||||
ifeq ($(ABI_x86),true)
|
||||
APP_ABI := x86
|
||||
else
|
||||
ifeq ($(ABI_armeabi),true)
|
||||
APP_ABI := armeabi
|
||||
else
|
||||
APP_ABI := armeabi-v7a
|
||||
endif
|
||||
endif
|
||||
|
||||
APP_STL := stlport_shared
|
||||
APP_PLATFORM := android-12
|
||||
|
||||
@@ -4,9 +4,7 @@ LOCAL_PATH := $(call my-dir)
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := wels
|
||||
LOCAL_SRC_FILES := ../../../../../libopenh264.so
|
||||
ifneq (,$(wildcard $(LOCAL_PATH)/$(LOCAL_SRC_FILES)))
|
||||
include $(PREBUILT_SHARED_LIBRARY)
|
||||
endif
|
||||
|
||||
|
||||
|
||||
@@ -22,11 +20,11 @@ LOCAL_MODULE := welsdecdemo
|
||||
#
|
||||
CODEC_PATH := ../../../../
|
||||
CONSOLE_DEC_PATH := ../../../../console/dec
|
||||
CONSOLE_COMMON_PATH := ../../../../console/common
|
||||
LOCAL_SRC_FILES := \
|
||||
$(CONSOLE_DEC_PATH)/src/h264dec.cpp \
|
||||
$(CONSOLE_COMMON_PATH)/src/read_config.cpp \
|
||||
$(CONSOLE_DEC_PATH)/src/read_config.cpp \
|
||||
$(CONSOLE_DEC_PATH)/src/d3d9_utils.cpp \
|
||||
$(CODEC_PATH)/common/src/logging.cpp \
|
||||
myjni.cpp
|
||||
#
|
||||
# Header Includes
|
||||
@@ -34,12 +32,15 @@ LOCAL_SRC_FILES := \
|
||||
LOCAL_C_INCLUDES := \
|
||||
$(LOCAL_PATH)/../../../../api/svc \
|
||||
$(LOCAL_PATH)/../../../../console/dec/inc \
|
||||
$(LOCAL_PATH)/../../../../console/common/inc \
|
||||
$(LOCAL_PATH)/../../../../common/inc
|
||||
#
|
||||
# Compile Flags and Link Libraries
|
||||
#
|
||||
LOCAL_CFLAGS := -DANDROID_NDK
|
||||
LOCAL_CFLAGS := -O3 -DANDROID_NDK
|
||||
|
||||
ifeq ($(TARGET_ARCH_ABI),armeabi-v7a)
|
||||
LOCAL_ARM_MODE := arm
|
||||
endif
|
||||
|
||||
LOCAL_LDLIBS := -llog
|
||||
LOCAL_SHARED_LIBRARIES := wels
|
||||
|
||||
BIN
codec/build/android/dec/res/drawable-hdpi/icon.png
Normal file
BIN
codec/build/android/dec/res/drawable-hdpi/icon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.0 KiB |
BIN
codec/build/android/dec/res/drawable-ldpi/icon.png
Normal file
BIN
codec/build/android/dec/res/drawable-ldpi/icon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.7 KiB |
@@ -1,21 +1,21 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent"
|
||||
android:orientation="vertical" >
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">
|
||||
<Button
|
||||
android:id="@+id/cfg"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Load bitstreams" />
|
||||
<Button
|
||||
android:id="@+id/buttonSW"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Test" />
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent"
|
||||
android:orientation="vertical" >
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">"
|
||||
<Button
|
||||
android:id="@+id/cfg"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Load bitstreams" />
|
||||
<Button
|
||||
android:id="@+id/buttonSW"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Test" />
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name">WelsDecoderTest</string>
|
||||
</resources>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name">WelsDecoderTest</string>
|
||||
</resources>
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
android:versionName="1.0">
|
||||
<uses-sdk android:minSdkVersion="12"/>
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
|
||||
<application android:label="@string/app_name">
|
||||
<application android:icon="@drawable/icon" android:label="@string/app_name">
|
||||
<activity android:name=".WelsEncTest"
|
||||
android:label="@string/app_name">
|
||||
<intent-filter>
|
||||
|
||||
@@ -1,2 +1,20 @@
|
||||
# debug/release, default is release
|
||||
ifeq ($(OPTIM_debug),true)
|
||||
APP_OPTIM := debug
|
||||
else
|
||||
APP_OPTIM := release
|
||||
endif
|
||||
|
||||
# x86/armeabi-v7a/armeabi, default is armeabi-v7a
|
||||
ifeq ($(ABI_x86),true)
|
||||
APP_ABI := x86
|
||||
else
|
||||
ifeq ($(ABI_armeabi),true)
|
||||
APP_ABI := armeabi
|
||||
else
|
||||
APP_ABI := armeabi-v7a
|
||||
endif
|
||||
endif
|
||||
|
||||
APP_STL := stlport_shared
|
||||
APP_PLATFORM := android-12
|
||||
|
||||
@@ -1,12 +1,10 @@
|
||||
# Generate the libwelsencdemo.so file
|
||||
# Generate the libwelsdecdemo.so file
|
||||
LOCAL_PATH := $(call my-dir)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := wels
|
||||
LOCAL_SRC_FILES := ../../../../../libopenh264.so
|
||||
ifneq (,$(wildcard $(LOCAL_PATH)/$(LOCAL_SRC_FILES)))
|
||||
include $(PREBUILT_SHARED_LIBRARY)
|
||||
endif
|
||||
|
||||
|
||||
|
||||
@@ -22,10 +20,10 @@ LOCAL_MODULE := welsencdemo
|
||||
#
|
||||
CODEC_PATH := ../../../../
|
||||
CONSOLE_ENC_PATH := ../../../../console/enc
|
||||
CONSOLE_COMMON_PATH := ../../../../console/common
|
||||
LOCAL_SRC_FILES := \
|
||||
$(CONSOLE_ENC_PATH)/src/welsenc.cpp \
|
||||
$(CONSOLE_COMMON_PATH)/src/read_config.cpp \
|
||||
$(CONSOLE_ENC_PATH)/src/read_config.cpp \
|
||||
$(CODEC_PATH)/common/src/logging.cpp \
|
||||
myjni.cpp
|
||||
|
||||
#
|
||||
@@ -34,7 +32,6 @@ LOCAL_SRC_FILES := \
|
||||
LOCAL_C_INCLUDES := \
|
||||
$(LOCAL_PATH)/../../../../api/svc \
|
||||
$(LOCAL_PATH)/../../../../console/enc/inc \
|
||||
$(LOCAL_PATH)/../../../../console/common/inc \
|
||||
$(LOCAL_PATH)/../../../../encoder/core/inc \
|
||||
$(LOCAL_PATH)/../../../../processing/interface \
|
||||
$(LOCAL_PATH)/../../../../common/inc
|
||||
@@ -43,7 +40,11 @@ LOCAL_C_INCLUDES := \
|
||||
#
|
||||
# Compile Flags and Link Libraries
|
||||
#
|
||||
LOCAL_CFLAGS := -DANDROID_NDK
|
||||
LOCAL_CFLAGS := -O3 -DANDROID_NDK
|
||||
|
||||
ifeq ($(TARGET_ARCH_ABI),armeabi-v7a)
|
||||
LOCAL_ARM_MODE := arm
|
||||
endif
|
||||
|
||||
LOCAL_LDLIBS := -llog
|
||||
LOCAL_SHARED_LIBRARIES := wels
|
||||
|
||||
BIN
codec/build/android/enc/res/drawable-hdpi/icon.png
Normal file
BIN
codec/build/android/enc/res/drawable-hdpi/icon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.0 KiB |
BIN
codec/build/android/enc/res/drawable-ldpi/icon.png
Normal file
BIN
codec/build/android/enc/res/drawable-ldpi/icon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.7 KiB |
@@ -1,21 +1,21 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent"
|
||||
android:orientation="vertical" >
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">
|
||||
<Button
|
||||
android:id="@+id/cfg"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Load bitstreams" />
|
||||
<Button
|
||||
android:id="@+id/buttonSW"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Test" />
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent"
|
||||
android:orientation="vertical" >
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">"
|
||||
<Button
|
||||
android:id="@+id/cfg"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Load bitstreams" />
|
||||
<Button
|
||||
android:id="@+id/buttonSW"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Test" />
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name">WelsEncoderTest</string>
|
||||
</resources>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name">WelsEncoderTest</string>
|
||||
</resources>
|
||||
|
||||
@@ -14,20 +14,33 @@
|
||||
4C3406CD18D96EA600DFA14A /* cpu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4C3406C418D96EA600DFA14A /* cpu.cpp */; };
|
||||
4C3406CE18D96EA600DFA14A /* crt_util_safe_x.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4C3406C518D96EA600DFA14A /* crt_util_safe_x.cpp */; };
|
||||
4C3406CF18D96EA600DFA14A /* deblocking_common.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4C3406C618D96EA600DFA14A /* deblocking_common.cpp */; };
|
||||
4C3406D018D96EA600DFA14A /* logging.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4C3406C718D96EA600DFA14A /* logging.cpp */; };
|
||||
4C3406D118D96EA600DFA14A /* WelsThreadLib.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4C3406C818D96EA600DFA14A /* WelsThreadLib.cpp */; };
|
||||
4CC61F0918FF6B4B00E56EAB /* copy_mb_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = 4CC61F0818FF6B4B00E56EAB /* copy_mb_neon.S */; };
|
||||
4CE443D918B722CD0017DF25 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4CE443D818B722CD0017DF25 /* Foundation.framework */; };
|
||||
53C1C9BC193F0FB000404D8F /* expand_pic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 53C1C9BB193F0FB000404D8F /* expand_pic.cpp */; };
|
||||
5BA8F2C019603F5F00011CE4 /* common_tables.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5BA8F2BF19603F5F00011CE4 /* common_tables.cpp */; };
|
||||
4CE443E718B722CD0017DF25 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4CE443E618B722CD0017DF25 /* XCTest.framework */; };
|
||||
4CE443E818B722CD0017DF25 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4CE443D818B722CD0017DF25 /* Foundation.framework */; };
|
||||
4CE443EA18B722CD0017DF25 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4CE443E918B722CD0017DF25 /* UIKit.framework */; };
|
||||
4CE443ED18B722CD0017DF25 /* libcommon.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4CE443D518B722CD0017DF25 /* libcommon.a */; };
|
||||
4CE443F318B722CD0017DF25 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 4CE443F118B722CD0017DF25 /* InfoPlist.strings */; };
|
||||
4CE443F518B722CD0017DF25 /* commonTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CE443F418B722CD0017DF25 /* commonTests.m */; };
|
||||
F0B204F918FD23BF005DA23F /* copy_mb.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F0B204F818FD23BF005DA23F /* copy_mb.cpp */; };
|
||||
F556A8241906673900E156A8 /* arm_arch64_common_macro.S in Sources */ = {isa = PBXBuildFile; fileRef = F556A8221906673900E156A8 /* arm_arch64_common_macro.S */; };
|
||||
F556A8251906673900E156A8 /* expand_picture_aarch64_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = F556A8231906673900E156A8 /* expand_picture_aarch64_neon.S */; };
|
||||
F5AC94FF193EB7D800F58154 /* deblocking_aarch64_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = F5AC94FE193EB7D800F58154 /* deblocking_aarch64_neon.S */; };
|
||||
F5B8D82D190757290037849A /* mc_aarch64_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = F5B8D82C190757290037849A /* mc_aarch64_neon.S */; };
|
||||
F5BB0BB8196BB5960072D50D /* copy_mb_aarch64_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = F5BB0BB7196BB5960072D50D /* copy_mb_aarch64_neon.S */; };
|
||||
FAABAA1818E9354A00D4186F /* sad_common.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FAABAA1718E9354A00D4186F /* sad_common.cpp */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXContainerItemProxy section */
|
||||
4CE443EB18B722CD0017DF25 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = 4CE443CD18B722CC0017DF25 /* Project object */;
|
||||
proxyType = 1;
|
||||
remoteGlobalIDString = 4CE443D418B722CD0017DF25;
|
||||
remoteInfo = common;
|
||||
};
|
||||
/* End PBXContainerItemProxy section */
|
||||
|
||||
/* Begin PBXCopyFilesBuildPhase section */
|
||||
4CE443D318B722CD0017DF25 /* CopyFiles */ = {
|
||||
isa = PBXCopyFilesBuildPhase;
|
||||
@@ -49,6 +62,8 @@
|
||||
4C3406B818D96EA600DFA14A /* cpu_core.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cpu_core.h; sourceTree = "<group>"; };
|
||||
4C3406B918D96EA600DFA14A /* crt_util_safe_x.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crt_util_safe_x.h; sourceTree = "<group>"; };
|
||||
4C3406BA18D96EA600DFA14A /* deblocking_common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = deblocking_common.h; sourceTree = "<group>"; };
|
||||
4C3406BB18D96EA600DFA14A /* expand_picture_common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = expand_picture_common.h; sourceTree = "<group>"; };
|
||||
4C3406BC18D96EA600DFA14A /* logging.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = logging.h; sourceTree = "<group>"; };
|
||||
4C3406BD18D96EA600DFA14A /* ls_defines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ls_defines.h; sourceTree = "<group>"; };
|
||||
4C3406BE18D96EA600DFA14A /* macros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = macros.h; sourceTree = "<group>"; };
|
||||
4C3406BF18D96EA600DFA14A /* mc_common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mc_common.h; sourceTree = "<group>"; };
|
||||
@@ -58,22 +73,22 @@
|
||||
4C3406C418D96EA600DFA14A /* cpu.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = cpu.cpp; sourceTree = "<group>"; };
|
||||
4C3406C518D96EA600DFA14A /* crt_util_safe_x.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = crt_util_safe_x.cpp; sourceTree = "<group>"; };
|
||||
4C3406C618D96EA600DFA14A /* deblocking_common.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = deblocking_common.cpp; sourceTree = "<group>"; };
|
||||
4C3406C718D96EA600DFA14A /* logging.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = logging.cpp; sourceTree = "<group>"; };
|
||||
4C3406C818D96EA600DFA14A /* WelsThreadLib.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WelsThreadLib.cpp; sourceTree = "<group>"; };
|
||||
4CC61F0818FF6B4B00E56EAB /* copy_mb_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = copy_mb_neon.S; sourceTree = "<group>"; };
|
||||
4CE443D518B722CD0017DF25 /* libcommon.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libcommon.a; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
4CE443D818B722CD0017DF25 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
|
||||
4CE443E518B722CD0017DF25 /* commonTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = commonTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
4CE443E618B722CD0017DF25 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; };
|
||||
4CE443E918B722CD0017DF25 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; };
|
||||
53C1C9BA193F0F9E00404D8F /* expand_pic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = expand_pic.h; sourceTree = "<group>"; };
|
||||
53C1C9BB193F0FB000404D8F /* expand_pic.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = expand_pic.cpp; sourceTree = "<group>"; };
|
||||
5BA8F2BE19603F3500011CE4 /* wels_common_defs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wels_common_defs.h; sourceTree = "<group>"; };
|
||||
5BA8F2BF19603F5F00011CE4 /* common_tables.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = common_tables.cpp; sourceTree = "<group>"; };
|
||||
4CE443F018B722CD0017DF25 /* commonTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "commonTests-Info.plist"; sourceTree = "<group>"; };
|
||||
4CE443F218B722CD0017DF25 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||
4CE443F418B722CD0017DF25 /* commonTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = commonTests.m; sourceTree = "<group>"; };
|
||||
F0B204F718FD23B6005DA23F /* copy_mb.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = copy_mb.h; sourceTree = "<group>"; };
|
||||
F0B204F818FD23BF005DA23F /* copy_mb.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = copy_mb.cpp; sourceTree = "<group>"; };
|
||||
F556A8221906673900E156A8 /* arm_arch64_common_macro.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = arm_arch64_common_macro.S; path = arm64/arm_arch64_common_macro.S; sourceTree = "<group>"; };
|
||||
F556A8231906673900E156A8 /* expand_picture_aarch64_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = expand_picture_aarch64_neon.S; path = arm64/expand_picture_aarch64_neon.S; sourceTree = "<group>"; };
|
||||
F5AC94FE193EB7D800F58154 /* deblocking_aarch64_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = deblocking_aarch64_neon.S; path = arm64/deblocking_aarch64_neon.S; sourceTree = "<group>"; };
|
||||
F5B8D82C190757290037849A /* mc_aarch64_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = mc_aarch64_neon.S; path = arm64/mc_aarch64_neon.S; sourceTree = "<group>"; };
|
||||
F5BB0BB7196BB5960072D50D /* copy_mb_aarch64_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = copy_mb_aarch64_neon.S; path = arm64/copy_mb_aarch64_neon.S; sourceTree = "<group>"; };
|
||||
FAABAA1618E9353F00D4186F /* sad_common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sad_common.h; sourceTree = "<group>"; };
|
||||
FAABAA1718E9354A00D4186F /* sad_common.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = sad_common.cpp; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
@@ -87,6 +102,17 @@
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
4CE443E218B722CD0017DF25 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
4CE443E718B722CD0017DF25 /* XCTest.framework in Frameworks */,
|
||||
4CE443EA18B722CD0017DF25 /* UIKit.framework in Frameworks */,
|
||||
4CE443ED18B722CD0017DF25 /* libcommon.a in Frameworks */,
|
||||
4CE443E818B722CD0017DF25 /* Foundation.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
@@ -110,14 +136,14 @@
|
||||
4C3406B718D96EA600DFA14A /* cpu.h */,
|
||||
4C3406B818D96EA600DFA14A /* cpu_core.h */,
|
||||
4C3406B918D96EA600DFA14A /* crt_util_safe_x.h */,
|
||||
53C1C9BA193F0F9E00404D8F /* expand_pic.h */,
|
||||
4C3406BA18D96EA600DFA14A /* deblocking_common.h */,
|
||||
4C3406BB18D96EA600DFA14A /* expand_picture_common.h */,
|
||||
4C3406BC18D96EA600DFA14A /* logging.h */,
|
||||
4C3406BD18D96EA600DFA14A /* ls_defines.h */,
|
||||
4C3406BE18D96EA600DFA14A /* macros.h */,
|
||||
4C3406BF18D96EA600DFA14A /* mc_common.h */,
|
||||
4C3406C018D96EA600DFA14A /* measure_time.h */,
|
||||
4C3406C118D96EA600DFA14A /* typedefs.h */,
|
||||
5BA8F2BE19603F3500011CE4 /* wels_common_defs.h */,
|
||||
4C3406C218D96EA600DFA14A /* WelsThreadLib.h */,
|
||||
);
|
||||
path = inc;
|
||||
@@ -126,13 +152,12 @@
|
||||
4C3406C318D96EA600DFA14A /* src */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
5BA8F2BF19603F5F00011CE4 /* common_tables.cpp */,
|
||||
F0B204F818FD23BF005DA23F /* copy_mb.cpp */,
|
||||
FAABAA1718E9354A00D4186F /* sad_common.cpp */,
|
||||
4C3406C418D96EA600DFA14A /* cpu.cpp */,
|
||||
4C3406C518D96EA600DFA14A /* crt_util_safe_x.cpp */,
|
||||
53C1C9BB193F0FB000404D8F /* expand_pic.cpp */,
|
||||
4C3406C618D96EA600DFA14A /* deblocking_common.cpp */,
|
||||
4C3406C718D96EA600DFA14A /* logging.cpp */,
|
||||
4C3406C818D96EA600DFA14A /* WelsThreadLib.cpp */,
|
||||
);
|
||||
path = src;
|
||||
@@ -142,6 +167,7 @@
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4CE4472F18BC61650017DF25 /* common */,
|
||||
4CE443EE18B722CD0017DF25 /* commonTests */,
|
||||
4CE443D718B722CD0017DF25 /* Frameworks */,
|
||||
4CE443D618B722CD0017DF25 /* Products */,
|
||||
);
|
||||
@@ -151,6 +177,7 @@
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4CE443D518B722CD0017DF25 /* libcommon.a */,
|
||||
4CE443E518B722CD0017DF25 /* commonTests.xctest */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
@@ -159,11 +186,30 @@
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4CE443D818B722CD0017DF25 /* Foundation.framework */,
|
||||
4CE443E618B722CD0017DF25 /* XCTest.framework */,
|
||||
4CE443E918B722CD0017DF25 /* UIKit.framework */,
|
||||
);
|
||||
name = Frameworks;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
4CE443EE18B722CD0017DF25 /* commonTests */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4CE443F418B722CD0017DF25 /* commonTests.m */,
|
||||
4CE443EF18B722CD0017DF25 /* Supporting Files */,
|
||||
);
|
||||
path = commonTests;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
4CE443EF18B722CD0017DF25 /* Supporting Files */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4CE443F018B722CD0017DF25 /* commonTests-Info.plist */,
|
||||
4CE443F118B722CD0017DF25 /* InfoPlist.strings */,
|
||||
);
|
||||
name = "Supporting Files";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
4CE4472F18BC61650017DF25 /* common */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
@@ -179,8 +225,6 @@
|
||||
F556A81D1906669F00E156A8 /* arm64 */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
F5BB0BB7196BB5960072D50D /* copy_mb_aarch64_neon.S */,
|
||||
F5AC94FE193EB7D800F58154 /* deblocking_aarch64_neon.S */,
|
||||
F5B8D82C190757290037849A /* mc_aarch64_neon.S */,
|
||||
F556A8221906673900E156A8 /* arm_arch64_common_macro.S */,
|
||||
F556A8231906673900E156A8 /* expand_picture_aarch64_neon.S */,
|
||||
@@ -208,13 +252,31 @@
|
||||
productReference = 4CE443D518B722CD0017DF25 /* libcommon.a */;
|
||||
productType = "com.apple.product-type.library.static";
|
||||
};
|
||||
4CE443E418B722CD0017DF25 /* commonTests */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 4CE443FB18B722CD0017DF25 /* Build configuration list for PBXNativeTarget "commonTests" */;
|
||||
buildPhases = (
|
||||
4CE443E118B722CD0017DF25 /* Sources */,
|
||||
4CE443E218B722CD0017DF25 /* Frameworks */,
|
||||
4CE443E318B722CD0017DF25 /* Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
4CE443EC18B722CD0017DF25 /* PBXTargetDependency */,
|
||||
);
|
||||
name = commonTests;
|
||||
productName = commonTests;
|
||||
productReference = 4CE443E518B722CD0017DF25 /* commonTests.xctest */;
|
||||
productType = "com.apple.product-type.bundle.unit-test";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
4CE443CD18B722CC0017DF25 /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
LastUpgradeCheck = 0510;
|
||||
LastUpgradeCheck = 0500;
|
||||
ORGANIZATIONNAME = video;
|
||||
};
|
||||
buildConfigurationList = 4CE443D018B722CC0017DF25 /* Build configuration list for PBXProject "common" */;
|
||||
@@ -230,10 +292,22 @@
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
4CE443D418B722CD0017DF25 /* common */,
|
||||
4CE443E418B722CD0017DF25 /* commonTests */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
||||
/* Begin PBXResourcesBuildPhase section */
|
||||
4CE443E318B722CD0017DF25 /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
4CE443F318B722CD0017DF25 /* InfoPlist.strings in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXResourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
4CE443D118B722CD0017DF25 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
@@ -242,16 +316,13 @@
|
||||
F5B8D82D190757290037849A /* mc_aarch64_neon.S in Sources */,
|
||||
4C3406C918D96EA600DFA14A /* arm_arch_common_macro.S in Sources */,
|
||||
F556A8241906673900E156A8 /* arm_arch64_common_macro.S in Sources */,
|
||||
F5AC94FF193EB7D800F58154 /* deblocking_aarch64_neon.S in Sources */,
|
||||
4C3406CE18D96EA600DFA14A /* crt_util_safe_x.cpp in Sources */,
|
||||
4C3406CF18D96EA600DFA14A /* deblocking_common.cpp in Sources */,
|
||||
5BA8F2C019603F5F00011CE4 /* common_tables.cpp in Sources */,
|
||||
4C3406D018D96EA600DFA14A /* logging.cpp in Sources */,
|
||||
4C3406D118D96EA600DFA14A /* WelsThreadLib.cpp in Sources */,
|
||||
4C3406CC18D96EA600DFA14A /* mc_neon.S in Sources */,
|
||||
F5BB0BB8196BB5960072D50D /* copy_mb_aarch64_neon.S in Sources */,
|
||||
4C3406CB18D96EA600DFA14A /* expand_picture_neon.S in Sources */,
|
||||
4CC61F0918FF6B4B00E56EAB /* copy_mb_neon.S in Sources */,
|
||||
53C1C9BC193F0FB000404D8F /* expand_pic.cpp in Sources */,
|
||||
4C3406CD18D96EA600DFA14A /* cpu.cpp in Sources */,
|
||||
F556A8251906673900E156A8 /* expand_picture_aarch64_neon.S in Sources */,
|
||||
4C3406CA18D96EA600DFA14A /* deblocking_neon.S in Sources */,
|
||||
@@ -260,13 +331,41 @@
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
4CE443E118B722CD0017DF25 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
4CE443F518B722CD0017DF25 /* commonTests.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXTargetDependency section */
|
||||
4CE443EC18B722CD0017DF25 /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
target = 4CE443D418B722CD0017DF25 /* common */;
|
||||
targetProxy = 4CE443EB18B722CD0017DF25 /* PBXContainerItemProxy */;
|
||||
};
|
||||
/* End PBXTargetDependency section */
|
||||
|
||||
/* Begin PBXVariantGroup section */
|
||||
4CE443F118B722CD0017DF25 /* InfoPlist.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
4CE443F218B722CD0017DF25 /* en */,
|
||||
);
|
||||
name = InfoPlist.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXVariantGroup section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
4CE443F618B722CD0017DF25 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)";
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
@@ -304,6 +403,7 @@
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)";
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
@@ -334,6 +434,7 @@
|
||||
4CE443F918B722CD0017DF25 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD)";
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "compiler-default";
|
||||
CLANG_CXX_LIBRARY = "compiler-default";
|
||||
CODE_SIGN_IDENTITY = "iPhone Developer";
|
||||
@@ -365,6 +466,7 @@
|
||||
4CE443FA18B722CD0017DF25 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD)";
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "compiler-default";
|
||||
CLANG_CXX_LIBRARY = "compiler-default";
|
||||
CODE_SIGN_IDENTITY = "iPhone Developer";
|
||||
@@ -390,6 +492,44 @@
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
4CE443FC18B722CD0017DF25 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)";
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(SDKROOT)/Developer/Library/Frameworks",
|
||||
"$(inherited)",
|
||||
"$(DEVELOPER_FRAMEWORKS_DIR)",
|
||||
);
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "common/common-Prefix.pch";
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"DEBUG=1",
|
||||
"$(inherited)",
|
||||
);
|
||||
INFOPLIST_FILE = "commonTests/commonTests-Info.plist";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
WRAPPER_EXTENSION = xctest;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
4CE443FD18B722CD0017DF25 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)";
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(SDKROOT)/Developer/Library/Frameworks",
|
||||
"$(inherited)",
|
||||
"$(DEVELOPER_FRAMEWORKS_DIR)",
|
||||
);
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "common/common-Prefix.pch";
|
||||
INFOPLIST_FILE = "commonTests/commonTests-Info.plist";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
WRAPPER_EXTENSION = xctest;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
@@ -411,6 +551,15 @@
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
4CE443FB18B722CD0017DF25 /* Build configuration list for PBXNativeTarget "commonTests" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
4CE443FC18B722CD0017DF25 /* Debug */,
|
||||
4CE443FD18B722CD0017DF25 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = 4CE443CD18B722CC0017DF25 /* Project object */;
|
||||
|
||||
22
codec/build/iOS/common/commonTests/commonTests-Info.plist
Normal file
22
codec/build/iOS/common/commonTests/commonTests-Info.plist
Normal file
@@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>cisco.${PRODUCT_NAME:rfc1034identifier}</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>BNDL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1</string>
|
||||
</dict>
|
||||
</plist>
|
||||
58
codec/build/iOS/common/commonTests/commonTests.m
Normal file
58
codec/build/iOS/common/commonTests/commonTests.m
Normal file
@@ -0,0 +1,58 @@
|
||||
/*!
|
||||
* \copy
|
||||
* Copyright (c) 2013, Cisco Systems
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
*/
|
||||
|
||||
#import <XCTest/XCTest.h>
|
||||
|
||||
@interface commonTests : XCTestCase
|
||||
|
||||
@end
|
||||
|
||||
@implementation commonTests
|
||||
|
||||
- (void)setUp
|
||||
{
|
||||
[super setUp];
|
||||
// Put setup code here. This method is called before the invocation of each test method in the class.
|
||||
}
|
||||
|
||||
- (void)tearDown
|
||||
{
|
||||
// Put teardown code here. This method is called after the invocation of each test method in the class.
|
||||
[super tearDown];
|
||||
}
|
||||
|
||||
- (void)testExample
|
||||
{
|
||||
XCTFail(@"No implementation for \"%s\"", __PRETTY_FUNCTION__);
|
||||
}
|
||||
|
||||
@end
|
||||
@@ -35,6 +35,13 @@
|
||||
remoteGlobalIDString = 4CE443D518B722CD0017DF25;
|
||||
remoteInfo = common;
|
||||
};
|
||||
4CE444F718B72A900017DF25 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = 4CE444F018B72A8F0017DF25 /* common.xcodeproj */;
|
||||
proxyType = 2;
|
||||
remoteGlobalIDString = 4CE443E518B722CD0017DF25;
|
||||
remoteInfo = commonTests;
|
||||
};
|
||||
4CE444FF18B72AD70017DF25 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = 4CE444FA18B72AD70017DF25 /* welsdec.xcodeproj */;
|
||||
@@ -42,6 +49,13 @@
|
||||
remoteGlobalIDString = 4CE4427918B6FC360017DF25;
|
||||
remoteInfo = welsdec;
|
||||
};
|
||||
4CE4450118B72AD70017DF25 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = 4CE444FA18B72AD70017DF25 /* welsdec.xcodeproj */;
|
||||
proxyType = 2;
|
||||
remoteGlobalIDString = 4CE4428918B6FC360017DF25;
|
||||
remoteInfo = welsdecTests;
|
||||
};
|
||||
/* End PBXContainerItemProxy section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
@@ -64,10 +78,10 @@
|
||||
F0E663671810EFA5000C888E /* DEMOViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DEMOViewController.h; sourceTree = "<group>"; };
|
||||
F0E663681810EFA5000C888E /* DEMOViewController.m */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; path = DEMOViewController.m; sourceTree = "<group>"; };
|
||||
F0E663721810EFF7000C888E /* d3d9_utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = d3d9_utils.h; sourceTree = "<group>"; };
|
||||
F0E663741810EFF7000C888E /* read_config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = read_config.h; path = ../../common/inc/read_config.h; sourceTree = "<group>"; };
|
||||
F0E663741810EFF7000C888E /* read_config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = read_config.h; sourceTree = "<group>"; };
|
||||
F0E663761810EFF7000C888E /* d3d9_utils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = d3d9_utils.cpp; sourceTree = "<group>"; };
|
||||
F0E663771810EFF7000C888E /* h264dec.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = h264dec.cpp; sourceTree = "<group>"; };
|
||||
F0E663791810EFF7000C888E /* read_config.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = read_config.cpp; path = ../../common/src/read_config.cpp; sourceTree = "<group>"; };
|
||||
F0E663791810EFF7000C888E /* read_config.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = read_config.cpp; sourceTree = "<group>"; };
|
||||
F0E663B3181117B9000C888E /* DEMOViewControllerShowResource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DEMOViewControllerShowResource.h; sourceTree = "<group>"; };
|
||||
F0E663B4181117B9000C888E /* DEMOViewControllerShowResource.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DEMOViewControllerShowResource.m; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
@@ -92,6 +106,7 @@
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4CE444F618B72A900017DF25 /* libcommon.a */,
|
||||
4CE444F818B72A900017DF25 /* commonTests.xctest */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
@@ -100,6 +115,7 @@
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4CE4450018B72AD70017DF25 /* libwelsdec.a */,
|
||||
4CE4450218B72AD70017DF25 /* welsdecTests.xctest */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
@@ -257,6 +273,13 @@
|
||||
remoteRef = 4CE444F518B72A900017DF25 /* PBXContainerItemProxy */;
|
||||
sourceTree = BUILT_PRODUCTS_DIR;
|
||||
};
|
||||
4CE444F818B72A900017DF25 /* commonTests.xctest */ = {
|
||||
isa = PBXReferenceProxy;
|
||||
fileType = wrapper.cfbundle;
|
||||
path = commonTests.xctest;
|
||||
remoteRef = 4CE444F718B72A900017DF25 /* PBXContainerItemProxy */;
|
||||
sourceTree = BUILT_PRODUCTS_DIR;
|
||||
};
|
||||
4CE4450018B72AD70017DF25 /* libwelsdec.a */ = {
|
||||
isa = PBXReferenceProxy;
|
||||
fileType = archive.ar;
|
||||
@@ -264,6 +287,13 @@
|
||||
remoteRef = 4CE444FF18B72AD70017DF25 /* PBXContainerItemProxy */;
|
||||
sourceTree = BUILT_PRODUCTS_DIR;
|
||||
};
|
||||
4CE4450218B72AD70017DF25 /* welsdecTests.xctest */ = {
|
||||
isa = PBXReferenceProxy;
|
||||
fileType = wrapper.cfbundle;
|
||||
path = welsdecTests.xctest;
|
||||
remoteRef = 4CE4450118B72AD70017DF25 /* PBXContainerItemProxy */;
|
||||
sourceTree = BUILT_PRODUCTS_DIR;
|
||||
};
|
||||
/* End PBXReferenceProxy section */
|
||||
|
||||
/* Begin PBXResourcesBuildPhase section */
|
||||
|
||||
@@ -34,6 +34,6 @@
|
||||
|
||||
@interface DEMOAppDelegate : UIResponder <UIApplicationDelegate>
|
||||
|
||||
@property (strong, nonatomic) UIWindow* window;
|
||||
@property (strong, nonatomic) UIWindow *window;
|
||||
|
||||
@end
|
||||
|
||||
@@ -32,17 +32,18 @@
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
@interface DEMOViewController : UIViewController {
|
||||
BOOL bEnableFlag;
|
||||
@interface DEMOViewController : UIViewController
|
||||
{
|
||||
BOOL bEnableFlag;
|
||||
}
|
||||
@property (strong, nonatomic) NSMutableArray* resFileArray;
|
||||
@property (retain, nonatomic)UIAlertView* statusIndication;
|
||||
@property (strong, nonatomic) NSMutableArray *resFileArray;
|
||||
@property (retain, nonatomic)UIAlertView *statusIndication;
|
||||
@property (assign, nonatomic) NSUInteger selectedRow;
|
||||
|
||||
- (IBAction)startDecoderAll: (id)sender;
|
||||
- (IBAction)startDecoderOne: (id)sender;
|
||||
@property (weak, nonatomic) IBOutlet UITextField* currentSelectedFileTF;
|
||||
- (IBAction)startDecoderAll:(id)sender;
|
||||
- (IBAction)startDecoderOne:(id)sender;
|
||||
@property (weak, nonatomic) IBOutlet UITextField *currentSelectedFileTF;
|
||||
|
||||
//unwind segue
|
||||
- (IBAction)unwindSegueForShowResourceViewController: (UIStoryboardSegue*)segue;
|
||||
- (IBAction)unwindSegueForShowResourceViewController:(UIStoryboardSegue *)segue;
|
||||
@end
|
||||
|
||||
@@ -33,6 +33,6 @@
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
@interface DEMOViewControllerShowResource : UITableViewController
|
||||
@property (strong, nonatomic) NSMutableArray* resFileArray;
|
||||
@property (strong, nonatomic) NSMutableArray *resFileArray;
|
||||
@property (assign, nonatomic) NSUInteger selectedRow;
|
||||
@end
|
||||
|
||||
@@ -7,8 +7,13 @@
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
4CBC1B81194AC4E100214D9E /* intra_pred_aarch64_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = 4CBC1B80194AC4E100214D9E /* intra_pred_aarch64_neon.S */; };
|
||||
4CE4427D18B6FC360017DF25 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4CE4427C18B6FC360017DF25 /* Foundation.framework */; };
|
||||
4CE4428B18B6FC360017DF25 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4CE4428A18B6FC360017DF25 /* XCTest.framework */; };
|
||||
4CE4428C18B6FC360017DF25 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4CE4427C18B6FC360017DF25 /* Foundation.framework */; };
|
||||
4CE4428E18B6FC360017DF25 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4CE4428D18B6FC360017DF25 /* UIKit.framework */; };
|
||||
4CE4429118B6FC360017DF25 /* libwelsdec.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4CE4427918B6FC360017DF25 /* libwelsdec.a */; };
|
||||
4CE4429718B6FC360017DF25 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 4CE4429518B6FC360017DF25 /* InfoPlist.strings */; };
|
||||
4CE4429918B6FC360017DF25 /* welsdecTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4429818B6FC360017DF25 /* welsdecTests.m */; };
|
||||
4CE4468A18BC5EAB0017DF25 /* au_parser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4466718BC5EAA0017DF25 /* au_parser.cpp */; };
|
||||
4CE4468B18BC5EAB0017DF25 /* bit_stream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4466818BC5EAA0017DF25 /* bit_stream.cpp */; };
|
||||
4CE4468C18BC5EAB0017DF25 /* deblocking.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4466918BC5EAA0017DF25 /* deblocking.cpp */; };
|
||||
@@ -17,6 +22,7 @@
|
||||
4CE4468F18BC5EAB0017DF25 /* decoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4466C18BC5EAA0017DF25 /* decoder.cpp */; };
|
||||
4CE4469018BC5EAB0017DF25 /* decoder_core.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4466D18BC5EAA0017DF25 /* decoder_core.cpp */; };
|
||||
4CE4469118BC5EAB0017DF25 /* decoder_data_tables.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4466E18BC5EAA0017DF25 /* decoder_data_tables.cpp */; };
|
||||
4CE4469218BC5EAB0017DF25 /* expand_pic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4466F18BC5EAA0017DF25 /* expand_pic.cpp */; };
|
||||
4CE4469318BC5EAB0017DF25 /* fmo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4467018BC5EAA0017DF25 /* fmo.cpp */; };
|
||||
4CE4469418BC5EAB0017DF25 /* get_intra_predictor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4467118BC5EAA0017DF25 /* get_intra_predictor.cpp */; };
|
||||
4CE4469518BC5EAB0017DF25 /* manage_dec_ref.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4467218BC5EAA0017DF25 /* manage_dec_ref.cpp */; };
|
||||
@@ -27,15 +33,24 @@
|
||||
4CE4469A18BC5EAB0017DF25 /* parse_mb_syn_cavlc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4467718BC5EAA0017DF25 /* parse_mb_syn_cavlc.cpp */; };
|
||||
4CE4469B18BC5EAB0017DF25 /* pic_queue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4467818BC5EAA0017DF25 /* pic_queue.cpp */; };
|
||||
4CE4469C18BC5EAB0017DF25 /* rec_mb.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4467918BC5EAA0017DF25 /* rec_mb.cpp */; };
|
||||
4CE4469D18BC5EAB0017DF25 /* utils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4467A18BC5EAA0017DF25 /* utils.cpp */; };
|
||||
4CE4469E18BC5EAB0017DF25 /* welsCodecTrace.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4468418BC5EAB0017DF25 /* welsCodecTrace.cpp */; };
|
||||
4CE4469F18BC5EAB0017DF25 /* welsDecoderExt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4468518BC5EAB0017DF25 /* welsDecoderExt.cpp */; };
|
||||
4CE447AC18BC6BE90017DF25 /* block_add_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = 4CE447A718BC6BE90017DF25 /* block_add_neon.S */; };
|
||||
4CE447AE18BC6BE90017DF25 /* intra_pred_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = 4CE447A918BC6BE90017DF25 /* intra_pred_neon.S */; };
|
||||
9ABF4382193EB60900A6BD61 /* expand_pic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9ABF4381193EB60900A6BD61 /* expand_pic.cpp */; };
|
||||
9AED66561946A1DE009A3567 /* welsCodecTrace.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9AED66551946A1DE009A3567 /* welsCodecTrace.cpp */; };
|
||||
9AED66591946A203009A3567 /* utils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9AED66581946A203009A3567 /* utils.cpp */; };
|
||||
F0B204FC18FD23D8005DA23F /* error_concealment.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F0B204FB18FD23D8005DA23F /* error_concealment.cpp */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXContainerItemProxy section */
|
||||
4CE4428F18B6FC360017DF25 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = 4CE4427118B6FC360017DF25 /* Project object */;
|
||||
proxyType = 1;
|
||||
remoteGlobalIDString = 4CE4427818B6FC360017DF25;
|
||||
remoteInfo = welsdec;
|
||||
};
|
||||
/* End PBXContainerItemProxy section */
|
||||
|
||||
/* Begin PBXCopyFilesBuildPhase section */
|
||||
4CE4427718B6FC360017DF25 /* CopyFiles */ = {
|
||||
isa = PBXCopyFilesBuildPhase;
|
||||
@@ -49,10 +64,14 @@
|
||||
/* End PBXCopyFilesBuildPhase section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
4CBC1B80194AC4E100214D9E /* intra_pred_aarch64_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = intra_pred_aarch64_neon.S; path = arm64/intra_pred_aarch64_neon.S; sourceTree = "<group>"; };
|
||||
4CE4427918B6FC360017DF25 /* libwelsdec.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libwelsdec.a; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
4CE4427C18B6FC360017DF25 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
|
||||
4CE4428918B6FC360017DF25 /* welsdecTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = welsdecTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
4CE4428A18B6FC360017DF25 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; };
|
||||
4CE4428D18B6FC360017DF25 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; };
|
||||
4CE4429418B6FC360017DF25 /* welsdecTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "welsdecTests-Info.plist"; sourceTree = "<group>"; };
|
||||
4CE4429618B6FC360017DF25 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||
4CE4429818B6FC360017DF25 /* welsdecTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = welsdecTests.m; sourceTree = "<group>"; };
|
||||
4CE4464518BC5EAA0017DF25 /* as264_common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = as264_common.h; sourceTree = "<group>"; };
|
||||
4CE4464618BC5EAA0017DF25 /* au_parser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = au_parser.h; sourceTree = "<group>"; };
|
||||
4CE4464718BC5EAA0017DF25 /* bit_stream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bit_stream.h; sourceTree = "<group>"; };
|
||||
@@ -65,6 +84,7 @@
|
||||
4CE4464E18BC5EAA0017DF25 /* decoder_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = decoder_context.h; sourceTree = "<group>"; };
|
||||
4CE4464F18BC5EAA0017DF25 /* decoder_core.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = decoder_core.h; sourceTree = "<group>"; };
|
||||
4CE4465018BC5EAA0017DF25 /* error_code.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = error_code.h; sourceTree = "<group>"; };
|
||||
4CE4465118BC5EAA0017DF25 /* expand_pic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = expand_pic.h; sourceTree = "<group>"; usesTabs = 1; };
|
||||
4CE4465218BC5EAA0017DF25 /* fmo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fmo.h; sourceTree = "<group>"; usesTabs = 1; };
|
||||
4CE4465318BC5EAA0017DF25 /* get_intra_predictor.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = get_intra_predictor.h; sourceTree = "<group>"; tabWidth = 4; usesTabs = 0; };
|
||||
4CE4465418BC5EAA0017DF25 /* manage_dec_ref.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = manage_dec_ref.h; sourceTree = "<group>"; };
|
||||
@@ -81,6 +101,7 @@
|
||||
4CE4465F18BC5EAA0017DF25 /* picture.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = picture.h; sourceTree = "<group>"; };
|
||||
4CE4466018BC5EAA0017DF25 /* rec_mb.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rec_mb.h; sourceTree = "<group>"; };
|
||||
4CE4466118BC5EAA0017DF25 /* slice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = slice.h; sourceTree = "<group>"; };
|
||||
4CE4466218BC5EAA0017DF25 /* utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = utils.h; sourceTree = "<group>"; };
|
||||
4CE4466318BC5EAA0017DF25 /* vlc_decoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vlc_decoder.h; sourceTree = "<group>"; };
|
||||
4CE4466418BC5EAA0017DF25 /* wels_common_basis.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wels_common_basis.h; sourceTree = "<group>"; };
|
||||
4CE4466518BC5EAA0017DF25 /* wels_const.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wels_const.h; sourceTree = "<group>"; };
|
||||
@@ -92,6 +113,7 @@
|
||||
4CE4466C18BC5EAA0017DF25 /* decoder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = decoder.cpp; sourceTree = "<group>"; tabWidth = 4; usesTabs = 0; };
|
||||
4CE4466D18BC5EAA0017DF25 /* decoder_core.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = decoder_core.cpp; sourceTree = "<group>"; };
|
||||
4CE4466E18BC5EAA0017DF25 /* decoder_data_tables.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = decoder_data_tables.cpp; sourceTree = "<group>"; };
|
||||
4CE4466F18BC5EAA0017DF25 /* expand_pic.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = expand_pic.cpp; sourceTree = "<group>"; };
|
||||
4CE4467018BC5EAA0017DF25 /* fmo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fmo.cpp; sourceTree = "<group>"; };
|
||||
4CE4467118BC5EAA0017DF25 /* get_intra_predictor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = get_intra_predictor.cpp; sourceTree = "<group>"; };
|
||||
4CE4467218BC5EAA0017DF25 /* manage_dec_ref.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = manage_dec_ref.cpp; sourceTree = "<group>"; };
|
||||
@@ -102,17 +124,14 @@
|
||||
4CE4467718BC5EAA0017DF25 /* parse_mb_syn_cavlc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = parse_mb_syn_cavlc.cpp; sourceTree = "<group>"; };
|
||||
4CE4467818BC5EAA0017DF25 /* pic_queue.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pic_queue.cpp; sourceTree = "<group>"; };
|
||||
4CE4467918BC5EAA0017DF25 /* rec_mb.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = rec_mb.cpp; sourceTree = "<group>"; };
|
||||
4CE4467A18BC5EAA0017DF25 /* utils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = utils.cpp; sourceTree = "<group>"; };
|
||||
4CE4467D18BC5EAA0017DF25 /* welsCodecTrace.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = welsCodecTrace.h; sourceTree = "<group>"; };
|
||||
4CE4467E18BC5EAA0017DF25 /* welsDecoderExt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = welsDecoderExt.h; sourceTree = "<group>"; };
|
||||
4CE4468318BC5EAB0017DF25 /* wels_dec_export.def */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = wels_dec_export.def; sourceTree = "<group>"; };
|
||||
4CE4468418BC5EAB0017DF25 /* welsCodecTrace.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = welsCodecTrace.cpp; sourceTree = "<group>"; };
|
||||
4CE4468518BC5EAB0017DF25 /* welsDecoderExt.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = welsDecoderExt.cpp; sourceTree = "<group>"; };
|
||||
4CE447A718BC6BE90017DF25 /* block_add_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = block_add_neon.S; sourceTree = "<group>"; };
|
||||
4CE447A918BC6BE90017DF25 /* intra_pred_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = intra_pred_neon.S; sourceTree = "<group>"; };
|
||||
9ABF4380193EB5F700A6BD61 /* expand_pic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = expand_pic.h; path = ../../../common/inc/expand_pic.h; sourceTree = "<group>"; };
|
||||
9ABF4381193EB60900A6BD61 /* expand_pic.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = expand_pic.cpp; path = ../../../common/src/expand_pic.cpp; sourceTree = "<group>"; };
|
||||
9AED66551946A1DE009A3567 /* welsCodecTrace.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = welsCodecTrace.cpp; path = ../../../common/src/welsCodecTrace.cpp; sourceTree = "<group>"; };
|
||||
9AED66571946A1EB009A3567 /* welsCodecTrace.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = welsCodecTrace.h; path = ../../../common/inc/welsCodecTrace.h; sourceTree = "<group>"; };
|
||||
9AED66581946A203009A3567 /* utils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = utils.cpp; path = ../../../common/src/utils.cpp; sourceTree = "<group>"; };
|
||||
9AED665A1946A21D009A3567 /* utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = utils.h; path = ../../../common/inc/utils.h; sourceTree = "<group>"; };
|
||||
F0B204FA18FD23CF005DA23F /* error_concealment.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = error_concealment.h; sourceTree = "<group>"; };
|
||||
F0B204FB18FD23D8005DA23F /* error_concealment.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = error_concealment.cpp; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
@@ -126,21 +145,25 @@
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
4CE4428618B6FC360017DF25 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
4CE4428B18B6FC360017DF25 /* XCTest.framework in Frameworks */,
|
||||
4CE4429118B6FC360017DF25 /* libwelsdec.a in Frameworks */,
|
||||
4CE4428E18B6FC360017DF25 /* UIKit.framework in Frameworks */,
|
||||
4CE4428C18B6FC360017DF25 /* Foundation.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
4CBC1B7F194AC4A400214D9E /* arm64 */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4CBC1B80194AC4E100214D9E /* intra_pred_aarch64_neon.S */,
|
||||
);
|
||||
name = arm64;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
4CE4427018B6FC360017DF25 = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4CE4463E18BC5EAA0017DF25 /* decoder */,
|
||||
4CE4429218B6FC360017DF25 /* welsdecTests */,
|
||||
4CE4427B18B6FC360017DF25 /* Frameworks */,
|
||||
4CE4427A18B6FC360017DF25 /* Products */,
|
||||
);
|
||||
@@ -150,6 +173,7 @@
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4CE4427918B6FC360017DF25 /* libwelsdec.a */,
|
||||
4CE4428918B6FC360017DF25 /* welsdecTests.xctest */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
@@ -158,11 +182,30 @@
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4CE4427C18B6FC360017DF25 /* Foundation.framework */,
|
||||
4CE4428A18B6FC360017DF25 /* XCTest.framework */,
|
||||
4CE4428D18B6FC360017DF25 /* UIKit.framework */,
|
||||
);
|
||||
name = Frameworks;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
4CE4429218B6FC360017DF25 /* welsdecTests */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4CE4429818B6FC360017DF25 /* welsdecTests.m */,
|
||||
4CE4429318B6FC360017DF25 /* Supporting Files */,
|
||||
);
|
||||
path = welsdecTests;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
4CE4429318B6FC360017DF25 /* Supporting Files */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4CE4429418B6FC360017DF25 /* welsdecTests-Info.plist */,
|
||||
4CE4429518B6FC360017DF25 /* InfoPlist.strings */,
|
||||
);
|
||||
name = "Supporting Files";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
4CE4463E18BC5EAA0017DF25 /* decoder */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
@@ -176,7 +219,6 @@
|
||||
4CE4463F18BC5EAA0017DF25 /* core */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4CBC1B7F194AC4A400214D9E /* arm64 */,
|
||||
4CE447A518BC6BE90017DF25 /* arm */,
|
||||
4CE4464418BC5EAA0017DF25 /* inc */,
|
||||
4CE4466618BC5EAA0017DF25 /* src */,
|
||||
@@ -187,8 +229,6 @@
|
||||
4CE4464418BC5EAA0017DF25 /* inc */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
9AED665A1946A21D009A3567 /* utils.h */,
|
||||
9ABF4380193EB5F700A6BD61 /* expand_pic.h */,
|
||||
F0B204FA18FD23CF005DA23F /* error_concealment.h */,
|
||||
4CE4464518BC5EAA0017DF25 /* as264_common.h */,
|
||||
4CE4464618BC5EAA0017DF25 /* au_parser.h */,
|
||||
@@ -202,6 +242,7 @@
|
||||
4CE4464E18BC5EAA0017DF25 /* decoder_context.h */,
|
||||
4CE4464F18BC5EAA0017DF25 /* decoder_core.h */,
|
||||
4CE4465018BC5EAA0017DF25 /* error_code.h */,
|
||||
4CE4465118BC5EAA0017DF25 /* expand_pic.h */,
|
||||
4CE4465218BC5EAA0017DF25 /* fmo.h */,
|
||||
4CE4465318BC5EAA0017DF25 /* get_intra_predictor.h */,
|
||||
4CE4465418BC5EAA0017DF25 /* manage_dec_ref.h */,
|
||||
@@ -218,6 +259,7 @@
|
||||
4CE4465F18BC5EAA0017DF25 /* picture.h */,
|
||||
4CE4466018BC5EAA0017DF25 /* rec_mb.h */,
|
||||
4CE4466118BC5EAA0017DF25 /* slice.h */,
|
||||
4CE4466218BC5EAA0017DF25 /* utils.h */,
|
||||
4CE4466318BC5EAA0017DF25 /* vlc_decoder.h */,
|
||||
4CE4466418BC5EAA0017DF25 /* wels_common_basis.h */,
|
||||
4CE4466518BC5EAA0017DF25 /* wels_const.h */,
|
||||
@@ -228,8 +270,6 @@
|
||||
4CE4466618BC5EAA0017DF25 /* src */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
9AED66581946A203009A3567 /* utils.cpp */,
|
||||
9ABF4381193EB60900A6BD61 /* expand_pic.cpp */,
|
||||
F0B204FB18FD23D8005DA23F /* error_concealment.cpp */,
|
||||
4CE4466718BC5EAA0017DF25 /* au_parser.cpp */,
|
||||
4CE4466818BC5EAA0017DF25 /* bit_stream.cpp */,
|
||||
@@ -239,6 +279,7 @@
|
||||
4CE4466C18BC5EAA0017DF25 /* decoder.cpp */,
|
||||
4CE4466D18BC5EAA0017DF25 /* decoder_core.cpp */,
|
||||
4CE4466E18BC5EAA0017DF25 /* decoder_data_tables.cpp */,
|
||||
4CE4466F18BC5EAA0017DF25 /* expand_pic.cpp */,
|
||||
4CE4467018BC5EAA0017DF25 /* fmo.cpp */,
|
||||
4CE4467118BC5EAA0017DF25 /* get_intra_predictor.cpp */,
|
||||
4CE4467218BC5EAA0017DF25 /* manage_dec_ref.cpp */,
|
||||
@@ -249,6 +290,7 @@
|
||||
4CE4467718BC5EAA0017DF25 /* parse_mb_syn_cavlc.cpp */,
|
||||
4CE4467818BC5EAA0017DF25 /* pic_queue.cpp */,
|
||||
4CE4467918BC5EAA0017DF25 /* rec_mb.cpp */,
|
||||
4CE4467A18BC5EAA0017DF25 /* utils.cpp */,
|
||||
);
|
||||
path = src;
|
||||
sourceTree = "<group>";
|
||||
@@ -265,7 +307,7 @@
|
||||
4CE4467C18BC5EAA0017DF25 /* inc */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
9AED66571946A1EB009A3567 /* welsCodecTrace.h */,
|
||||
4CE4467D18BC5EAA0017DF25 /* welsCodecTrace.h */,
|
||||
4CE4467E18BC5EAA0017DF25 /* welsDecoderExt.h */,
|
||||
);
|
||||
path = inc;
|
||||
@@ -274,8 +316,8 @@
|
||||
4CE4468218BC5EAB0017DF25 /* src */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
9AED66551946A1DE009A3567 /* welsCodecTrace.cpp */,
|
||||
4CE4468318BC5EAB0017DF25 /* wels_dec_export.def */,
|
||||
4CE4468418BC5EAB0017DF25 /* welsCodecTrace.cpp */,
|
||||
4CE4468518BC5EAB0017DF25 /* welsDecoderExt.cpp */,
|
||||
);
|
||||
path = src;
|
||||
@@ -310,13 +352,31 @@
|
||||
productReference = 4CE4427918B6FC360017DF25 /* libwelsdec.a */;
|
||||
productType = "com.apple.product-type.library.static";
|
||||
};
|
||||
4CE4428818B6FC360017DF25 /* welsdecTests */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 4CE4429F18B6FC360017DF25 /* Build configuration list for PBXNativeTarget "welsdecTests" */;
|
||||
buildPhases = (
|
||||
4CE4428518B6FC360017DF25 /* Sources */,
|
||||
4CE4428618B6FC360017DF25 /* Frameworks */,
|
||||
4CE4428718B6FC360017DF25 /* Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
4CE4429018B6FC360017DF25 /* PBXTargetDependency */,
|
||||
);
|
||||
name = welsdecTests;
|
||||
productName = welsdecTests;
|
||||
productReference = 4CE4428918B6FC360017DF25 /* welsdecTests.xctest */;
|
||||
productType = "com.apple.product-type.bundle.unit-test";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
4CE4427118B6FC360017DF25 /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
LastUpgradeCheck = 0510;
|
||||
LastUpgradeCheck = 0500;
|
||||
ORGANIZATIONNAME = video;
|
||||
};
|
||||
buildConfigurationList = 4CE4427418B6FC360017DF25 /* Build configuration list for PBXProject "welsdec" */;
|
||||
@@ -332,10 +392,22 @@
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
4CE4427818B6FC360017DF25 /* welsdec */,
|
||||
4CE4428818B6FC360017DF25 /* welsdecTests */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
||||
/* Begin PBXResourcesBuildPhase section */
|
||||
4CE4428718B6FC360017DF25 /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
4CE4429718B6FC360017DF25 /* InfoPlist.strings in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXResourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
4CE4427518B6FC360017DF25 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
@@ -344,18 +416,18 @@
|
||||
4CE4469B18BC5EAB0017DF25 /* pic_queue.cpp in Sources */,
|
||||
4CE4469F18BC5EAB0017DF25 /* welsDecoderExt.cpp in Sources */,
|
||||
4CE4469318BC5EAB0017DF25 /* fmo.cpp in Sources */,
|
||||
4CE4469D18BC5EAB0017DF25 /* utils.cpp in Sources */,
|
||||
4CE4469118BC5EAB0017DF25 /* decoder_data_tables.cpp in Sources */,
|
||||
4CE4469718BC5EAB0017DF25 /* mem_align.cpp in Sources */,
|
||||
9ABF4382193EB60900A6BD61 /* expand_pic.cpp in Sources */,
|
||||
4CE4469518BC5EAB0017DF25 /* manage_dec_ref.cpp in Sources */,
|
||||
4CE4468A18BC5EAB0017DF25 /* au_parser.cpp in Sources */,
|
||||
4CE4469218BC5EAB0017DF25 /* expand_pic.cpp in Sources */,
|
||||
4CE4469918BC5EAB0017DF25 /* mv_pred.cpp in Sources */,
|
||||
4CE447AC18BC6BE90017DF25 /* block_add_neon.S in Sources */,
|
||||
4CE4469418BC5EAB0017DF25 /* get_intra_predictor.cpp in Sources */,
|
||||
9AED66561946A1DE009A3567 /* welsCodecTrace.cpp in Sources */,
|
||||
F0B204FC18FD23D8005DA23F /* error_concealment.cpp in Sources */,
|
||||
4CBC1B81194AC4E100214D9E /* intra_pred_aarch64_neon.S in Sources */,
|
||||
4CE4469018BC5EAB0017DF25 /* decoder_core.cpp in Sources */,
|
||||
4CE4469E18BC5EAB0017DF25 /* welsCodecTrace.cpp in Sources */,
|
||||
4CE447AE18BC6BE90017DF25 /* intra_pred_neon.S in Sources */,
|
||||
4CE4469618BC5EAB0017DF25 /* mc.cpp in Sources */,
|
||||
4CE4469C18BC5EAB0017DF25 /* rec_mb.cpp in Sources */,
|
||||
@@ -363,20 +435,47 @@
|
||||
4CE4468D18BC5EAB0017DF25 /* decode_mb_aux.cpp in Sources */,
|
||||
4CE4468E18BC5EAB0017DF25 /* decode_slice.cpp in Sources */,
|
||||
4CE4468F18BC5EAB0017DF25 /* decoder.cpp in Sources */,
|
||||
9AED66591946A203009A3567 /* utils.cpp in Sources */,
|
||||
4CE4469818BC5EAB0017DF25 /* memmgr_nal_unit.cpp in Sources */,
|
||||
4CE4468C18BC5EAB0017DF25 /* deblocking.cpp in Sources */,
|
||||
4CE4469A18BC5EAB0017DF25 /* parse_mb_syn_cavlc.cpp in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
4CE4428518B6FC360017DF25 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
4CE4429918B6FC360017DF25 /* welsdecTests.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXTargetDependency section */
|
||||
4CE4429018B6FC360017DF25 /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
target = 4CE4427818B6FC360017DF25 /* welsdec */;
|
||||
targetProxy = 4CE4428F18B6FC360017DF25 /* PBXContainerItemProxy */;
|
||||
};
|
||||
/* End PBXTargetDependency section */
|
||||
|
||||
/* Begin PBXVariantGroup section */
|
||||
4CE4429518B6FC360017DF25 /* InfoPlist.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
4CE4429618B6FC360017DF25 /* en */,
|
||||
);
|
||||
name = InfoPlist.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXVariantGroup section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
4CE4429A18B6FC360017DF25 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)";
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
@@ -414,6 +513,7 @@
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)";
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
@@ -444,6 +544,7 @@
|
||||
4CE4429D18B6FC360017DF25 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD)";
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "compiler-default";
|
||||
CLANG_CXX_LIBRARY = "compiler-default";
|
||||
CODE_SIGN_IDENTITY = "iPhone Developer";
|
||||
@@ -467,10 +568,8 @@
|
||||
"$(SRCROOT)/../../../../common/inc",
|
||||
"$(SRCROOT)/../../../../api/svc",
|
||||
"$(SRCROOT)/../../../../common/arm",
|
||||
"$(SRCROOT)/../../../../common/arm64",
|
||||
);
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 6.1;
|
||||
ONLY_ACTIVE_ARCH = NO;
|
||||
OTHER_LDFLAGS = "-ObjC";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SKIP_INSTALL = YES;
|
||||
@@ -481,6 +580,7 @@
|
||||
4CE4429E18B6FC360017DF25 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD)";
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "compiler-default";
|
||||
CLANG_CXX_LIBRARY = "compiler-default";
|
||||
CODE_SIGN_IDENTITY = "iPhone Developer";
|
||||
@@ -502,10 +602,8 @@
|
||||
"$(SRCROOT)/../../../../common/inc",
|
||||
"$(SRCROOT)/../../../../api/svc",
|
||||
"$(SRCROOT)/../../../../common/arm",
|
||||
"$(SRCROOT)/../../../../common/arm64",
|
||||
);
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 6.1;
|
||||
ONLY_ACTIVE_ARCH = NO;
|
||||
OTHER_LDFLAGS = "-ObjC";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SKIP_INSTALL = YES;
|
||||
@@ -513,6 +611,44 @@
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
4CE442A018B6FC360017DF25 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)";
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(SDKROOT)/Developer/Library/Frameworks",
|
||||
"$(inherited)",
|
||||
"$(DEVELOPER_FRAMEWORKS_DIR)",
|
||||
);
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "welsdec/welsdec-Prefix.pch";
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"DEBUG=1",
|
||||
"$(inherited)",
|
||||
);
|
||||
INFOPLIST_FILE = "welsdecTests/welsdecTests-Info.plist";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
WRAPPER_EXTENSION = xctest;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
4CE442A118B6FC360017DF25 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)";
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(SDKROOT)/Developer/Library/Frameworks",
|
||||
"$(inherited)",
|
||||
"$(DEVELOPER_FRAMEWORKS_DIR)",
|
||||
);
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "welsdec/welsdec-Prefix.pch";
|
||||
INFOPLIST_FILE = "welsdecTests/welsdecTests-Info.plist";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
WRAPPER_EXTENSION = xctest;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
@@ -534,6 +670,15 @@
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
4CE4429F18B6FC360017DF25 /* Build configuration list for PBXNativeTarget "welsdecTests" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
4CE442A018B6FC360017DF25 /* Debug */,
|
||||
4CE442A118B6FC360017DF25 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = 4CE4427118B6FC360017DF25 /* Project object */;
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
/* Localized versions of Info.plist keys */
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>cisco.${PRODUCT_NAME:rfc1034identifier}</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>BNDL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1</string>
|
||||
</dict>
|
||||
</plist>
|
||||
58
codec/build/iOS/dec/welsdec/welsdecTests/welsdecTests.m
Normal file
58
codec/build/iOS/dec/welsdec/welsdecTests/welsdecTests.m
Normal file
@@ -0,0 +1,58 @@
|
||||
/*!
|
||||
* \copy
|
||||
* Copyright (c) 2013, Cisco Systems
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
*/
|
||||
|
||||
#import <XCTest/XCTest.h>
|
||||
|
||||
@interface welsdecTests : XCTestCase
|
||||
|
||||
@end
|
||||
|
||||
@implementation welsdecTests
|
||||
|
||||
- (void)setUp
|
||||
{
|
||||
[super setUp];
|
||||
// Put setup code here. This method is called before the invocation of each test method in the class.
|
||||
}
|
||||
|
||||
- (void)tearDown
|
||||
{
|
||||
// Put teardown code here. This method is called after the invocation of each test method in the class.
|
||||
[super tearDown];
|
||||
}
|
||||
|
||||
- (void)testExample
|
||||
{
|
||||
XCTFail(@"No implementation for \"%s\"", __PRETTY_FUNCTION__);
|
||||
}
|
||||
|
||||
@end
|
||||
@@ -7,6 +7,7 @@
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
9ABF4379192DE20800A6BD61 /* EncUT_MemoryAlloc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9ABF4378192DE20800A6BD61 /* EncUT_MemoryAlloc.cpp */; };
|
||||
FAA3D9D318BD729500BCD52D /* welsenc_ios.cfg in Resources */ = {isa = PBXBuildFile; fileRef = FAA3D9D218BD729500BCD52D /* welsenc_ios.cfg */; };
|
||||
FAA3D9D818BD777100BCD52D /* CiscoVT2people_320x192_12fps.yuv in Resources */ = {isa = PBXBuildFile; fileRef = FAA3D9D718BD777100BCD52D /* CiscoVT2people_320x192_12fps.yuv */; };
|
||||
FAA3D9DD18BD8A5600BCD52D /* layer2.cfg in Resources */ = {isa = PBXBuildFile; fileRef = FAA3D9DC18BD8A5600BCD52D /* layer2.cfg */; };
|
||||
@@ -35,6 +36,13 @@
|
||||
remoteGlobalIDString = 4CE4431118B6FFA00017DF25;
|
||||
remoteInfo = welsenc;
|
||||
};
|
||||
FAFB4FE918BC8E7D00315438 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FAFB4FE218BC8E7C00315438 /* welsenc.xcodeproj */;
|
||||
proxyType = 2;
|
||||
remoteGlobalIDString = 4CE4432118B6FFA00017DF25;
|
||||
remoteInfo = welsencTests;
|
||||
};
|
||||
FAFB4FF018BC8E8600315438 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FAFB4FEB18BC8E8600315438 /* common.xcodeproj */;
|
||||
@@ -42,6 +50,13 @@
|
||||
remoteGlobalIDString = 4CE443D518B722CD0017DF25;
|
||||
remoteInfo = common;
|
||||
};
|
||||
FAFB4FF218BC8E8600315438 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FAFB4FEB18BC8E8600315438 /* common.xcodeproj */;
|
||||
proxyType = 2;
|
||||
remoteGlobalIDString = 4CE443E518B722CD0017DF25;
|
||||
remoteInfo = commonTests;
|
||||
};
|
||||
FAFB4FF918BC8E9A00315438 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FAFB4FF418BC8E9A00315438 /* processing.xcodeproj */;
|
||||
@@ -49,6 +64,13 @@
|
||||
remoteGlobalIDString = 4CE4443118B724B60017DF25;
|
||||
remoteInfo = processing;
|
||||
};
|
||||
FAFB4FFB18BC8E9A00315438 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FAFB4FF418BC8E9A00315438 /* processing.xcodeproj */;
|
||||
proxyType = 2;
|
||||
remoteGlobalIDString = 4CE4444118B724B60017DF25;
|
||||
remoteInfo = processingTests;
|
||||
};
|
||||
FAFB4FFD18BC8EAA00315438 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FAFB4FEB18BC8E8600315438 /* common.xcodeproj */;
|
||||
@@ -73,6 +95,7 @@
|
||||
/* End PBXContainerItemProxy section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
9ABF4378192DE20800A6BD61 /* EncUT_MemoryAlloc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = EncUT_MemoryAlloc.cpp; path = ../../../../../test/encoder/EncUT_MemoryAlloc.cpp; sourceTree = "<group>"; };
|
||||
FAA3D9D218BD729500BCD52D /* welsenc_ios.cfg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = welsenc_ios.cfg; path = ../../../../../../testbin/welsenc_ios.cfg; sourceTree = "<group>"; };
|
||||
FAA3D9D718BD777100BCD52D /* CiscoVT2people_320x192_12fps.yuv */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = CiscoVT2people_320x192_12fps.yuv; path = ../../../../../../res/CiscoVT2people_320x192_12fps.yuv; sourceTree = "<group>"; };
|
||||
FAA3D9DC18BD8A5600BCD52D /* layer2.cfg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = layer2.cfg; path = ../../../../../../testbin/layer2.cfg; sourceTree = "<group>"; };
|
||||
@@ -91,12 +114,13 @@
|
||||
FAFB4FC018BC8DD700315438 /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = "<group>"; };
|
||||
FAFB4FC118BC8DD700315438 /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = "<group>"; };
|
||||
FAFB4FC318BC8DD700315438 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = "<group>"; };
|
||||
FAFB4FCA18BC8DD700315438 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; };
|
||||
FAFB4FE218BC8E7C00315438 /* welsenc.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = welsenc.xcodeproj; path = ../welsenc/welsenc.xcodeproj; sourceTree = "<group>"; };
|
||||
FAFB4FEB18BC8E8600315438 /* common.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = common.xcodeproj; path = ../../common/common.xcodeproj; sourceTree = "<group>"; };
|
||||
FAFB4FF418BC8E9A00315438 /* processing.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = processing.xcodeproj; path = ../../../../processing/build/iOS/processing.xcodeproj; sourceTree = "<group>"; };
|
||||
FAFB500918BC8F6600315438 /* read_config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = read_config.h; sourceTree = "<group>"; };
|
||||
FAFB500A18BC8F6C00315438 /* welsenc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = welsenc.cpp; sourceTree = "<group>"; };
|
||||
FAFB502E18BCA50900315438 /* read_config.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = read_config.cpp; path = ../../common/src/read_config.cpp; sourceTree = "<group>"; };
|
||||
FAFB502E18BCA50900315438 /* read_config.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = read_config.cpp; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
@@ -119,6 +143,7 @@
|
||||
FAFB4F9C18BC8DD700315438 = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
9ABF4378192DE20800A6BD61 /* EncUT_MemoryAlloc.cpp */,
|
||||
FAFB4FAE18BC8DD700315438 /* encDemo */,
|
||||
FAFB4FA718BC8DD700315438 /* Frameworks */,
|
||||
FAFB4FA618BC8DD700315438 /* Products */,
|
||||
@@ -142,6 +167,7 @@
|
||||
FAFB4FA818BC8DD700315438 /* Foundation.framework */,
|
||||
FAFB4FAA18BC8DD700315438 /* CoreGraphics.framework */,
|
||||
FAFB4FAC18BC8DD700315438 /* UIKit.framework */,
|
||||
FAFB4FCA18BC8DD700315438 /* XCTest.framework */,
|
||||
);
|
||||
name = Frameworks;
|
||||
sourceTree = "<group>";
|
||||
@@ -180,6 +206,7 @@
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
FAFB4FE818BC8E7D00315438 /* libwelsenc.a */,
|
||||
FAFB4FEA18BC8E7D00315438 /* welsencTests.xctest */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
@@ -188,6 +215,7 @@
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
FAFB4FF118BC8E8600315438 /* libcommon.a */,
|
||||
FAFB4FF318BC8E8600315438 /* commonTests.xctest */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
@@ -196,6 +224,7 @@
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
FAFB4FFA18BC8E9A00315438 /* libprocessing.a */,
|
||||
FAFB4FFC18BC8E9A00315438 /* processingTests.xctest */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
@@ -224,8 +253,7 @@
|
||||
children = (
|
||||
FAFB500918BC8F6600315438 /* read_config.h */,
|
||||
);
|
||||
name = inc;
|
||||
path = ../common/inc;
|
||||
path = inc;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
@@ -257,7 +285,7 @@
|
||||
FAFB4F9D18BC8DD700315438 /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
LastUpgradeCheck = 0510;
|
||||
LastUpgradeCheck = 0500;
|
||||
ORGANIZATIONNAME = video;
|
||||
};
|
||||
buildConfigurationList = FAFB4FA018BC8DD700315438 /* Build configuration list for PBXProject "encDemo" */;
|
||||
@@ -300,6 +328,13 @@
|
||||
remoteRef = FAFB4FE718BC8E7D00315438 /* PBXContainerItemProxy */;
|
||||
sourceTree = BUILT_PRODUCTS_DIR;
|
||||
};
|
||||
FAFB4FEA18BC8E7D00315438 /* welsencTests.xctest */ = {
|
||||
isa = PBXReferenceProxy;
|
||||
fileType = wrapper.cfbundle;
|
||||
path = welsencTests.xctest;
|
||||
remoteRef = FAFB4FE918BC8E7D00315438 /* PBXContainerItemProxy */;
|
||||
sourceTree = BUILT_PRODUCTS_DIR;
|
||||
};
|
||||
FAFB4FF118BC8E8600315438 /* libcommon.a */ = {
|
||||
isa = PBXReferenceProxy;
|
||||
fileType = archive.ar;
|
||||
@@ -307,6 +342,13 @@
|
||||
remoteRef = FAFB4FF018BC8E8600315438 /* PBXContainerItemProxy */;
|
||||
sourceTree = BUILT_PRODUCTS_DIR;
|
||||
};
|
||||
FAFB4FF318BC8E8600315438 /* commonTests.xctest */ = {
|
||||
isa = PBXReferenceProxy;
|
||||
fileType = wrapper.cfbundle;
|
||||
path = commonTests.xctest;
|
||||
remoteRef = FAFB4FF218BC8E8600315438 /* PBXContainerItemProxy */;
|
||||
sourceTree = BUILT_PRODUCTS_DIR;
|
||||
};
|
||||
FAFB4FFA18BC8E9A00315438 /* libprocessing.a */ = {
|
||||
isa = PBXReferenceProxy;
|
||||
fileType = archive.ar;
|
||||
@@ -314,6 +356,13 @@
|
||||
remoteRef = FAFB4FF918BC8E9A00315438 /* PBXContainerItemProxy */;
|
||||
sourceTree = BUILT_PRODUCTS_DIR;
|
||||
};
|
||||
FAFB4FFC18BC8E9A00315438 /* processingTests.xctest */ = {
|
||||
isa = PBXReferenceProxy;
|
||||
fileType = wrapper.cfbundle;
|
||||
path = processingTests.xctest;
|
||||
remoteRef = FAFB4FFB18BC8E9A00315438 /* PBXContainerItemProxy */;
|
||||
sourceTree = BUILT_PRODUCTS_DIR;
|
||||
};
|
||||
/* End PBXReferenceProxy section */
|
||||
|
||||
/* Begin PBXResourcesBuildPhase section */
|
||||
@@ -342,6 +391,7 @@
|
||||
FAFB502F18BCA50900315438 /* read_config.cpp in Sources */,
|
||||
FAFB500B18BC8F6C00315438 /* welsenc.cpp in Sources */,
|
||||
FAFB4FB918BC8DD700315438 /* AppDelegate.m in Sources */,
|
||||
9ABF4379192DE20800A6BD61 /* EncUT_MemoryAlloc.cpp in Sources */,
|
||||
FAFB4FB518BC8DD700315438 /* main.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
@@ -398,6 +448,7 @@
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
ARCHS = "$(ARCHS_STANDARD)";
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
@@ -430,6 +481,7 @@
|
||||
"$(inherited)",
|
||||
"/Applications/Xcode\\ 5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include",
|
||||
"\"$(SRCROOT)/../../../../api/svc\"",
|
||||
"\"$(SRCROOT)/../../../../common\"",
|
||||
"\"$(SRCROOT)/../../../../processing/interface\"",
|
||||
"\"$(SRCROOT)/../../../../encoder/core/inc\"",
|
||||
);
|
||||
@@ -444,6 +496,7 @@
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
ARCHS = "$(ARCHS_STANDARD)";
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
@@ -470,6 +523,7 @@
|
||||
"$(inherited)",
|
||||
"/Applications/Xcode\\ 5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include",
|
||||
"\"$(SRCROOT)/../../../../api/svc\"",
|
||||
"\"$(SRCROOT)/../../../../common\"",
|
||||
"\"$(SRCROOT)/../../../../processing/interface\"",
|
||||
"\"$(SRCROOT)/../../../../encoder/core/inc\"",
|
||||
);
|
||||
@@ -483,6 +537,7 @@
|
||||
FAFB4FDB18BC8DD700315438 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD)";
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = APPLE_IOS;
|
||||
@@ -501,6 +556,7 @@
|
||||
FAFB4FDC18BC8DD700315438 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD)";
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = APPLE_IOS;
|
||||
|
||||
@@ -34,6 +34,6 @@
|
||||
|
||||
@interface AppDelegate : UIResponder <UIApplicationDelegate>
|
||||
|
||||
@property (strong, nonatomic) UIWindow* window;
|
||||
@property (strong, nonatomic) UIWindow *window;
|
||||
|
||||
@end
|
||||
|
||||
@@ -33,12 +33,12 @@
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
@interface ViewController : UIViewController {
|
||||
UILabel* statusText_;
|
||||
UILabel * statusText_;
|
||||
}
|
||||
|
||||
@property (retain, nonatomic) IBOutlet UILabel* statusText;
|
||||
@property (retain, nonatomic) IBOutlet UILabel * statusText;
|
||||
|
||||
- (IBAction) buttonPressed: (id)sender;
|
||||
-(IBAction) buttonPressed:(id)sender;
|
||||
|
||||
|
||||
@end
|
||||
|
||||
@@ -7,15 +7,18 @@
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
4C23BC60195A77E0003B81FC /* intra_pred_sad_3_opt_aarch64_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = 4C23BC5F195A77E0003B81FC /* intra_pred_sad_3_opt_aarch64_neon.S */; };
|
||||
4C34066D18C57D0400DFA14A /* intra_pred_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = 4C34066618C57D0400DFA14A /* intra_pred_neon.S */; };
|
||||
4C34066E18C57D0400DFA14A /* intra_pred_sad_3_opt_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = 4C34066718C57D0400DFA14A /* intra_pred_sad_3_opt_neon.S */; };
|
||||
4C34067018C57D0400DFA14A /* memory_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = 4C34066918C57D0400DFA14A /* memory_neon.S */; };
|
||||
4C34067118C57D0400DFA14A /* pixel_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = 4C34066A18C57D0400DFA14A /* pixel_neon.S */; };
|
||||
4C34067218C57D0400DFA14A /* reconstruct_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = 4C34066B18C57D0400DFA14A /* reconstruct_neon.S */; };
|
||||
4CB8F2B419235FC5005D6386 /* pixel_aarch64_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = 4CB8F2B319235FC5005D6386 /* pixel_aarch64_neon.S */; };
|
||||
4CBC1B83194ACBB400214D9E /* intra_pred_aarch64_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = 4CBC1B82194ACBB400214D9E /* intra_pred_aarch64_neon.S */; };
|
||||
4CE4431518B6FFA00017DF25 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4CE4431418B6FFA00017DF25 /* Foundation.framework */; };
|
||||
4CE4432318B6FFA00017DF25 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4CE4432218B6FFA00017DF25 /* XCTest.framework */; };
|
||||
4CE4432418B6FFA00017DF25 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4CE4431418B6FFA00017DF25 /* Foundation.framework */; };
|
||||
4CE4432618B6FFA00017DF25 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4CE4432518B6FFA00017DF25 /* UIKit.framework */; };
|
||||
4CE4432918B6FFA00017DF25 /* libwelsenc.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4CE4431118B6FFA00017DF25 /* libwelsenc.a */; };
|
||||
4CE4432F18B6FFA00017DF25 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 4CE4432D18B6FFA00017DF25 /* InfoPlist.strings */; };
|
||||
4CE4433118B6FFA00017DF25 /* welsencTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4433018B6FFA00017DF25 /* welsencTests.m */; };
|
||||
4CE4470E18BC605C0017DF25 /* au_set.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE446DD18BC605C0017DF25 /* au_set.cpp */; };
|
||||
4CE4470F18BC605C0017DF25 /* deblocking.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE446DE18BC605C0017DF25 /* deblocking.cpp */; };
|
||||
4CE4471018BC605C0017DF25 /* decode_mb_aux.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE446DF18BC605C0017DF25 /* decode_mb_aux.cpp */; };
|
||||
@@ -23,6 +26,7 @@
|
||||
4CE4471218BC605C0017DF25 /* encoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE446E118BC605C0017DF25 /* encoder.cpp */; };
|
||||
4CE4471318BC605C0017DF25 /* encoder_data_tables.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE446E218BC605C0017DF25 /* encoder_data_tables.cpp */; };
|
||||
4CE4471418BC605C0017DF25 /* encoder_ext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE446E318BC605C0017DF25 /* encoder_ext.cpp */; };
|
||||
4CE4471518BC605C0017DF25 /* expand_pic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE446E418BC605C0017DF25 /* expand_pic.cpp */; };
|
||||
4CE4471618BC605C0017DF25 /* get_intra_predictor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE446E518BC605C0017DF25 /* get_intra_predictor.cpp */; };
|
||||
4CE4471718BC605C0017DF25 /* mc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE446E618BC605C0017DF25 /* mc.cpp */; };
|
||||
4CE4471818BC605C0017DF25 /* md.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE446E718BC605C0017DF25 /* md.cpp */; };
|
||||
@@ -43,14 +47,22 @@
|
||||
4CE4472718BC605C0017DF25 /* svc_mode_decision.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE446F618BC605C0017DF25 /* svc_mode_decision.cpp */; };
|
||||
4CE4472818BC605C0017DF25 /* svc_motion_estimate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE446F718BC605C0017DF25 /* svc_motion_estimate.cpp */; };
|
||||
4CE4472918BC605C0017DF25 /* svc_set_mb_syn_cavlc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE446F818BC605C0017DF25 /* svc_set_mb_syn_cavlc.cpp */; };
|
||||
4CE4472A18BC605C0017DF25 /* utils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE446F918BC605C0017DF25 /* utils.cpp */; };
|
||||
4CE4472B18BC605C0017DF25 /* wels_preprocess.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE446FA18BC605C0017DF25 /* wels_preprocess.cpp */; };
|
||||
4CE4472D18BC605C0017DF25 /* welsCodecTrace.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4470518BC605C0017DF25 /* welsCodecTrace.cpp */; };
|
||||
4CE4472E18BC605C0017DF25 /* welsEncoderExt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4470618BC605C0017DF25 /* welsEncoderExt.cpp */; };
|
||||
9AED665019469FC1009A3567 /* welsCodecTrace.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9AED664C19469FC1009A3567 /* welsCodecTrace.cpp */; };
|
||||
9AED66661946A2B3009A3567 /* utils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9AED66651946A2B3009A3567 /* utils.cpp */; };
|
||||
F5617A50196A833A006E2B20 /* reconstruct_aarch64_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = F5617A4F196A833A006E2B20 /* reconstruct_aarch64_neon.S */; };
|
||||
F5BE8005196B913200ED02ED /* memory_aarch64_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = F5BE8004196B913200ED02ED /* memory_aarch64_neon.S */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXContainerItemProxy section */
|
||||
4CE4432718B6FFA00017DF25 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = 4CE4430918B6FFA00017DF25 /* Project object */;
|
||||
proxyType = 1;
|
||||
remoteGlobalIDString = 4CE4431018B6FFA00017DF25;
|
||||
remoteInfo = welsenc;
|
||||
};
|
||||
/* End PBXContainerItemProxy section */
|
||||
|
||||
/* Begin PBXCopyFilesBuildPhase section */
|
||||
4CE4430F18B6FFA00017DF25 /* CopyFiles */ = {
|
||||
isa = PBXCopyFilesBuildPhase;
|
||||
@@ -64,18 +76,20 @@
|
||||
/* End PBXCopyFilesBuildPhase section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
4C23BC5F195A77E0003B81FC /* intra_pred_sad_3_opt_aarch64_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = intra_pred_sad_3_opt_aarch64_neon.S; path = arm64/intra_pred_sad_3_opt_aarch64_neon.S; sourceTree = "<group>"; };
|
||||
4C34066618C57D0400DFA14A /* intra_pred_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = intra_pred_neon.S; sourceTree = "<group>"; };
|
||||
4C34066718C57D0400DFA14A /* intra_pred_sad_3_opt_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = intra_pred_sad_3_opt_neon.S; sourceTree = "<group>"; };
|
||||
4C34066918C57D0400DFA14A /* memory_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = memory_neon.S; sourceTree = "<group>"; };
|
||||
4C34066A18C57D0400DFA14A /* pixel_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = pixel_neon.S; sourceTree = "<group>"; };
|
||||
4C34066B18C57D0400DFA14A /* reconstruct_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = reconstruct_neon.S; sourceTree = "<group>"; };
|
||||
4CB8F2B319235FC5005D6386 /* pixel_aarch64_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = pixel_aarch64_neon.S; path = arm64/pixel_aarch64_neon.S; sourceTree = "<group>"; };
|
||||
4CBC1B82194ACBB400214D9E /* intra_pred_aarch64_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = intra_pred_aarch64_neon.S; path = arm64/intra_pred_aarch64_neon.S; sourceTree = "<group>"; };
|
||||
4CDBFB9D18E5068D0025A767 /* wels_transpose_matrix.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wels_transpose_matrix.h; sourceTree = "<group>"; };
|
||||
4CE4431118B6FFA00017DF25 /* libwelsenc.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libwelsenc.a; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
4CE4431418B6FFA00017DF25 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
|
||||
4CE4432118B6FFA00017DF25 /* welsencTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = welsencTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
4CE4432218B6FFA00017DF25 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; };
|
||||
4CE4432518B6FFA00017DF25 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; };
|
||||
4CE4432C18B6FFA00017DF25 /* welsencTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "welsencTests-Info.plist"; sourceTree = "<group>"; };
|
||||
4CE4432E18B6FFA00017DF25 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||
4CE4433018B6FFA00017DF25 /* welsencTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = welsencTests.m; sourceTree = "<group>"; };
|
||||
4CE446AA18BC605C0017DF25 /* as264_common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = as264_common.h; sourceTree = "<group>"; };
|
||||
4CE446AB18BC605C0017DF25 /* au_set.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = au_set.h; sourceTree = "<group>"; };
|
||||
4CE446AC18BC605C0017DF25 /* bit_stream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bit_stream.h; sourceTree = "<group>"; };
|
||||
@@ -85,6 +99,7 @@
|
||||
4CE446B118BC605C0017DF25 /* encode_mb_aux.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = encode_mb_aux.h; sourceTree = "<group>"; };
|
||||
4CE446B218BC605C0017DF25 /* encoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = encoder.h; sourceTree = "<group>"; };
|
||||
4CE446B318BC605C0017DF25 /* encoder_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = encoder_context.h; sourceTree = "<group>"; };
|
||||
4CE446B418BC605C0017DF25 /* expand_pic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = expand_pic.h; sourceTree = "<group>"; };
|
||||
4CE446B518BC605C0017DF25 /* extern.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = extern.h; sourceTree = "<group>"; };
|
||||
4CE446B618BC605C0017DF25 /* get_intra_predictor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = get_intra_predictor.h; sourceTree = "<group>"; };
|
||||
4CE446B718BC605C0017DF25 /* mb_cache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mb_cache.h; sourceTree = "<group>"; };
|
||||
@@ -108,6 +123,7 @@
|
||||
4CE446C918BC605C0017DF25 /* slice_multi_threading.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = slice_multi_threading.h; sourceTree = "<group>"; };
|
||||
4CE446CA18BC605C0017DF25 /* stat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = stat.h; sourceTree = "<group>"; };
|
||||
4CE446CB18BC605C0017DF25 /* svc_base_layer_md.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = svc_base_layer_md.h; sourceTree = "<group>"; };
|
||||
4CE446CC18BC605C0017DF25 /* svc_config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = svc_config.h; sourceTree = "<group>"; };
|
||||
4CE446CD18BC605C0017DF25 /* svc_enc_frame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = svc_enc_frame.h; sourceTree = "<group>"; };
|
||||
4CE446CE18BC605C0017DF25 /* svc_enc_golomb.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = svc_enc_golomb.h; sourceTree = "<group>"; };
|
||||
4CE446CF18BC605C0017DF25 /* svc_enc_macroblock.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = svc_enc_macroblock.h; sourceTree = "<group>"; };
|
||||
@@ -117,6 +133,7 @@
|
||||
4CE446D318BC605C0017DF25 /* svc_mode_decision.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = svc_mode_decision.h; sourceTree = "<group>"; };
|
||||
4CE446D418BC605C0017DF25 /* svc_motion_estimate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = svc_motion_estimate.h; sourceTree = "<group>"; };
|
||||
4CE446D518BC605C0017DF25 /* svc_set_mb_syn_cavlc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = svc_set_mb_syn_cavlc.h; sourceTree = "<group>"; };
|
||||
4CE446D618BC605C0017DF25 /* utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = utils.h; sourceTree = "<group>"; };
|
||||
4CE446D718BC605C0017DF25 /* vlc_encoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vlc_encoder.h; sourceTree = "<group>"; };
|
||||
4CE446D818BC605C0017DF25 /* wels_common_basis.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wels_common_basis.h; sourceTree = "<group>"; };
|
||||
4CE446D918BC605C0017DF25 /* wels_const.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wels_const.h; sourceTree = "<group>"; };
|
||||
@@ -129,6 +146,7 @@
|
||||
4CE446E118BC605C0017DF25 /* encoder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = encoder.cpp; sourceTree = "<group>"; };
|
||||
4CE446E218BC605C0017DF25 /* encoder_data_tables.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = encoder_data_tables.cpp; sourceTree = "<group>"; };
|
||||
4CE446E318BC605C0017DF25 /* encoder_ext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = encoder_ext.cpp; sourceTree = "<group>"; };
|
||||
4CE446E418BC605C0017DF25 /* expand_pic.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = expand_pic.cpp; sourceTree = "<group>"; };
|
||||
4CE446E518BC605C0017DF25 /* get_intra_predictor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = get_intra_predictor.cpp; sourceTree = "<group>"; };
|
||||
4CE446E618BC605C0017DF25 /* mc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = mc.cpp; sourceTree = "<group>"; };
|
||||
4CE446E718BC605C0017DF25 /* md.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = md.cpp; sourceTree = "<group>"; };
|
||||
@@ -149,16 +167,13 @@
|
||||
4CE446F618BC605C0017DF25 /* svc_mode_decision.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = svc_mode_decision.cpp; sourceTree = "<group>"; };
|
||||
4CE446F718BC605C0017DF25 /* svc_motion_estimate.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = svc_motion_estimate.cpp; sourceTree = "<group>"; };
|
||||
4CE446F818BC605C0017DF25 /* svc_set_mb_syn_cavlc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = svc_set_mb_syn_cavlc.cpp; sourceTree = "<group>"; };
|
||||
4CE446F918BC605C0017DF25 /* utils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = utils.cpp; sourceTree = "<group>"; };
|
||||
4CE446FA18BC605C0017DF25 /* wels_preprocess.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wels_preprocess.cpp; sourceTree = "<group>"; };
|
||||
4CE446FD18BC605C0017DF25 /* welsCodecTrace.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = welsCodecTrace.h; sourceTree = "<group>"; };
|
||||
4CE446FE18BC605C0017DF25 /* welsEncoderExt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = welsEncoderExt.h; sourceTree = "<group>"; };
|
||||
4CE4470418BC605C0017DF25 /* wels_enc_export.def */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = wels_enc_export.def; sourceTree = "<group>"; };
|
||||
4CE4470518BC605C0017DF25 /* welsCodecTrace.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = welsCodecTrace.cpp; sourceTree = "<group>"; };
|
||||
4CE4470618BC605C0017DF25 /* welsEncoderExt.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = welsEncoderExt.cpp; sourceTree = "<group>"; };
|
||||
9AED664819469FAF009A3567 /* welsCodecTrace.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = welsCodecTrace.h; path = ../../../common/inc/welsCodecTrace.h; sourceTree = "<group>"; };
|
||||
9AED664C19469FC1009A3567 /* welsCodecTrace.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = welsCodecTrace.cpp; path = ../../../common/src/welsCodecTrace.cpp; sourceTree = "<group>"; };
|
||||
9AED66651946A2B3009A3567 /* utils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = utils.cpp; path = ../../../common/src/utils.cpp; sourceTree = "<group>"; };
|
||||
9AED66671946A2C4009A3567 /* utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = utils.h; path = ../../../common/inc/utils.h; sourceTree = "<group>"; };
|
||||
F5617A4F196A833A006E2B20 /* reconstruct_aarch64_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = reconstruct_aarch64_neon.S; path = arm64/reconstruct_aarch64_neon.S; sourceTree = "<group>"; };
|
||||
F5BE8004196B913200ED02ED /* memory_aarch64_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = memory_aarch64_neon.S; path = arm64/memory_aarch64_neon.S; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
@@ -170,6 +185,17 @@
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
4CE4431E18B6FFA00017DF25 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
4CE4432318B6FFA00017DF25 /* XCTest.framework in Frameworks */,
|
||||
4CE4432618B6FFA00017DF25 /* UIKit.framework in Frameworks */,
|
||||
4CE4432418B6FFA00017DF25 /* Foundation.framework in Frameworks */,
|
||||
4CE4432918B6FFA00017DF25 /* libwelsenc.a in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
@@ -185,22 +211,11 @@
|
||||
path = arm;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
4CB8F2B219235FAC005D6386 /* arm64 */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
F5BE8004196B913200ED02ED /* memory_aarch64_neon.S */,
|
||||
F5617A4F196A833A006E2B20 /* reconstruct_aarch64_neon.S */,
|
||||
4C23BC5F195A77E0003B81FC /* intra_pred_sad_3_opt_aarch64_neon.S */,
|
||||
4CBC1B82194ACBB400214D9E /* intra_pred_aarch64_neon.S */,
|
||||
4CB8F2B319235FC5005D6386 /* pixel_aarch64_neon.S */,
|
||||
);
|
||||
name = arm64;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
4CE4430818B6FFA00017DF25 = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4CE446A018BC605B0017DF25 /* encoder */,
|
||||
4CE4432A18B6FFA00017DF25 /* welsencTests */,
|
||||
4CE4431318B6FFA00017DF25 /* Frameworks */,
|
||||
4CE4431218B6FFA00017DF25 /* Products */,
|
||||
);
|
||||
@@ -210,6 +225,7 @@
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4CE4431118B6FFA00017DF25 /* libwelsenc.a */,
|
||||
4CE4432118B6FFA00017DF25 /* welsencTests.xctest */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
@@ -218,11 +234,30 @@
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4CE4431418B6FFA00017DF25 /* Foundation.framework */,
|
||||
4CE4432218B6FFA00017DF25 /* XCTest.framework */,
|
||||
4CE4432518B6FFA00017DF25 /* UIKit.framework */,
|
||||
);
|
||||
name = Frameworks;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
4CE4432A18B6FFA00017DF25 /* welsencTests */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4CE4433018B6FFA00017DF25 /* welsencTests.m */,
|
||||
4CE4432B18B6FFA00017DF25 /* Supporting Files */,
|
||||
);
|
||||
path = welsencTests;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
4CE4432B18B6FFA00017DF25 /* Supporting Files */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4CE4432C18B6FFA00017DF25 /* welsencTests-Info.plist */,
|
||||
4CE4432D18B6FFA00017DF25 /* InfoPlist.strings */,
|
||||
);
|
||||
name = "Supporting Files";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
4CE446A018BC605B0017DF25 /* encoder */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
@@ -236,7 +271,6 @@
|
||||
4CE446A118BC605B0017DF25 /* core */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4CB8F2B219235FAC005D6386 /* arm64 */,
|
||||
4C34066418C57D0400DFA14A /* arm */,
|
||||
4CE446A918BC605C0017DF25 /* inc */,
|
||||
4CE446DC18BC605C0017DF25 /* src */,
|
||||
@@ -247,7 +281,6 @@
|
||||
4CE446A918BC605C0017DF25 /* inc */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
9AED66671946A2C4009A3567 /* utils.h */,
|
||||
4CDBFB9D18E5068D0025A767 /* wels_transpose_matrix.h */,
|
||||
4CE446AA18BC605C0017DF25 /* as264_common.h */,
|
||||
4CE446AB18BC605C0017DF25 /* au_set.h */,
|
||||
@@ -258,6 +291,7 @@
|
||||
4CE446B118BC605C0017DF25 /* encode_mb_aux.h */,
|
||||
4CE446B218BC605C0017DF25 /* encoder.h */,
|
||||
4CE446B318BC605C0017DF25 /* encoder_context.h */,
|
||||
4CE446B418BC605C0017DF25 /* expand_pic.h */,
|
||||
4CE446B518BC605C0017DF25 /* extern.h */,
|
||||
4CE446B618BC605C0017DF25 /* get_intra_predictor.h */,
|
||||
4CE446B718BC605C0017DF25 /* mb_cache.h */,
|
||||
@@ -281,6 +315,7 @@
|
||||
4CE446C918BC605C0017DF25 /* slice_multi_threading.h */,
|
||||
4CE446CA18BC605C0017DF25 /* stat.h */,
|
||||
4CE446CB18BC605C0017DF25 /* svc_base_layer_md.h */,
|
||||
4CE446CC18BC605C0017DF25 /* svc_config.h */,
|
||||
4CE446CD18BC605C0017DF25 /* svc_enc_frame.h */,
|
||||
4CE446CE18BC605C0017DF25 /* svc_enc_golomb.h */,
|
||||
4CE446CF18BC605C0017DF25 /* svc_enc_macroblock.h */,
|
||||
@@ -290,6 +325,7 @@
|
||||
4CE446D318BC605C0017DF25 /* svc_mode_decision.h */,
|
||||
4CE446D418BC605C0017DF25 /* svc_motion_estimate.h */,
|
||||
4CE446D518BC605C0017DF25 /* svc_set_mb_syn_cavlc.h */,
|
||||
4CE446D618BC605C0017DF25 /* utils.h */,
|
||||
4CE446D718BC605C0017DF25 /* vlc_encoder.h */,
|
||||
4CE446D818BC605C0017DF25 /* wels_common_basis.h */,
|
||||
4CE446D918BC605C0017DF25 /* wels_const.h */,
|
||||
@@ -302,7 +338,6 @@
|
||||
4CE446DC18BC605C0017DF25 /* src */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
9AED66651946A2B3009A3567 /* utils.cpp */,
|
||||
4CE446DD18BC605C0017DF25 /* au_set.cpp */,
|
||||
4CE446DE18BC605C0017DF25 /* deblocking.cpp */,
|
||||
4CE446DF18BC605C0017DF25 /* decode_mb_aux.cpp */,
|
||||
@@ -310,6 +345,7 @@
|
||||
4CE446E118BC605C0017DF25 /* encoder.cpp */,
|
||||
4CE446E218BC605C0017DF25 /* encoder_data_tables.cpp */,
|
||||
4CE446E318BC605C0017DF25 /* encoder_ext.cpp */,
|
||||
4CE446E418BC605C0017DF25 /* expand_pic.cpp */,
|
||||
4CE446E518BC605C0017DF25 /* get_intra_predictor.cpp */,
|
||||
4CE446E618BC605C0017DF25 /* mc.cpp */,
|
||||
4CE446E718BC605C0017DF25 /* md.cpp */,
|
||||
@@ -330,6 +366,7 @@
|
||||
4CE446F618BC605C0017DF25 /* svc_mode_decision.cpp */,
|
||||
4CE446F718BC605C0017DF25 /* svc_motion_estimate.cpp */,
|
||||
4CE446F818BC605C0017DF25 /* svc_set_mb_syn_cavlc.cpp */,
|
||||
4CE446F918BC605C0017DF25 /* utils.cpp */,
|
||||
4CE446FA18BC605C0017DF25 /* wels_preprocess.cpp */,
|
||||
);
|
||||
path = src;
|
||||
@@ -347,7 +384,7 @@
|
||||
4CE446FC18BC605C0017DF25 /* inc */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
9AED664819469FAF009A3567 /* welsCodecTrace.h */,
|
||||
4CE446FD18BC605C0017DF25 /* welsCodecTrace.h */,
|
||||
4CE446FE18BC605C0017DF25 /* welsEncoderExt.h */,
|
||||
);
|
||||
path = inc;
|
||||
@@ -356,8 +393,8 @@
|
||||
4CE4470218BC605C0017DF25 /* src */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
9AED664C19469FC1009A3567 /* welsCodecTrace.cpp */,
|
||||
4CE4470418BC605C0017DF25 /* wels_enc_export.def */,
|
||||
4CE4470518BC605C0017DF25 /* welsCodecTrace.cpp */,
|
||||
4CE4470618BC605C0017DF25 /* welsEncoderExt.cpp */,
|
||||
);
|
||||
path = src;
|
||||
@@ -383,13 +420,31 @@
|
||||
productReference = 4CE4431118B6FFA00017DF25 /* libwelsenc.a */;
|
||||
productType = "com.apple.product-type.library.static";
|
||||
};
|
||||
4CE4432018B6FFA00017DF25 /* welsencTests */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 4CE4433718B6FFA00017DF25 /* Build configuration list for PBXNativeTarget "welsencTests" */;
|
||||
buildPhases = (
|
||||
4CE4431D18B6FFA00017DF25 /* Sources */,
|
||||
4CE4431E18B6FFA00017DF25 /* Frameworks */,
|
||||
4CE4431F18B6FFA00017DF25 /* Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
4CE4432818B6FFA00017DF25 /* PBXTargetDependency */,
|
||||
);
|
||||
name = welsencTests;
|
||||
productName = welsencTests;
|
||||
productReference = 4CE4432118B6FFA00017DF25 /* welsencTests.xctest */;
|
||||
productType = "com.apple.product-type.bundle.unit-test";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
4CE4430918B6FFA00017DF25 /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
LastUpgradeCheck = 0510;
|
||||
LastUpgradeCheck = 0500;
|
||||
ORGANIZATIONNAME = video;
|
||||
};
|
||||
buildConfigurationList = 4CE4430C18B6FFA00017DF25 /* Build configuration list for PBXProject "welsenc" */;
|
||||
@@ -405,10 +460,22 @@
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
4CE4431018B6FFA00017DF25 /* welsenc */,
|
||||
4CE4432018B6FFA00017DF25 /* welsencTests */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
||||
/* Begin PBXResourcesBuildPhase section */
|
||||
4CE4431F18B6FFA00017DF25 /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
4CE4432F18B6FFA00017DF25 /* InfoPlist.strings in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXResourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
4CE4430D18B6FFA00017DF25 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
@@ -419,36 +486,32 @@
|
||||
4CE4472718BC605C0017DF25 /* svc_mode_decision.cpp in Sources */,
|
||||
4CE4472818BC605C0017DF25 /* svc_motion_estimate.cpp in Sources */,
|
||||
4CE4471D18BC605C0017DF25 /* property.cpp in Sources */,
|
||||
4CE4472A18BC605C0017DF25 /* utils.cpp in Sources */,
|
||||
4CE4471018BC605C0017DF25 /* decode_mb_aux.cpp in Sources */,
|
||||
4CE4472018BC605C0017DF25 /* sample.cpp in Sources */,
|
||||
4CE4472D18BC605C0017DF25 /* welsCodecTrace.cpp in Sources */,
|
||||
4CE4471318BC605C0017DF25 /* encoder_data_tables.cpp in Sources */,
|
||||
4C34067118C57D0400DFA14A /* pixel_neon.S in Sources */,
|
||||
9AED665019469FC1009A3567 /* welsCodecTrace.cpp in Sources */,
|
||||
4CE4471F18BC605C0017DF25 /* ref_list_mgr_svc.cpp in Sources */,
|
||||
4CE4472218BC605C0017DF25 /* slice_multi_threading.cpp in Sources */,
|
||||
4CE4471518BC605C0017DF25 /* expand_pic.cpp in Sources */,
|
||||
4C34067018C57D0400DFA14A /* memory_neon.S in Sources */,
|
||||
4CE4470F18BC605C0017DF25 /* deblocking.cpp in Sources */,
|
||||
4CE4472518BC605C0017DF25 /* svc_encode_mb.cpp in Sources */,
|
||||
4CE4471A18BC605C0017DF25 /* mv_pred.cpp in Sources */,
|
||||
4C34066E18C57D0400DFA14A /* intra_pred_sad_3_opt_neon.S in Sources */,
|
||||
4C23BC60195A77E0003B81FC /* intra_pred_sad_3_opt_aarch64_neon.S in Sources */,
|
||||
4CE4472B18BC605C0017DF25 /* wels_preprocess.cpp in Sources */,
|
||||
4CE4470E18BC605C0017DF25 /* au_set.cpp in Sources */,
|
||||
F5BE8005196B913200ED02ED /* memory_aarch64_neon.S in Sources */,
|
||||
4CBC1B83194ACBB400214D9E /* intra_pred_aarch64_neon.S in Sources */,
|
||||
4CE4471718BC605C0017DF25 /* mc.cpp in Sources */,
|
||||
F5617A50196A833A006E2B20 /* reconstruct_aarch64_neon.S in Sources */,
|
||||
4CE4472918BC605C0017DF25 /* svc_set_mb_syn_cavlc.cpp in Sources */,
|
||||
4CE4471818BC605C0017DF25 /* md.cpp in Sources */,
|
||||
4CE4471B18BC605C0017DF25 /* nal_encap.cpp in Sources */,
|
||||
4CE4471918BC605C0017DF25 /* memory_align.cpp in Sources */,
|
||||
4CE4472418BC605C0017DF25 /* svc_enc_slice_segment.cpp in Sources */,
|
||||
4CE4472318BC605C0017DF25 /* svc_base_layer_md.cpp in Sources */,
|
||||
4CB8F2B419235FC5005D6386 /* pixel_aarch64_neon.S in Sources */,
|
||||
4CE4471E18BC605C0017DF25 /* ratectl.cpp in Sources */,
|
||||
4C34066D18C57D0400DFA14A /* intra_pred_neon.S in Sources */,
|
||||
4CE4471C18BC605C0017DF25 /* picture_handle.cpp in Sources */,
|
||||
9AED66661946A2B3009A3567 /* utils.cpp in Sources */,
|
||||
4CE4472618BC605C0017DF25 /* svc_encode_slice.cpp in Sources */,
|
||||
4CE4471218BC605C0017DF25 /* encoder.cpp in Sources */,
|
||||
4CE4471618BC605C0017DF25 /* get_intra_predictor.cpp in Sources */,
|
||||
@@ -458,13 +521,41 @@
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
4CE4431D18B6FFA00017DF25 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
4CE4433118B6FFA00017DF25 /* welsencTests.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXTargetDependency section */
|
||||
4CE4432818B6FFA00017DF25 /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
target = 4CE4431018B6FFA00017DF25 /* welsenc */;
|
||||
targetProxy = 4CE4432718B6FFA00017DF25 /* PBXContainerItemProxy */;
|
||||
};
|
||||
/* End PBXTargetDependency section */
|
||||
|
||||
/* Begin PBXVariantGroup section */
|
||||
4CE4432D18B6FFA00017DF25 /* InfoPlist.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
4CE4432E18B6FFA00017DF25 /* en */,
|
||||
);
|
||||
name = InfoPlist.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXVariantGroup section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
4CE4433218B6FFA00017DF25 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)";
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
@@ -502,6 +593,7 @@
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)";
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
@@ -532,6 +624,7 @@
|
||||
4CE4433518B6FFA00017DF25 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD)";
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "compiler-default";
|
||||
CLANG_CXX_LIBRARY = "compiler-default";
|
||||
CODE_SIGN_IDENTITY = "iPhone Developer";
|
||||
@@ -557,7 +650,6 @@
|
||||
"$(SRCROOT)/../../../../processing/interface",
|
||||
"$(SRCROOT)/../../../../api/svc",
|
||||
"$(SRCROOT)/../../../../common/arm",
|
||||
"$(SRCROOT)/../../../../common/arm64",
|
||||
);
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 6.1;
|
||||
ONLY_ACTIVE_ARCH = NO;
|
||||
@@ -571,6 +663,7 @@
|
||||
4CE4433618B6FFA00017DF25 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD)";
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "compiler-default";
|
||||
CLANG_CXX_LIBRARY = "compiler-default";
|
||||
CODE_SIGN_IDENTITY = "iPhone Developer";
|
||||
@@ -595,7 +688,6 @@
|
||||
"$(SRCROOT)/../../../../processing/interface",
|
||||
"$(SRCROOT)/../../../../api/svc",
|
||||
"$(SRCROOT)/../../../../common/arm",
|
||||
"$(SRCROOT)/../../../../common/arm64",
|
||||
);
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 6.1;
|
||||
OTHER_LDFLAGS = "-ObjC";
|
||||
@@ -605,6 +697,44 @@
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
4CE4433818B6FFA00017DF25 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)";
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(SDKROOT)/Developer/Library/Frameworks",
|
||||
"$(inherited)",
|
||||
"$(DEVELOPER_FRAMEWORKS_DIR)",
|
||||
);
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "welsenc/welsenc-Prefix.pch";
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"DEBUG=1",
|
||||
"$(inherited)",
|
||||
);
|
||||
INFOPLIST_FILE = "welsencTests/welsencTests-Info.plist";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
WRAPPER_EXTENSION = xctest;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
4CE4433918B6FFA00017DF25 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)";
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(SDKROOT)/Developer/Library/Frameworks",
|
||||
"$(inherited)",
|
||||
"$(DEVELOPER_FRAMEWORKS_DIR)",
|
||||
);
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "welsenc/welsenc-Prefix.pch";
|
||||
INFOPLIST_FILE = "welsencTests/welsencTests-Info.plist";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
WRAPPER_EXTENSION = xctest;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
@@ -626,6 +756,15 @@
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
4CE4433718B6FFA00017DF25 /* Build configuration list for PBXNativeTarget "welsencTests" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
4CE4433818B6FFA00017DF25 /* Debug */,
|
||||
4CE4433918B6FFA00017DF25 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = 4CE4430918B6FFA00017DF25 /* Project object */;
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
/* Localized versions of Info.plist keys */
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>cisco.${PRODUCT_NAME:rfc1034identifier}</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>BNDL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1</string>
|
||||
</dict>
|
||||
</plist>
|
||||
58
codec/build/iOS/enc/welsenc/welsencTests/welsencTests.m
Normal file
58
codec/build/iOS/enc/welsenc/welsencTests/welsencTests.m
Normal file
@@ -0,0 +1,58 @@
|
||||
/*!
|
||||
* \copy
|
||||
* Copyright (c) 2013, Cisco Systems
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
*/
|
||||
|
||||
#import <XCTest/XCTest.h>
|
||||
|
||||
@interface welsencTests : XCTestCase
|
||||
|
||||
@end
|
||||
|
||||
@implementation welsencTests
|
||||
|
||||
- (void)setUp
|
||||
{
|
||||
[super setUp];
|
||||
// Put setup code here. This method is called before the invocation of each test method in the class.
|
||||
}
|
||||
|
||||
- (void)tearDown
|
||||
{
|
||||
// Put teardown code here. This method is called after the invocation of each test method in the class.
|
||||
[super tearDown];
|
||||
}
|
||||
|
||||
- (void)testExample
|
||||
{
|
||||
XCTFail(@"No implementation for \"%s\"", __PRETTY_FUNCTION__);
|
||||
}
|
||||
|
||||
@end
|
||||
12
codec/build/win32/.gitignore
vendored
12
codec/build/win32/.gitignore
vendored
@@ -1,12 +0,0 @@
|
||||
# Files generated by Visual Studio 2008
|
||||
*.user
|
||||
*.ncb
|
||||
*.suo
|
||||
|
||||
# Files generated by upgrading the project files
|
||||
*.vcxproj*
|
||||
Backup
|
||||
UpgradeLog.htm
|
||||
|
||||
# Files generated by Visual Studio 2012
|
||||
*.sdf
|
||||
@@ -30,7 +30,6 @@
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
@@ -54,16 +53,18 @@
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="..\..\..\decoder\core\inc;..\..\..\common\inc;..\..\..\api\svc"
|
||||
PreprocessorDefinitions="NDEBUG;_LIB;X86_ASM"
|
||||
AdditionalIncludeDirectories="..\..\..\decoder\core\inc;..\..\..\common\inc;..\..\..\api\svc;..\..\..\hwDecoder\core\inc;..\..\..\hwDecoder\dxva\inc"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;X86_ASM;HAVE_CACHE_LINE_ALIGN"
|
||||
StringPooling="true"
|
||||
RuntimeLibrary="0"
|
||||
EnableFunctionLevelLinking="true"
|
||||
PrecompiledHeaderFile=".\..\..\..\obj\decoder\core\release/WelsDecCore.pch"
|
||||
AssemblerListingLocation=".\..\..\..\obj\decoder\core\release/"
|
||||
ObjectFile=".\..\..\..\obj\decoder\core\release/"
|
||||
ProgramDataBaseFileName=".\..\..\..\obj\decoder\core\release/"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="0"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
@@ -79,6 +80,7 @@
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
OutputFile="$(OutDir)\welsdcore.lib"
|
||||
SuppressStartupBanner="true"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
@@ -88,6 +90,7 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
SuppressStartupBanner="true"
|
||||
OutputFile=".\..\..\..\..\bin\win32\Release/WelsDecCore.bsc"
|
||||
/>
|
||||
<Tool
|
||||
@@ -106,7 +109,6 @@
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
@@ -131,16 +133,18 @@
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="..\..\..\decoder\core\inc;..\..\..\common\inc;..\..\..\api\svc"
|
||||
PreprocessorDefinitions="NDEBUG;_LIB;X86_ASM"
|
||||
AdditionalIncludeDirectories="..\..\..\decoder\core\inc;..\..\..\common\inc;..\..\..\api\svc;..\..\..\hwDecoder\core\inc;..\..\..\hwDecoder\dxva\inc"
|
||||
PreprocessorDefinitions="WIN64;NDEBUG;_LIB;HAVE_CACHE_LINE_ALIGN;X86_ASM"
|
||||
StringPooling="true"
|
||||
RuntimeLibrary="0"
|
||||
EnableFunctionLevelLinking="true"
|
||||
PrecompiledHeaderFile=".\..\..\..\obj\decoder\core\release/WelsDecCore.pch"
|
||||
AssemblerListingLocation=".\..\..\..\obj\decoder\core\release/"
|
||||
ObjectFile=".\..\..\..\obj\decoder\core\release/"
|
||||
ProgramDataBaseFileName=".\..\..\..\obj\decoder\core\release/"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="0"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
@@ -156,6 +160,7 @@
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
OutputFile="$(OutDir)\welsdcore.lib"
|
||||
SuppressStartupBanner="true"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
@@ -165,6 +170,7 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
SuppressStartupBanner="true"
|
||||
OutputFile=".\..\..\..\..\bin\win32\Release/WelsDecCore.bsc"
|
||||
/>
|
||||
<Tool
|
||||
@@ -205,15 +211,17 @@
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..\..\decoder\core\inc;..\..\..\common\inc;..\..\..\api\svc"
|
||||
PreprocessorDefinitions="_DEBUG;_LIB;X86_ASM"
|
||||
AdditionalIncludeDirectories="..\..\..\decoder\core\inc;..\..\..\common\inc;..\..\..\api\svc;..\..\..\hwDecoder\core\inc;..\..\..\hwDecoder\dxva\inc"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;X86_ASM;HAVE_CACHE_LINE_ALIGN"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
PrecompiledHeaderFile=".\..\..\..\obj\decoder\core\debug/WelsDecCore.pch"
|
||||
AssemblerListingLocation=".\..\..\..\obj\decoder\core\debug/"
|
||||
ObjectFile=".\..\..\..\obj\decoder\core\debug/"
|
||||
ProgramDataBaseFileName=".\..\..\..\obj\decoder\core\debug/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="4"
|
||||
/>
|
||||
<Tool
|
||||
@@ -230,6 +238,7 @@
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
OutputFile="$(OutDir)\welsdcore.lib"
|
||||
SuppressStartupBanner="true"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
@@ -239,6 +248,7 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
SuppressStartupBanner="true"
|
||||
OutputFile=".\..\..\..\..\bin\win32\Debug/WelsDecCore.bsc"
|
||||
/>
|
||||
<Tool
|
||||
@@ -280,15 +290,17 @@
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..\..\decoder\core\inc;..\..\..\common\inc;..\..\..\api\svc"
|
||||
PreprocessorDefinitions="_DEBUG;_LIB;X86_ASM"
|
||||
AdditionalIncludeDirectories="..\..\..\decoder\core\inc;..\..\..\common\inc;..\..\..\api\svc;..\..\..\hwDecoder\core\inc;..\..\..\hwDecoder\dxva\inc"
|
||||
PreprocessorDefinitions="WIN64;_DEBUG;_LIB;HAVE_CACHE_LINE_ALIGN;X86_ASM"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
PrecompiledHeaderFile=".\..\..\..\obj\decoder\core\debug/WelsDecCore.pch"
|
||||
AssemblerListingLocation=".\..\..\..\obj\decoder\core\debug/"
|
||||
ObjectFile=".\..\..\..\obj\decoder\core\debug/"
|
||||
ProgramDataBaseFileName=".\..\..\..\obj\decoder\core\debug/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
@@ -305,6 +317,7 @@
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
OutputFile="$(OutDir)\welsdcore.lib"
|
||||
SuppressStartupBanner="true"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
@@ -314,6 +327,7 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
SuppressStartupBanner="true"
|
||||
OutputFile=".\..\..\..\..\bin\win32\Debug/WelsDecCore.bsc"
|
||||
/>
|
||||
<Tool
|
||||
@@ -342,7 +356,7 @@
|
||||
>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win32 -DPREFIX -DX86_32 -o $(IntDir)\$(InputName).obj $(InputPath)
"
|
||||
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win32 -DPREFIX -DX86_32 -o $(IntDir)\$(InputName).obj $(InputPath)"
|
||||
Outputs="$(IntDir)\$(InputName).obj"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -351,7 +365,7 @@
|
||||
>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win64 -DWIN64 -o $(IntDir)\$(InputName).obj $(InputPath)
"
|
||||
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win64 -DWIN64 -o $(IntDir)\$(InputName).obj $(InputPath)"
|
||||
Outputs="$(IntDir)\$(InputName).obj"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -360,7 +374,7 @@
|
||||
>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win32 -DPREFIX -DX86_32 -o $(IntDir)\$(InputName).obj $(InputPath)
"
|
||||
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win32 -DPREFIX -DX86_32 -o $(IntDir)\$(InputName).obj $(InputPath)"
|
||||
Outputs="$(IntDir)\$(InputName).obj"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -369,7 +383,7 @@
|
||||
>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win64 -DWIN64 -o $(IntDir)\$(InputName).obj $(InputPath)
"
|
||||
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win64 -DWIN64 -o $(IntDir)\$(InputName).obj $(InputPath)"
|
||||
Outputs="$(IntDir)\$(InputName).obj"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -382,7 +396,7 @@
|
||||
>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win32 -DPREFIX -DX86_32 -o $(IntDir)\$(InputName).obj $(InputPath)
"
|
||||
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win32 -DPREFIX -DX86_32 -o $(IntDir)\$(InputName).obj $(InputPath)"
|
||||
Outputs="$(IntDir)\$(InputName).obj"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -391,7 +405,7 @@
|
||||
>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win64 -DWIN64 -o $(IntDir)\$(InputName).obj $(InputPath)
"
|
||||
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win64 -DWIN64 -o $(IntDir)\$(InputName).obj $(InputPath)"
|
||||
Outputs="$(IntDir)\$(InputName).obj"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -400,7 +414,7 @@
|
||||
>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win32 -DPREFIX -DX86_32 -o $(IntDir)\$(InputName).obj $(InputPath)
"
|
||||
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win32 -DPREFIX -DX86_32 -o $(IntDir)\$(InputName).obj $(InputPath)"
|
||||
Outputs="$(IntDir)\$(InputName).obj"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -409,7 +423,7 @@
|
||||
>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win64 -DWIN64 -o $(IntDir)\$(InputName).obj $(InputPath)
"
|
||||
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win64 -DWIN64 -o $(IntDir)\$(InputName).obj $(InputPath)"
|
||||
Outputs="$(IntDir)\$(InputName).obj"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -422,7 +436,7 @@
|
||||
>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win32 -DPREFIX -DX86_32 -o $(IntDir)\$(InputName).obj $(InputPath)
"
|
||||
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win32 -DPREFIX -DX86_32 -o $(IntDir)\$(InputName).obj $(InputPath)"
|
||||
Outputs="$(IntDir)\$(InputName).obj"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -431,7 +445,7 @@
|
||||
>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win64 -DWIN64 -o $(IntDir)\$(InputName).obj $(InputPath)
"
|
||||
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win64 -DWIN64 -o $(IntDir)\$(InputName).obj $(InputPath)"
|
||||
Outputs="$(IntDir)\$(InputName).obj"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -440,7 +454,7 @@
|
||||
>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win32 -DPREFIX -DX86_32 -o $(IntDir)\$(InputName).obj $(InputPath)
"
|
||||
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win32 -DPREFIX -DX86_32 -o $(IntDir)\$(InputName).obj $(InputPath)"
|
||||
Outputs="$(IntDir)\$(InputName).obj"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -449,7 +463,7 @@
|
||||
>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win64 -DWIN64 -o $(IntDir)\$(InputName).obj $(InputPath)
"
|
||||
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win64 -DWIN64 -o $(IntDir)\$(InputName).obj $(InputPath)"
|
||||
Outputs="$(IntDir)\$(InputName).obj"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -462,7 +476,7 @@
|
||||
>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win32 -DPREFIX -DX86_32 -o $(IntDir)\$(InputName).obj $(InputPath)
"
|
||||
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win32 -DPREFIX -DX86_32 -o $(IntDir)\$(InputName).obj $(InputPath)"
|
||||
Outputs="$(IntDir)\$(InputName).obj"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -471,7 +485,7 @@
|
||||
>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win64 -DWIN64 -o $(IntDir)\$(InputName).obj $(InputPath)
"
|
||||
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win64 -DWIN64 -o $(IntDir)\$(InputName).obj $(InputPath)"
|
||||
Outputs="$(IntDir)\$(InputName).obj"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -480,7 +494,7 @@
|
||||
>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win32 -DPREFIX -DX86_32 -o $(IntDir)\$(InputName).obj $(InputPath)
"
|
||||
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win32 -DPREFIX -DX86_32 -o $(IntDir)\$(InputName).obj $(InputPath)"
|
||||
Outputs="$(IntDir)\$(InputName).obj"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -489,7 +503,7 @@
|
||||
>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win64 -DWIN64 -o $(IntDir)\$(InputName).obj $(InputPath)
"
|
||||
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win64 -DWIN64 -o $(IntDir)\$(InputName).obj $(InputPath)"
|
||||
Outputs="$(IntDir)\$(InputName).obj"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -502,7 +516,7 @@
|
||||
>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win32 -DPREFIX -DX86_32 -o $(IntDir)\$(InputName).obj $(InputPath)
"
|
||||
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win32 -DPREFIX -DX86_32 -o $(IntDir)\$(InputName).obj $(InputPath)"
|
||||
Outputs="$(IntDir)\$(InputName).obj"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -511,7 +525,7 @@
|
||||
>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win64 -DWIN64 -o $(IntDir)\$(InputName).obj $(InputPath)
"
|
||||
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win64 -DWIN64 -o $(IntDir)\$(InputName).obj $(InputPath)"
|
||||
Outputs="$(IntDir)\$(InputName).obj"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -520,7 +534,7 @@
|
||||
>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win32 -DPREFIX -DX86_32 -o $(IntDir)\$(InputName).obj $(InputPath)
"
|
||||
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win32 -DPREFIX -DX86_32 -o $(IntDir)\$(InputName).obj $(InputPath)"
|
||||
Outputs="$(IntDir)\$(InputName).obj"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -529,7 +543,7 @@
|
||||
>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win64 -DWIN64 -o $(IntDir)\$(InputName).obj $(InputPath)
"
|
||||
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win64 -DWIN64 -o $(IntDir)\$(InputName).obj $(InputPath)"
|
||||
Outputs="$(IntDir)\$(InputName).obj"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -542,7 +556,7 @@
|
||||
>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win32 -DPREFIX -DX86_32 -o $(IntDir)\$(InputName).obj $(InputPath)
"
|
||||
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win32 -DPREFIX -DX86_32 -o $(IntDir)\$(InputName).obj $(InputPath)"
|
||||
Outputs="$(IntDir)\$(InputName).obj"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -551,7 +565,7 @@
|
||||
>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win64 -DWIN64 -o $(IntDir)\$(InputName).obj $(InputPath)
"
|
||||
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win64 -DWIN64 -o $(IntDir)\$(InputName).obj $(InputPath)"
|
||||
Outputs="$(IntDir)\$(InputName).obj"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -560,7 +574,7 @@
|
||||
>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win32 -DPREFIX -DX86_32 -o $(IntDir)\$(InputName).obj $(InputPath)
"
|
||||
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win32 -DPREFIX -DX86_32 -o $(IntDir)\$(InputName).obj $(InputPath)"
|
||||
Outputs="$(IntDir)\$(InputName).obj"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -569,7 +583,7 @@
|
||||
>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win64 -DWIN64 -o $(IntDir)\$(InputName).obj $(InputPath)
"
|
||||
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win64 -DWIN64 -o $(IntDir)\$(InputName).obj $(InputPath)"
|
||||
Outputs="$(IntDir)\$(InputName).obj"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -582,7 +596,7 @@
|
||||
>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win32 -DPREFIX -DX86_32 -o $(IntDir)\$(InputName).obj $(InputPath)
"
|
||||
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win32 -DPREFIX -DX86_32 -o $(IntDir)\$(InputName).obj $(InputPath)"
|
||||
Outputs="$(IntDir)\$(InputName).obj"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -591,7 +605,7 @@
|
||||
>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win64 -DWIN64 -o $(IntDir)\$(InputName).obj $(InputPath)
"
|
||||
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win64 -DWIN64 -o $(IntDir)\$(InputName).obj $(InputPath)"
|
||||
Outputs="$(IntDir)\$(InputName).obj"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -600,7 +614,7 @@
|
||||
>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win32 -DPREFIX -DX86_32 -o $(IntDir)\$(InputName).obj $(InputPath)
"
|
||||
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win32 -DPREFIX -DX86_32 -o $(IntDir)\$(InputName).obj $(InputPath)"
|
||||
Outputs="$(IntDir)\$(InputName).obj"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -609,7 +623,7 @@
|
||||
>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win64 -DWIN64 -o $(IntDir)\$(InputName).obj $(InputPath)
"
|
||||
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win64 -DWIN64 -o $(IntDir)\$(InputName).obj $(InputPath)"
|
||||
Outputs="$(IntDir)\$(InputName).obj"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -622,7 +636,7 @@
|
||||
>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win32 -DPREFIX -DX86_32 -o $(IntDir)\$(InputName).obj $(InputPath)
"
|
||||
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win32 -DPREFIX -DX86_32 -o $(IntDir)\$(InputName).obj $(InputPath)"
|
||||
Outputs="$(IntDir)\$(InputName).obj"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -631,7 +645,7 @@
|
||||
>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win64 -DWIN64 -o $(IntDir)\$(InputName).obj $(InputPath)
"
|
||||
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win64 -DWIN64 -o $(IntDir)\$(InputName).obj $(InputPath)"
|
||||
Outputs="$(IntDir)\$(InputName).obj"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -640,7 +654,7 @@
|
||||
>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win32 -DPREFIX -DX86_32 -o $(IntDir)\$(InputName).obj $(InputPath)
"
|
||||
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win32 -DPREFIX -DX86_32 -o $(IntDir)\$(InputName).obj $(InputPath)"
|
||||
Outputs="$(IntDir)\$(InputName).obj"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -649,7 +663,7 @@
|
||||
>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win64 -DWIN64 -o $(IntDir)\$(InputName).obj $(InputPath)
"
|
||||
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win64 -DWIN64 -o $(IntDir)\$(InputName).obj $(InputPath)"
|
||||
Outputs="$(IntDir)\$(InputName).obj"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -671,10 +685,10 @@
|
||||
RelativePath="..\..\..\decoder\core\inc\bit_stream.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\common\inc\copy_mb.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\common\inc\copy_mb.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\common\inc\cpu.h"
|
||||
>
|
||||
@@ -723,12 +737,16 @@
|
||||
RelativePath="..\..\..\decoder\core\inc\error_code.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\decoder\core\inc\error_concealment.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\decoder\core\inc\error_concealment.h"
|
||||
RelativePath="..\..\..\decoder\core\inc\expand_pic.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\common\inc\expand_pic.h"
|
||||
RelativePath="..\..\..\common\inc\expand_picture_common.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
@@ -816,7 +834,7 @@
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\common\inc\utils.h"
|
||||
RelativePath="..\..\..\decoder\core\inc\utils.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
@@ -827,10 +845,6 @@
|
||||
RelativePath="..\..\..\decoder\core\inc\wels_common_basis.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\common\inc\wels_common_defs.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\decoder\core\inc\wels_const.h"
|
||||
>
|
||||
@@ -848,14 +862,10 @@
|
||||
RelativePath="..\..\..\decoder\core\src\bit_stream.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\common\src\common_tables.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\common\src\copy_mb.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\common\src\copy_mb.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\common\src\cpu.cpp"
|
||||
>
|
||||
@@ -892,12 +902,12 @@
|
||||
RelativePath="..\..\..\decoder\core\src\decoder_data_tables.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\decoder\core\src\error_concealment.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\decoder\core\src\error_concealment.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\common\src\expand_pic.cpp"
|
||||
RelativePath="..\..\..\decoder\core\src\expand_pic.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
@@ -908,6 +918,10 @@
|
||||
RelativePath="..\..\..\decoder\core\src\get_intra_predictor.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\common\src\logging.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\decoder\core\src\manage_dec_ref.cpp"
|
||||
>
|
||||
@@ -941,7 +955,7 @@
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\common\src\utils.cpp"
|
||||
RelativePath="..\..\..\decoder\core\src\utils.cpp"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
|
||||
@@ -27,7 +27,6 @@
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
@@ -43,20 +42,28 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
MkTypLibCompatible="true"
|
||||
SuppressStartupBanner="true"
|
||||
TargetEnvironment="1"
|
||||
TypeLibraryName=".\..\..\..\..\..\bin\win32\Release/WelsDecPlus.tlb"
|
||||
HeaderFileName=""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="..\..\..\decoder\plus\inc;..\..\..\decoder\core\inc;..\..\..\api\svc;..\..\..\common\inc"
|
||||
PreprocessorDefinitions="NDEBUG;_USRDLL;X86_ASM"
|
||||
AdditionalIncludeDirectories="..\..\..\decoder\plus\inc;..\..\..\decoder\core\inc;..\..\..\api\svc;..\..\..\common\inc;..\..\..\hwDecoder\plus\inc;..\..\..\hwDecoder\core\inc"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;WELSDECPLUS_EXPORTS;HAVE_CACHE_LINE_ALIGN;X86_ASM"
|
||||
StringPooling="true"
|
||||
RuntimeLibrary="0"
|
||||
EnableFunctionLevelLinking="true"
|
||||
PrecompiledHeaderFile=".\..\..\..\obj\decoder\plus\Release/WelsDecPlus.pch"
|
||||
AssemblerListingLocation=".\..\..\..\obj\decoder\plus\Release/"
|
||||
ObjectFile=".\..\..\..\obj\decoder\plus\Release/"
|
||||
ProgramDataBaseFileName=".\..\..\..\obj\decoder\plus\Release/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
@@ -72,14 +79,16 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="$(OutDir)\welsdcore.lib"
|
||||
AdditionalDependencies=".\..\..\..\..\bin\win32\Release\welsdcore.lib"
|
||||
OutputFile="$(OutDir)\welsdec.dll"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="true"
|
||||
AdditionalLibraryDirectories=".\..\..\..\libs\Release\"
|
||||
ModuleDefinitionFile="..\..\..\decoder\plus\src\wels_dec_export.def"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(OutDir)\welsdec.pdb"
|
||||
ProgramDatabaseFile=".\..\..\..\maps\Release\welsdec.pdb"
|
||||
GenerateMapFile="true"
|
||||
MapFileName="$(OutDir)\welsdec.map"
|
||||
MapFileName=".\..\..\..\maps\Release\welsdec.map"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="2"
|
||||
ImportLibrary="$(OutDir)\welsdec.lib"
|
||||
@@ -96,6 +105,7 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
SuppressStartupBanner="true"
|
||||
OutputFile=".\..\..\..\..\bin\win32\Release/WelsDecPlus.bsc"
|
||||
/>
|
||||
<Tool
|
||||
@@ -117,7 +127,6 @@
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
@@ -133,20 +142,28 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
MkTypLibCompatible="true"
|
||||
SuppressStartupBanner="true"
|
||||
TargetEnvironment="3"
|
||||
TypeLibraryName=".\..\..\..\..\..\bin\win32\Release/WelsDecPlus.tlb"
|
||||
HeaderFileName=""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="..\..\..\decoder\plus\inc;..\..\..\decoder\core\inc;..\..\..\api\svc;..\..\..\common\inc"
|
||||
PreprocessorDefinitions="NDEBUG;_USRDLL;X86_ASM"
|
||||
AdditionalIncludeDirectories="..\..\..\decoder\plus\inc;..\..\..\decoder\core\inc;..\..\..\api\svc;..\..\..\common\inc;..\..\..\hwDecoder\plus\inc;..\..\..\hwDecoder\core\inc"
|
||||
PreprocessorDefinitions="WIN64;NDEBUG;_WINDOWS;_USRDLL;WELSDECPLUS_EXPORTS;HAVE_CACHE_LINE_ALIGN;X86_ASM"
|
||||
StringPooling="true"
|
||||
RuntimeLibrary="0"
|
||||
EnableFunctionLevelLinking="true"
|
||||
PrecompiledHeaderFile=".\..\..\..\obj\decoder\plus\Release/WelsDecPlus.pch"
|
||||
AssemblerListingLocation=".\..\..\..\obj\decoder\plus\Release/"
|
||||
ObjectFile=".\..\..\..\obj\decoder\plus\Release/"
|
||||
ProgramDataBaseFileName=".\..\..\..\obj\decoder\plus\Release/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
@@ -162,14 +179,16 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="$(OutDir)\welsdcore.lib"
|
||||
AdditionalDependencies=".\..\..\..\..\bin\win64\Release\welsdcore.lib"
|
||||
OutputFile="$(OutDir)\welsdec.dll"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="true"
|
||||
AdditionalLibraryDirectories=".\..\..\..\libs\Release\"
|
||||
ModuleDefinitionFile="..\..\..\decoder\plus\src\wels_dec_export.def"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(OutDir)\welsdec.pdb"
|
||||
ProgramDatabaseFile=".\..\..\..\maps\Release\welsdec.pdb"
|
||||
GenerateMapFile="true"
|
||||
MapFileName="$(OutDir)\welsdec.map"
|
||||
MapFileName=".\..\..\..\maps\Release\welsdec.map"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="2"
|
||||
ImportLibrary="$(OutDir)\welsdec.lib"
|
||||
@@ -186,6 +205,7 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
SuppressStartupBanner="true"
|
||||
OutputFile=".\..\..\..\..\bin\win32\Release/WelsDecPlus.bsc"
|
||||
/>
|
||||
<Tool
|
||||
@@ -222,19 +242,27 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
MkTypLibCompatible="true"
|
||||
SuppressStartupBanner="true"
|
||||
TargetEnvironment="1"
|
||||
TypeLibraryName=".\..\..\..\..\..\bin\win32\Debug/WelsDecPlus.tlb"
|
||||
HeaderFileName=""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..\..\decoder\plus\inc;..\..\..\decoder\core\inc;..\..\..\api\svc;..\..\..\common\inc"
|
||||
PreprocessorDefinitions="_DEBUG;_USRDLL;X86_ASM"
|
||||
AdditionalIncludeDirectories="..\..\..\decoder\plus\inc;..\..\..\decoder\core\inc;..\..\..\api\svc;..\..\..\common\inc;..\..\..\hwDecoder\plus\inc;..\..\..\hwDecoder\core\inc"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;WELSDECPLUS_EXPORTS;HAVE_CACHE_LINE_ALIGN;X86_ASM"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
PrecompiledHeaderFile=".\..\..\..\obj\decoder\plus\debug/WelsDecPlus.pch"
|
||||
AssemblerListingLocation=".\..\..\..\obj\decoder\plus\debug/"
|
||||
ObjectFile=".\..\..\..\obj\decoder\plus\debug/"
|
||||
ProgramDataBaseFileName=".\..\..\..\obj\decoder\plus\debug/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="4"
|
||||
/>
|
||||
<Tool
|
||||
@@ -250,12 +278,14 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="$(OutDir)\welsdcore.lib"
|
||||
AdditionalDependencies=".\..\..\..\..\bin\win32\Debug\welsdcore.lib"
|
||||
OutputFile="$(OutDir)\welsdec.dll"
|
||||
LinkIncremental="2"
|
||||
SuppressStartupBanner="true"
|
||||
AdditionalLibraryDirectories="..\..\..\libs\debug"
|
||||
ModuleDefinitionFile="..\..\..\decoder\plus\src\wels_dec_export.def"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(OutDir)\welsdec.pdb"
|
||||
ProgramDatabaseFile=".\..\..\..\..\bin\win32\Debug/welsdec.pdb"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="2"
|
||||
ImportLibrary="$(OutDir)\welsdec.lib"
|
||||
@@ -272,6 +302,7 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
SuppressStartupBanner="true"
|
||||
OutputFile=".\..\..\..\..\bin\win32\Debug/WelsDecPlus.bsc"
|
||||
/>
|
||||
<Tool
|
||||
@@ -308,19 +339,27 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
MkTypLibCompatible="true"
|
||||
SuppressStartupBanner="true"
|
||||
TargetEnvironment="3"
|
||||
TypeLibraryName=".\..\..\..\..\..\bin\win32\Debug/WelsDecPlus.tlb"
|
||||
HeaderFileName=""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..\..\decoder\plus\inc;..\..\..\decoder\core\inc;..\..\..\api\svc;..\..\..\common\inc"
|
||||
PreprocessorDefinitions="_DEBUG;_USRDLL;X86_ASM"
|
||||
AdditionalIncludeDirectories="..\..\..\decoder\plus\inc;..\..\..\decoder\core\inc;..\..\..\api\svc;..\..\..\common\inc;..\..\..\hwDecoder\plus\inc;..\..\..\hwDecoder\core\inc"
|
||||
PreprocessorDefinitions="WIN64;_DEBUG;_WINDOWS;_USRDLL;WELSDECPLUS_EXPORTS;HAVE_CACHE_LINE_ALIGN;X86_ASM"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
PrecompiledHeaderFile=".\..\..\..\obj\decoder\plus\debug/WelsDecPlus.pch"
|
||||
AssemblerListingLocation=".\..\..\..\obj\decoder\plus\debug/"
|
||||
ObjectFile=".\..\..\..\obj\decoder\plus\debug/"
|
||||
ProgramDataBaseFileName=".\..\..\..\obj\decoder\plus\debug/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
@@ -336,12 +375,14 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="$(OutDir)\welsdcore.lib"
|
||||
AdditionalDependencies=".\..\..\..\..\bin\win64\Debug\welsdcore.lib"
|
||||
OutputFile="$(OutDir)\welsdec.dll"
|
||||
LinkIncremental="2"
|
||||
SuppressStartupBanner="true"
|
||||
AdditionalLibraryDirectories="..\..\..\libs\debug"
|
||||
ModuleDefinitionFile="..\..\..\decoder\plus\src\wels_dec_export.def"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(OutDir)\welsdec.pdb"
|
||||
ProgramDatabaseFile=".\..\..\..\..\bin\win32\Debug/welsdec.pdb"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="2"
|
||||
ImportLibrary="$(OutDir)\welsdec.lib"
|
||||
@@ -358,6 +399,7 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
SuppressStartupBanner="true"
|
||||
OutputFile=".\..\..\..\..\bin\win32\Debug/WelsDecPlus.bsc"
|
||||
/>
|
||||
<Tool
|
||||
@@ -384,6 +426,42 @@
|
||||
<File
|
||||
RelativePath="..\..\..\decoder\plus\res\welsdec.rc"
|
||||
>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions=""
|
||||
AdditionalIncludeDirectories="\SVN_project_https\trunk\codec\Wels\project\decoder\plus\res"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|x64"
|
||||
>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions=""
|
||||
AdditionalIncludeDirectories="\SVN_project_https\trunk\codec\Wels\project\decoder\plus\res"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions=""
|
||||
AdditionalIncludeDirectories="\SVN_project_https\trunk\codec\Wels\project\decoder\plus\res"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug|x64"
|
||||
>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions=""
|
||||
AdditionalIncludeDirectories="\SVN_project_https\trunk\codec\Wels\project\decoder\plus\res"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
@@ -395,12 +473,84 @@
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\common\src\welsCodecTrace.cpp"
|
||||
RelativePath="..\..\..\decoder\plus\src\welsCodecTrace.cpp"
|
||||
>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|x64"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug|x64"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\decoder\plus\src\welsDecoderExt.cpp"
|
||||
>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|x64"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug|x64"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
@@ -412,7 +562,7 @@
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\common\inc\welsCodecTrace.h"
|
||||
RelativePath="..\..\..\decoder\plus\inc\welsCodecTrace.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
|
||||
@@ -42,21 +42,24 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TypeLibraryName=".\..\..\..\..\bin\win32\Release/decConsole.tlb"
|
||||
HeaderFileName=""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="..\..\..\console\dec\inc,..\..\..\console\common\inc,..\..\..\api\svc,..\..\..\common\inc"
|
||||
PreprocessorDefinitions="NDEBUG;_CONSOLE"
|
||||
AdditionalIncludeDirectories="..\..\..\console\dec\inc,..\..\..\api\svc,..\..\..\common\inc,..\..\..\encoder\core\inc"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
|
||||
StringPooling="true"
|
||||
RuntimeLibrary="0"
|
||||
EnableFunctionLevelLinking="true"
|
||||
PrecompiledHeaderFile=".\..\..\..\obj\decConsole\Release/decConsole.pch"
|
||||
AssemblerListingLocation=".\..\..\..\obj\decConsole\Release/"
|
||||
ObjectFile=".\..\..\..\obj\decConsole\Release/"
|
||||
ProgramDataBaseFileName=".\..\..\..\obj\decConsole\Release/"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
SuppressStartupBanner="true"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
@@ -74,6 +77,8 @@
|
||||
AdditionalDependencies="$(OutDir)\welsdec.lib"
|
||||
OutputFile="$(OutDir)\decConsole.exe"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="true"
|
||||
AdditionalLibraryDirectories="..\..\..\..\bin\win32"
|
||||
ProgramDatabaseFile="$(OutDir)\decConsole.pdb"
|
||||
GenerateMapFile="false"
|
||||
SubSystem="1"
|
||||
@@ -92,6 +97,7 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
SuppressStartupBanner="true"
|
||||
OutputFile="$(OutDir)\decConsole.bsc"
|
||||
/>
|
||||
<Tool
|
||||
@@ -128,21 +134,25 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
TypeLibraryName=".\..\..\..\..\bin\win32\Release/decConsole.tlb"
|
||||
HeaderFileName=""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="..\..\..\console\dec\inc,..\..\..\console\common\inc,..\..\..\api\svc,..\..\..\common\inc"
|
||||
PreprocessorDefinitions="NDEBUG;_CONSOLE"
|
||||
AdditionalIncludeDirectories="..\..\..\console\dec\inc,..\..\..\api\svc,..\..\..\common\inc,..\..\..\encoder\core\inc"
|
||||
PreprocessorDefinitions="WIN64;NDEBUG;_CONSOLE"
|
||||
StringPooling="true"
|
||||
RuntimeLibrary="0"
|
||||
EnableFunctionLevelLinking="true"
|
||||
PrecompiledHeaderFile=".\..\..\..\obj\decConsole\Release/decConsole.pch"
|
||||
AssemblerListingLocation=".\..\..\..\obj\decConsole\Release/"
|
||||
ObjectFile=".\..\..\..\obj\decConsole\Release/"
|
||||
ProgramDataBaseFileName=".\..\..\..\obj\decConsole\Release/"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
SuppressStartupBanner="true"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
@@ -160,6 +170,8 @@
|
||||
AdditionalDependencies="$(OutDir)\welsdec.lib"
|
||||
OutputFile="$(OutDir)\decConsole.exe"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="true"
|
||||
AdditionalLibraryDirectories="..\..\..\..\bin\win64"
|
||||
ProgramDatabaseFile="$(OutDir)\decConsole.pdb"
|
||||
GenerateMapFile="false"
|
||||
SubSystem="1"
|
||||
@@ -178,6 +190,7 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
SuppressStartupBanner="true"
|
||||
OutputFile="$(OutDir)\decConsole.bsc"
|
||||
/>
|
||||
<Tool
|
||||
@@ -214,20 +227,24 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TypeLibraryName=".\..\..\..\..\bin\win32\Debug/decConsole.tlb"
|
||||
HeaderFileName=""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..\..\console\dec\inc,..\..\..\console\common\inc,..\..\..\api\svc,..\..\..\common\inc"
|
||||
PreprocessorDefinitions="_DEBUG;_CONSOLE"
|
||||
AdditionalIncludeDirectories="..\..\..\console\dec\inc,..\..\..\api\svc,..\..\..\common\inc,..\..\..\decoder\core\inc,..\..\..\encoder\core\inc"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
PrecompiledHeaderFile=".\..\..\..\obj\decConsole\Debug/decConsole.pch"
|
||||
AssemblerListingLocation=".\..\..\..\obj\decConsole\Debug/"
|
||||
ObjectFile=".\..\..\..\obj\decConsole\Debug/"
|
||||
ProgramDataBaseFileName=".\..\..\..\obj\decConsole\Debug/"
|
||||
BrowseInformation="1"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="4"
|
||||
/>
|
||||
<Tool
|
||||
@@ -246,6 +263,8 @@
|
||||
AdditionalDependencies="$(OutDir)\welsdec.lib"
|
||||
OutputFile="$(OutDir)\decConsoled.exe"
|
||||
LinkIncremental="2"
|
||||
SuppressStartupBanner="true"
|
||||
AdditionalLibraryDirectories="..\..\..\..\bin\win32"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(OutDir)\decConsoled.pdb"
|
||||
SubSystem="1"
|
||||
@@ -264,6 +283,7 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
SuppressStartupBanner="true"
|
||||
OutputFile="$(OutDir)\decConsole.bsc"
|
||||
/>
|
||||
<Tool
|
||||
@@ -300,20 +320,25 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
TypeLibraryName=".\..\..\..\..\bin\win32\Debug/decConsole.tlb"
|
||||
HeaderFileName=""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..\..\console\dec\inc,..\..\..\console\common\inc,..\..\..\api\svc,..\..\..\common\inc"
|
||||
PreprocessorDefinitions="_DEBUG;_CONSOLE"
|
||||
AdditionalIncludeDirectories="..\..\..\console\dec\inc,..\..\..\api\svc,..\..\..\common\inc,..\..\..\decoder\core\inc,..\..\..\encoder\core\inc"
|
||||
PreprocessorDefinitions="WIN64;_DEBUG;_CONSOLE"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
PrecompiledHeaderFile=".\..\..\..\obj\decConsole\Debug/decConsole.pch"
|
||||
AssemblerListingLocation=".\..\..\..\obj\decConsole\Debug/"
|
||||
ObjectFile=".\..\..\..\obj\decConsole\Debug/"
|
||||
ProgramDataBaseFileName=".\..\..\..\obj\decConsole\Debug/"
|
||||
BrowseInformation="1"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
@@ -332,6 +357,8 @@
|
||||
AdditionalDependencies="$(OutDir)\welsdec.lib"
|
||||
OutputFile="$(OutDir)\decConsoled.exe"
|
||||
LinkIncremental="2"
|
||||
SuppressStartupBanner="true"
|
||||
AdditionalLibraryDirectories="..\..\..\..\bin\win64"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(OutDir)\decConsoled.pdb"
|
||||
SubSystem="1"
|
||||
@@ -350,6 +377,7 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
SuppressStartupBanner="true"
|
||||
OutputFile="$(OutDir)\decConsole.bsc"
|
||||
/>
|
||||
<Tool
|
||||
@@ -377,11 +405,87 @@
|
||||
<File
|
||||
RelativePath="..\..\..\console\dec\src\h264dec.cpp"
|
||||
>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|x64"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug|x64"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\console\common\src\read_config.cpp"
|
||||
RelativePath="..\..\..\common\src\logging.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\console\dec\src\read_config.cpp"
|
||||
>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|x64"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug|x64"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Header Files"
|
||||
@@ -392,7 +496,7 @@
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\console\common\inc\read_config.h"
|
||||
RelativePath="..\..\..\console\dec\inc\read_config.h"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -42,19 +42,27 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
MkTypLibCompatible="true"
|
||||
SuppressStartupBanner="true"
|
||||
TargetEnvironment="1"
|
||||
TypeLibraryName=".\..\..\..\..\..\bin\Debug/WelsEncPlus.tlb"
|
||||
HeaderFileName=""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..\..\encoder\plus\inc;..\..\..\encoder\core\inc;..\..\..\api\svc;..\..\..\common\inc;..\..\..\processing\interface"
|
||||
PreprocessorDefinitions="_DEBUG;_USRDLL;X86_ASM"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;WELSENCPLUS_EXPORTS;X86_ASM"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
PrecompiledHeaderFile=".\..\..\..\obj\encoder\plus\Debug/WelsEncPlus.pch"
|
||||
AssemblerListingLocation=".\..\..\..\obj\encoder\plus\Debug/"
|
||||
ObjectFile=".\..\..\..\obj\encoder\plus\Debug/"
|
||||
ProgramDataBaseFileName=".\..\..\..\obj\encoder\plus\Debug/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="4"
|
||||
/>
|
||||
<Tool
|
||||
@@ -70,9 +78,11 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="$(OutDir)\welsecore.lib $(OutDir)\welsvp.lib"
|
||||
AdditionalDependencies="$(OutDir)\welsecore.lib"
|
||||
OutputFile="$(OutDir)\welsenc.dll"
|
||||
LinkIncremental="2"
|
||||
SuppressStartupBanner="true"
|
||||
AdditionalLibraryDirectories="..\..\..\..\libs"
|
||||
ModuleDefinitionFile="..\..\..\encoder\plus\src\wels_enc_export.def"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(OutDir)\welsenc.pdb"
|
||||
@@ -94,6 +104,7 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
SuppressStartupBanner="true"
|
||||
OutputFile="$(OutDir)/WelsEncPlus.bsc"
|
||||
/>
|
||||
<Tool
|
||||
@@ -130,19 +141,27 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
MkTypLibCompatible="true"
|
||||
SuppressStartupBanner="true"
|
||||
TargetEnvironment="3"
|
||||
TypeLibraryName=".\..\..\..\..\..\bin\Debug/WelsEncPlus.tlb"
|
||||
HeaderFileName=""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..\..\encoder\plus\inc;..\..\..\encoder\core\inc;..\..\..\api\svc;..\..\..\common\inc;..\..\..\processing\interface"
|
||||
PreprocessorDefinitions="_DEBUG;_USRDLL;X86_ASM"
|
||||
PreprocessorDefinitions="WIN64;_DEBUG;_WINDOWS;_USRDLL;WELSENCPLUS_EXPORTS;X86_ASM"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
PrecompiledHeaderFile=".\..\..\..\obj\encoder\plus\Debug/WelsEncPlus.pch"
|
||||
AssemblerListingLocation=".\..\..\..\obj\encoder\plus\Debug/"
|
||||
ObjectFile=".\..\..\..\obj\encoder\plus\Debug/"
|
||||
ProgramDataBaseFileName=".\..\..\..\obj\encoder\plus\Debug/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
@@ -158,9 +177,11 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="$(OutDir)\welsecore.lib $(OutDir)\welsvp.lib"
|
||||
AdditionalDependencies="$(OutDir)\welsecore.lib"
|
||||
OutputFile="$(OutDir)\welsenc.dll"
|
||||
LinkIncremental="2"
|
||||
SuppressStartupBanner="true"
|
||||
AdditionalLibraryDirectories="..\..\..\..\libs"
|
||||
ModuleDefinitionFile="..\..\..\encoder\plus\src\wels_enc_export.def"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(OutDir)\welsenc.pdb"
|
||||
@@ -182,6 +203,7 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
SuppressStartupBanner="true"
|
||||
OutputFile="$(OutDir)/WelsEncPlus.bsc"
|
||||
/>
|
||||
<Tool
|
||||
@@ -203,7 +225,6 @@
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
@@ -219,21 +240,31 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
MkTypLibCompatible="true"
|
||||
SuppressStartupBanner="true"
|
||||
TargetEnvironment="1"
|
||||
TypeLibraryName=".\..\..\..\..\..\bin\Release/WelsEncPlus.tlb"
|
||||
HeaderFileName=""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="3"
|
||||
InlineFunctionExpansion="2"
|
||||
FavorSizeOrSpeed="1"
|
||||
EnableFiberSafeOptimizations="true"
|
||||
WholeProgramOptimization="true"
|
||||
AdditionalIncludeDirectories="..\..\..\encoder\plus\inc;..\..\..\encoder\core\inc;..\..\..\api\svc;..\..\..\common\inc;..\..\..\processing\interface"
|
||||
PreprocessorDefinitions="NDEBUG;_USRDLL;X86_ASM"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;WELSENCPLUS_EXPORTS;X86_ASM"
|
||||
StringPooling="true"
|
||||
RuntimeLibrary="0"
|
||||
EnableFunctionLevelLinking="true"
|
||||
PrecompiledHeaderFile=".\..\..\..\obj\encoder\plus\Release/WelsEncPlus.pch"
|
||||
AssemblerListingLocation=".\..\..\..\obj\encoder\plus\Release/"
|
||||
ObjectFile=".\..\..\..\obj\encoder\plus\Release/"
|
||||
ProgramDataBaseFileName=".\..\..\..\obj\encoder\plus\Release/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
@@ -249,9 +280,12 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="$(OutDir)\welsecore.lib $(OutDir)\welsvp.lib"
|
||||
AdditionalOptions="/MAPINFO:exports /LTCG"
|
||||
AdditionalDependencies="$(OutDir)\welsecore.lib"
|
||||
OutputFile="$(OutDir)\welsenc.dll"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="true"
|
||||
AdditionalLibraryDirectories="..\..\..\..\libs"
|
||||
ModuleDefinitionFile="..\..\..\encoder\plus\src\wels_enc_export.def"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(OutDir)\welsenc.pdb"
|
||||
@@ -274,6 +308,7 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
SuppressStartupBanner="true"
|
||||
OutputFile="$(OutDir)/WelsEncPlus.bsc"
|
||||
/>
|
||||
<Tool
|
||||
@@ -295,7 +330,6 @@
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
@@ -311,21 +345,31 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
MkTypLibCompatible="true"
|
||||
SuppressStartupBanner="true"
|
||||
TargetEnvironment="3"
|
||||
TypeLibraryName=".\..\..\..\..\..\bin\Release/WelsEncPlus.tlb"
|
||||
HeaderFileName=""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="3"
|
||||
InlineFunctionExpansion="2"
|
||||
FavorSizeOrSpeed="1"
|
||||
EnableFiberSafeOptimizations="true"
|
||||
WholeProgramOptimization="true"
|
||||
AdditionalIncludeDirectories="..\..\..\encoder\plus\inc;..\..\..\encoder\core\inc;..\..\..\api\svc;..\..\..\common\inc;..\..\..\processing\interface"
|
||||
PreprocessorDefinitions="NDEBUG;_USRDLL;X86_ASM"
|
||||
PreprocessorDefinitions="WIN64;NDEBUG;_WINDOWS;_USRDLL;WELSENCPLUS_EXPORTS;X86_ASM"
|
||||
StringPooling="true"
|
||||
RuntimeLibrary="0"
|
||||
EnableFunctionLevelLinking="true"
|
||||
PrecompiledHeaderFile=".\..\..\..\obj\encoder\plus\Release/WelsEncPlus.pch"
|
||||
AssemblerListingLocation=".\..\..\..\obj\encoder\plus\Release/"
|
||||
ObjectFile=".\..\..\..\obj\encoder\plus\Release/"
|
||||
ProgramDataBaseFileName=".\..\..\..\obj\encoder\plus\Release/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
@@ -341,9 +385,12 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="$(OutDir)\welsecore.lib $(OutDir)\welsvp.lib"
|
||||
AdditionalOptions="/MAPINFO:exports /LTCG"
|
||||
AdditionalDependencies="$(OutDir)\welsecore.lib"
|
||||
OutputFile="$(OutDir)\welsenc.dll"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="true"
|
||||
AdditionalLibraryDirectories="..\..\..\..\libs"
|
||||
ModuleDefinitionFile="..\..\..\encoder\plus\src\wels_enc_export.def"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(OutDir)\welsenc.pdb"
|
||||
@@ -366,6 +413,7 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
SuppressStartupBanner="true"
|
||||
OutputFile="$(OutDir)/WelsEncPlus.bsc"
|
||||
/>
|
||||
<Tool
|
||||
@@ -389,18 +437,126 @@
|
||||
<File
|
||||
RelativePath="..\..\..\encoder\plus\src\DllEntry.cpp"
|
||||
>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug|x64"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|x64"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\encoder\plus\src\wels_enc_export.def"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\common\src\welsCodecTrace.cpp"
|
||||
RelativePath="..\..\..\encoder\plus\src\welsCodecTrace.cpp"
|
||||
>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug|x64"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|x64"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\encoder\plus\src\welsEncoderExt.cpp"
|
||||
>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug|x64"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|x64"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
@@ -408,7 +564,7 @@
|
||||
Filter="h;hpp;hxx;hm;inl"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\..\..\common\inc\welsCodecTrace.h"
|
||||
RelativePath="..\..\..\encoder\plus\inc\welsCodecTrace.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
@@ -423,6 +579,42 @@
|
||||
<File
|
||||
RelativePath="..\..\..\encoder\plus\res\welsenc.rc"
|
||||
>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions=""
|
||||
AdditionalIncludeDirectories="\Project\svc_perf_opt_b\codec\Wels\project\encoder\plus\res"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug|x64"
|
||||
>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions=""
|
||||
AdditionalIncludeDirectories="\Project\svc_perf_opt_b\codec\Wels\project\encoder\plus\res"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions=""
|
||||
AdditionalIncludeDirectories="\Project\svc_perf_opt_b\codec\Wels\project\encoder\plus\res"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|x64"
|
||||
>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions=""
|
||||
AdditionalIncludeDirectories="\Project\svc_perf_opt_b\codec\Wels\project\encoder\plus\res"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
</Filter>
|
||||
</Files>
|
||||
|
||||
@@ -17,7 +17,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "encConsole", "encConsole.vc
|
||||
{E8DFAFA1-8DAC-4127-8D27-FBD5819EE562} = {E8DFAFA1-8DAC-4127-8D27-FBD5819EE562}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WelsVP", "..\..\..\processing\build\win32\WelsVP.vcproj", "{E8DFAFA1-8DAC-4127-8D27-FBD5819EE562}"
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WelsVP", "..\..\..\processing\build\win32\WelsVP_2008.vcproj", "{E8DFAFA1-8DAC-4127-8D27-FBD5819EE562}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
@@ -42,19 +42,23 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TypeLibraryName=".\..\..\..\..\..\bin\Debug/encConsole.tlb"
|
||||
HeaderFileName=""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..\..\console\enc\inc,..\..\..\console\common\inc,..\..\..\api\svc,..\..\..\encoder\core\inc,..\..\..\common\inc,..\..\..\processing\interface"
|
||||
PreprocessorDefinitions="_DEBUG;_CONSOLE;"
|
||||
AdditionalIncludeDirectories="..\..\..\console\enc\inc,..\..\..\api\svc,..\..\..\WelsThreadLib\api,..\..\..\encoder\core\inc,..\..\..\common\inc,..\..\..\processing\interface"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
PrecompiledHeaderFile=".\..\..\..\obj\encConsole\Debug/encConsole.pch"
|
||||
AssemblerListingLocation=".\..\..\..\obj\encConsole\Debug/"
|
||||
ObjectFile=".\..\..\..\obj\encConsole\Debug/"
|
||||
ProgramDataBaseFileName=".\..\..\..\obj\encConsole\Debug/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="4"
|
||||
/>
|
||||
<Tool
|
||||
@@ -73,6 +77,8 @@
|
||||
AdditionalDependencies="$(OutDir)\welsenc.lib"
|
||||
OutputFile="$(OutDir)\encConsole.exe"
|
||||
LinkIncremental="2"
|
||||
SuppressStartupBanner="true"
|
||||
AdditionalLibraryDirectories="..\..\..\bin"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(OutDir)\encConsole.pdb"
|
||||
GenerateMapFile="true"
|
||||
@@ -93,93 +99,7 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
OutputFile="$(OutDir)\encConsole.bsc"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|x64"
|
||||
OutputDirectory=".\..\..\..\..\bin\win64\Debug"
|
||||
IntermediateDirectory=".\..\..\..\obj\encConsole\Debug"
|
||||
ConfigurationType="1"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..\..\console\enc\inc,..\..\..\console\common\inc,..\..\..\api\svc,..\..\..\encoder\core\inc,..\..\..\common\inc,..\..\..\processing\interface"
|
||||
PreprocessorDefinitions="_DEBUG;_CONSOLE"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
AssemblerListingLocation=".\..\..\..\obj\encConsole\Debug/"
|
||||
ObjectFile=".\..\..\..\obj\encConsole\Debug/"
|
||||
ProgramDataBaseFileName=".\..\..\..\obj\encConsole\Debug/"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
Culture="1033"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="$(OutDir)\welsenc.lib"
|
||||
OutputFile="$(OutDir)\encConsole.exe"
|
||||
LinkIncremental="2"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(OutDir)\encConsole.pdb"
|
||||
GenerateMapFile="true"
|
||||
MapFileName="$(OutDir)\encConsole.map"
|
||||
SubSystem="1"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="2"
|
||||
TargetMachine="17"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
SuppressStartupBanner="true"
|
||||
OutputFile="$(OutDir)\encConsole.bsc"
|
||||
/>
|
||||
<Tool
|
||||
@@ -216,20 +136,24 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TypeLibraryName=".\..\..\..\..\..\bin\Release/encConsole.tlb"
|
||||
HeaderFileName=""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="..\..\..\console\enc\inc,..\..\..\console\common\inc,..\..\..\api\svc,..\..\..\encoder\core\inc,..\..\..\common\inc,..\..\..\processing\interface"
|
||||
PreprocessorDefinitions="NDEBUG;_CONSOLE;X86_ASM;"
|
||||
AdditionalIncludeDirectories="..\..\..\console\enc\inc,..\..\..\api\svc,..\..\..\WelsThreadLib\api,..\..\..\encoder\core\inc,..\..\..\common\inc,..\..\..\processing\interface"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;X86_ASM;"
|
||||
StringPooling="true"
|
||||
RuntimeLibrary="0"
|
||||
EnableFunctionLevelLinking="true"
|
||||
PrecompiledHeaderFile=".\..\..\..\obj\encConsole\Release/encConsole.pch"
|
||||
AssemblerListingLocation=".\..\..\..\obj\encConsole\Release/"
|
||||
ObjectFile=".\..\..\..\obj\encConsole\Release/"
|
||||
ProgramDataBaseFileName=".\..\..\..\obj\encConsole\Release/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
@@ -248,6 +172,8 @@
|
||||
AdditionalDependencies="$(OutDir)\welsenc.lib"
|
||||
OutputFile="$(OutDir)\encConsole.exe"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="true"
|
||||
AdditionalLibraryDirectories="..\..\..\bin"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(OutDir)\encConsole.pdb"
|
||||
GenerateMapFile="false"
|
||||
@@ -268,6 +194,102 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
SuppressStartupBanner="true"
|
||||
OutputFile="$(OutDir)\encConsole.bsc"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|x64"
|
||||
OutputDirectory=".\..\..\..\..\bin\win64\Debug"
|
||||
IntermediateDirectory=".\..\..\..\obj\encConsole\Debug"
|
||||
ConfigurationType="1"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
TypeLibraryName=".\..\..\..\..\..\bin\Debug/encConsole.tlb"
|
||||
HeaderFileName=""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..\..\console\enc\inc,..\..\..\api\svc,..\..\..\WelsThreadLib\api,..\..\..\encoder\core\inc,..\..\..\common\inc,..\..\..\processing\interface"
|
||||
PreprocessorDefinitions="WIN64;_DEBUG;_CONSOLE"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
PrecompiledHeaderFile=".\..\..\..\obj\encConsole\Debug/encConsole.pch"
|
||||
AssemblerListingLocation=".\..\..\..\obj\encConsole\Debug/"
|
||||
ObjectFile=".\..\..\..\obj\encConsole\Debug/"
|
||||
ProgramDataBaseFileName=".\..\..\..\obj\encConsole\Debug/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
Culture="1033"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="$(OutDir)\welsenc.lib"
|
||||
OutputFile="$(OutDir)\encConsole.exe"
|
||||
LinkIncremental="2"
|
||||
SuppressStartupBanner="true"
|
||||
AdditionalLibraryDirectories="..\..\..\bin"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(OutDir)\encConsole.pdb"
|
||||
GenerateMapFile="true"
|
||||
MapFileName="$(OutDir)\encConsole.map"
|
||||
SubSystem="1"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="2"
|
||||
TargetMachine="17"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
SuppressStartupBanner="true"
|
||||
OutputFile="$(OutDir)\encConsole.bsc"
|
||||
/>
|
||||
<Tool
|
||||
@@ -304,20 +326,25 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
TypeLibraryName=".\..\..\..\..\..\bin\Release/encConsole.tlb"
|
||||
HeaderFileName=""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="..\..\..\console\enc\inc,..\..\..\console\common\inc,..\..\..\api\svc,..\..\..\encoder\core\inc,..\..\..\common\inc,..\..\..\processing\interface"
|
||||
PreprocessorDefinitions="NDEBUG;_CONSOLE"
|
||||
AdditionalIncludeDirectories="..\..\..\console\enc\inc,..\..\..\api\svc,..\..\..\WelsThreadLib\api,..\..\..\encoder\core\inc,..\..\..\common\inc,..\..\..\processing\interface"
|
||||
PreprocessorDefinitions="WIN64;NDEBUG;_CONSOLE"
|
||||
StringPooling="true"
|
||||
RuntimeLibrary="0"
|
||||
EnableFunctionLevelLinking="true"
|
||||
PrecompiledHeaderFile=".\..\..\..\obj\encConsole\Release/encConsole.pch"
|
||||
AssemblerListingLocation=".\..\..\..\obj\encConsole\Release/"
|
||||
ObjectFile=".\..\..\..\obj\encConsole\Release/"
|
||||
ProgramDataBaseFileName=".\..\..\..\obj\encConsole\Release/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
@@ -336,6 +363,8 @@
|
||||
AdditionalDependencies="$(OutDir)\welsenc.lib"
|
||||
OutputFile="$(OutDir)\encConsole.exe"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="true"
|
||||
AdditionalLibraryDirectories="..\..\..\bin"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(OutDir)\encConsole.pdb"
|
||||
GenerateMapFile="false"
|
||||
@@ -356,6 +385,7 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
SuppressStartupBanner="true"
|
||||
OutputFile="$(OutDir)\encConsole.bsc"
|
||||
/>
|
||||
<Tool
|
||||
@@ -377,12 +407,88 @@
|
||||
Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\..\..\console\common\src\read_config.cpp"
|
||||
RelativePath="..\..\..\common\src\logging.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\console\enc\src\read_config.cpp"
|
||||
>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug|x64"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|x64"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\console\enc\src\welsenc.cpp"
|
||||
>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug|x64"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|x64"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
@@ -390,7 +496,7 @@
|
||||
Filter="h;hpp;hxx;hm;inl"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\..\..\console\common\inc\read_config.h"
|
||||
RelativePath="..\..\..\console\enc\inc\read_config.h"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
|
||||
@@ -35,76 +35,76 @@
|
||||
#include "arm_arch_common_macro.S"
|
||||
|
||||
#ifdef __APPLE__
|
||||
.macro LOAD_ALIGNED_DATA_WITH_STRIDE
|
||||
// { // input: $0~$3, src*, src_stride
|
||||
vld1.64 {$0}, [$4,:128], $5
|
||||
vld1.64 {$1}, [$4,:128], $5
|
||||
vld1.64 {$2}, [$4,:128], $5
|
||||
vld1.64 {$3}, [$4,:128], $5
|
||||
// }
|
||||
.macro LOAD_ALIGNED_DATA_WITH_STRIDE
|
||||
// { // input: $0~$3, src*, src_stride
|
||||
vld1.64 {$0}, [$4,:128], $5
|
||||
vld1.64 {$1}, [$4,:128], $5
|
||||
vld1.64 {$2}, [$4,:128], $5
|
||||
vld1.64 {$3}, [$4,:128], $5
|
||||
// }
|
||||
.endm
|
||||
|
||||
.macro STORE_ALIGNED_DATA_WITH_STRIDE
|
||||
// { // input: $0~$3, dst*, dst_stride
|
||||
vst1.64 {$0}, [$4,:128], $5
|
||||
vst1.64 {$1}, [$4,:128], $5
|
||||
vst1.64 {$2}, [$4,:128], $5
|
||||
vst1.64 {$3}, [$4,:128], $5
|
||||
// }
|
||||
.macro STORE_ALIGNED_DATA_WITH_STRIDE
|
||||
// { // input: $0~$3, dst*, dst_stride
|
||||
vst1.64 {$0}, [$4,:128], $5
|
||||
vst1.64 {$1}, [$4,:128], $5
|
||||
vst1.64 {$2}, [$4,:128], $5
|
||||
vst1.64 {$3}, [$4,:128], $5
|
||||
// }
|
||||
.endm
|
||||
|
||||
.macro LOAD_UNALIGNED_DATA_WITH_STRIDE
|
||||
// { // input: $0~$3, src*, src_stride
|
||||
vld1.64 {$0}, [$4], $5
|
||||
vld1.64 {$1}, [$4], $5
|
||||
vld1.64 {$2}, [$4], $5
|
||||
vld1.64 {$3}, [$4], $5
|
||||
// }
|
||||
.macro LOAD_UNALIGNED_DATA_WITH_STRIDE
|
||||
// { // input: $0~$3, src*, src_stride
|
||||
vld1.64 {$0}, [$4], $5
|
||||
vld1.64 {$1}, [$4], $5
|
||||
vld1.64 {$2}, [$4], $5
|
||||
vld1.64 {$3}, [$4], $5
|
||||
// }
|
||||
.endm
|
||||
|
||||
.macro STORE_UNALIGNED_DATA_WITH_STRIDE
|
||||
// { // input: $0~$3, dst*, dst_stride
|
||||
vst1.64 {$0}, [$4], $5
|
||||
vst1.64 {$1}, [$4], $5
|
||||
vst1.64 {$2}, [$4], $5
|
||||
vst1.64 {$3}, [$4], $5
|
||||
// }
|
||||
.macro STORE_UNALIGNED_DATA_WITH_STRIDE
|
||||
// { // input: $0~$3, dst*, dst_stride
|
||||
vst1.64 {$0}, [$4], $5
|
||||
vst1.64 {$1}, [$4], $5
|
||||
vst1.64 {$2}, [$4], $5
|
||||
vst1.64 {$3}, [$4], $5
|
||||
// }
|
||||
.endm
|
||||
#else
|
||||
.macro LOAD_ALIGNED_DATA_WITH_STRIDE arg0, arg1, arg2, arg3, arg4, arg5
|
||||
// { // input: \arg0~\arg3, src*, src_stride
|
||||
vld1.64 {\arg0}, [\arg4,:128], \arg5
|
||||
vld1.64 {\arg1}, [\arg4,:128], \arg5
|
||||
vld1.64 {\arg2}, [\arg4,:128], \arg5
|
||||
vld1.64 {\arg3}, [\arg4,:128], \arg5
|
||||
// }
|
||||
.macro LOAD_ALIGNED_DATA_WITH_STRIDE arg0, arg1, arg2, arg3, arg4, arg5
|
||||
// { // input: \arg0~\arg3, src*, src_stride
|
||||
vld1.64 {\arg0}, [\arg4,:128], \arg5
|
||||
vld1.64 {\arg1}, [\arg4,:128], \arg5
|
||||
vld1.64 {\arg2}, [\arg4,:128], \arg5
|
||||
vld1.64 {\arg3}, [\arg4,:128], \arg5
|
||||
// }
|
||||
.endm
|
||||
|
||||
.macro STORE_ALIGNED_DATA_WITH_STRIDE arg0, arg1, arg2, arg3, arg4, arg5
|
||||
// { // input: \arg0~\arg3, dst*, dst_stride
|
||||
vst1.64 {\arg0}, [\arg4,:128], \arg5
|
||||
vst1.64 {\arg1}, [\arg4,:128], \arg5
|
||||
vst1.64 {\arg2}, [\arg4,:128], \arg5
|
||||
vst1.64 {\arg3}, [\arg4,:128], \arg5
|
||||
// }
|
||||
.macro STORE_ALIGNED_DATA_WITH_STRIDE arg0, arg1, arg2, arg3, arg4, arg5
|
||||
// { // input: \arg0~\arg3, dst*, dst_stride
|
||||
vst1.64 {\arg0}, [\arg4,:128], \arg5
|
||||
vst1.64 {\arg1}, [\arg4,:128], \arg5
|
||||
vst1.64 {\arg2}, [\arg4,:128], \arg5
|
||||
vst1.64 {\arg3}, [\arg4,:128], \arg5
|
||||
// }
|
||||
.endm
|
||||
|
||||
.macro LOAD_UNALIGNED_DATA_WITH_STRIDE arg0, arg1, arg2, arg3, arg4, arg5
|
||||
// { // input: \arg0~\arg3, src*, src_stride
|
||||
vld1.64 {\arg0}, [\arg4], \arg5
|
||||
vld1.64 {\arg1}, [\arg4], \arg5
|
||||
vld1.64 {\arg2}, [\arg4], \arg5
|
||||
vld1.64 {\arg3}, [\arg4], \arg5
|
||||
// }
|
||||
.macro LOAD_UNALIGNED_DATA_WITH_STRIDE arg0, arg1, arg2, arg3, arg4, arg5
|
||||
// { // input: \arg0~\arg3, src*, src_stride
|
||||
vld1.64 {\arg0}, [\arg4], \arg5
|
||||
vld1.64 {\arg1}, [\arg4], \arg5
|
||||
vld1.64 {\arg2}, [\arg4], \arg5
|
||||
vld1.64 {\arg3}, [\arg4], \arg5
|
||||
// }
|
||||
.endm
|
||||
|
||||
.macro STORE_UNALIGNED_DATA_WITH_STRIDE arg0, arg1, arg2, arg3, arg4, arg5
|
||||
// { // input: \arg0~\arg3, dst*, dst_stride
|
||||
vst1.64 {\arg0}, [\arg4], \arg5
|
||||
vst1.64 {\arg1}, [\arg4], \arg5
|
||||
vst1.64 {\arg2}, [\arg4], \arg5
|
||||
vst1.64 {\arg3}, [\arg4], \arg5
|
||||
// }
|
||||
.macro STORE_UNALIGNED_DATA_WITH_STRIDE arg0, arg1, arg2, arg3, arg4, arg5
|
||||
// { // input: \arg0~\arg3, dst*, dst_stride
|
||||
vst1.64 {\arg0}, [\arg4], \arg5
|
||||
vst1.64 {\arg1}, [\arg4], \arg5
|
||||
vst1.64 {\arg2}, [\arg4], \arg5
|
||||
vst1.64 {\arg3}, [\arg4], \arg5
|
||||
// }
|
||||
.endm
|
||||
|
||||
#endif
|
||||
@@ -112,89 +112,89 @@
|
||||
|
||||
WELS_ASM_FUNC_BEGIN WelsCopy8x8_neon
|
||||
|
||||
LOAD_UNALIGNED_DATA_WITH_STRIDE d0, d1, d2, d3, r2, r3
|
||||
LOAD_UNALIGNED_DATA_WITH_STRIDE d0, d1, d2, d3, r2, r3
|
||||
|
||||
STORE_UNALIGNED_DATA_WITH_STRIDE d0, d1, d2, d3, r0, r1
|
||||
STORE_UNALIGNED_DATA_WITH_STRIDE d0, d1, d2, d3, r0, r1
|
||||
|
||||
LOAD_UNALIGNED_DATA_WITH_STRIDE d4, d5, d6, d7, r2, r3
|
||||
LOAD_UNALIGNED_DATA_WITH_STRIDE d4, d5, d6, d7, r2, r3
|
||||
|
||||
STORE_UNALIGNED_DATA_WITH_STRIDE d4, d5, d6, d7, r0, r1
|
||||
STORE_UNALIGNED_DATA_WITH_STRIDE d4, d5, d6, d7, r0, r1
|
||||
|
||||
WELS_ASM_FUNC_END
|
||||
|
||||
|
||||
WELS_ASM_FUNC_BEGIN WelsCopy16x16_neon
|
||||
|
||||
LOAD_ALIGNED_DATA_WITH_STRIDE q0, q1, q2, q3, r2, r3
|
||||
LOAD_ALIGNED_DATA_WITH_STRIDE q0, q1, q2, q3, r2, r3
|
||||
|
||||
STORE_ALIGNED_DATA_WITH_STRIDE q0, q1, q2, q3, r0, r1
|
||||
STORE_ALIGNED_DATA_WITH_STRIDE q0, q1, q2, q3, r0, r1
|
||||
|
||||
LOAD_ALIGNED_DATA_WITH_STRIDE q8, q9, q10, q11, r2, r3
|
||||
LOAD_ALIGNED_DATA_WITH_STRIDE q8, q9, q10, q11, r2, r3
|
||||
|
||||
STORE_ALIGNED_DATA_WITH_STRIDE q8, q9, q10, q11, r0, r1
|
||||
STORE_ALIGNED_DATA_WITH_STRIDE q8, q9, q10, q11, r0, r1
|
||||
|
||||
LOAD_ALIGNED_DATA_WITH_STRIDE q0, q1, q2, q3, r2, r3
|
||||
LOAD_ALIGNED_DATA_WITH_STRIDE q0, q1, q2, q3, r2, r3
|
||||
|
||||
STORE_ALIGNED_DATA_WITH_STRIDE q0, q1, q2, q3, r0, r1
|
||||
STORE_ALIGNED_DATA_WITH_STRIDE q0, q1, q2, q3, r0, r1
|
||||
|
||||
LOAD_ALIGNED_DATA_WITH_STRIDE q8, q9, q10, q11, r2, r3
|
||||
LOAD_ALIGNED_DATA_WITH_STRIDE q8, q9, q10, q11, r2, r3
|
||||
|
||||
STORE_ALIGNED_DATA_WITH_STRIDE q8, q9, q10, q11, r0, r1
|
||||
STORE_ALIGNED_DATA_WITH_STRIDE q8, q9, q10, q11, r0, r1
|
||||
|
||||
WELS_ASM_FUNC_END
|
||||
|
||||
|
||||
WELS_ASM_FUNC_BEGIN WelsCopy16x16NotAligned_neon
|
||||
|
||||
LOAD_UNALIGNED_DATA_WITH_STRIDE q0, q1, q2, q3, r2, r3
|
||||
LOAD_UNALIGNED_DATA_WITH_STRIDE q0, q1, q2, q3, r2, r3
|
||||
|
||||
STORE_UNALIGNED_DATA_WITH_STRIDE q0, q1, q2, q3, r0, r1
|
||||
STORE_UNALIGNED_DATA_WITH_STRIDE q0, q1, q2, q3, r0, r1
|
||||
|
||||
LOAD_UNALIGNED_DATA_WITH_STRIDE q8, q9, q10, q11, r2, r3
|
||||
LOAD_UNALIGNED_DATA_WITH_STRIDE q8, q9, q10, q11, r2, r3
|
||||
|
||||
STORE_UNALIGNED_DATA_WITH_STRIDE q8, q9, q10, q11, r0, r1
|
||||
STORE_UNALIGNED_DATA_WITH_STRIDE q8, q9, q10, q11, r0, r1
|
||||
|
||||
LOAD_UNALIGNED_DATA_WITH_STRIDE q0, q1, q2, q3, r2, r3
|
||||
LOAD_UNALIGNED_DATA_WITH_STRIDE q0, q1, q2, q3, r2, r3
|
||||
|
||||
STORE_UNALIGNED_DATA_WITH_STRIDE q0, q1, q2, q3, r0, r1
|
||||
STORE_UNALIGNED_DATA_WITH_STRIDE q0, q1, q2, q3, r0, r1
|
||||
|
||||
LOAD_UNALIGNED_DATA_WITH_STRIDE q8, q9, q10, q11, r2, r3
|
||||
LOAD_UNALIGNED_DATA_WITH_STRIDE q8, q9, q10, q11, r2, r3
|
||||
|
||||
STORE_UNALIGNED_DATA_WITH_STRIDE q8, q9, q10, q11, r0, r1
|
||||
STORE_UNALIGNED_DATA_WITH_STRIDE q8, q9, q10, q11, r0, r1
|
||||
|
||||
WELS_ASM_FUNC_END
|
||||
|
||||
|
||||
WELS_ASM_FUNC_BEGIN WelsCopy16x8NotAligned_neon
|
||||
|
||||
LOAD_UNALIGNED_DATA_WITH_STRIDE q0, q1, q2, q3, r2, r3
|
||||
LOAD_UNALIGNED_DATA_WITH_STRIDE q0, q1, q2, q3, r2, r3
|
||||
|
||||
STORE_UNALIGNED_DATA_WITH_STRIDE q0, q1, q2, q3, r0, r1
|
||||
STORE_UNALIGNED_DATA_WITH_STRIDE q0, q1, q2, q3, r0, r1
|
||||
|
||||
LOAD_UNALIGNED_DATA_WITH_STRIDE q8, q9, q10, q11, r2, r3
|
||||
LOAD_UNALIGNED_DATA_WITH_STRIDE q8, q9, q10, q11, r2, r3
|
||||
|
||||
STORE_UNALIGNED_DATA_WITH_STRIDE q8, q9, q10, q11, r0, r1
|
||||
STORE_UNALIGNED_DATA_WITH_STRIDE q8, q9, q10, q11, r0, r1
|
||||
|
||||
WELS_ASM_FUNC_END
|
||||
|
||||
|
||||
WELS_ASM_FUNC_BEGIN WelsCopy8x16_neon
|
||||
|
||||
LOAD_UNALIGNED_DATA_WITH_STRIDE d0, d1, d2, d3, r2, r3
|
||||
LOAD_UNALIGNED_DATA_WITH_STRIDE d0, d1, d2, d3, r2, r3
|
||||
|
||||
STORE_UNALIGNED_DATA_WITH_STRIDE d0, d1, d2, d3, r0, r1
|
||||
STORE_UNALIGNED_DATA_WITH_STRIDE d0, d1, d2, d3, r0, r1
|
||||
|
||||
LOAD_UNALIGNED_DATA_WITH_STRIDE d4, d5, d6, d7, r2, r3
|
||||
LOAD_UNALIGNED_DATA_WITH_STRIDE d4, d5, d6, d7, r2, r3
|
||||
|
||||
STORE_UNALIGNED_DATA_WITH_STRIDE d4, d5, d6, d7, r0, r1
|
||||
STORE_UNALIGNED_DATA_WITH_STRIDE d4, d5, d6, d7, r0, r1
|
||||
|
||||
LOAD_UNALIGNED_DATA_WITH_STRIDE d0, d1, d2, d3, r2, r3
|
||||
LOAD_UNALIGNED_DATA_WITH_STRIDE d0, d1, d2, d3, r2, r3
|
||||
|
||||
STORE_UNALIGNED_DATA_WITH_STRIDE d0, d1, d2, d3, r0, r1
|
||||
STORE_UNALIGNED_DATA_WITH_STRIDE d0, d1, d2, d3, r0, r1
|
||||
|
||||
LOAD_UNALIGNED_DATA_WITH_STRIDE d4, d5, d6, d7, r2, r3
|
||||
LOAD_UNALIGNED_DATA_WITH_STRIDE d4, d5, d6, d7, r2, r3
|
||||
|
||||
STORE_UNALIGNED_DATA_WITH_STRIDE d4, d5, d6, d7, r0, r1
|
||||
STORE_UNALIGNED_DATA_WITH_STRIDE d4, d5, d6, d7, r0, r1
|
||||
|
||||
WELS_ASM_FUNC_END
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -37,119 +37,119 @@
|
||||
|
||||
WELS_ASM_FUNC_BEGIN ExpandPictureLuma_neon
|
||||
stmdb sp!, {r4-r8}
|
||||
//Save the dst
|
||||
mov r7, r0
|
||||
mov r8, r3
|
||||
//Save the dst
|
||||
mov r7, r0
|
||||
mov r8, r3
|
||||
|
||||
add r4, r7, r2
|
||||
sub r4, #1
|
||||
add r4, r7, r2
|
||||
sub r4, #1
|
||||
//For the left and right expand
|
||||
_expand_picture_luma_loop2:
|
||||
sub r5, r7, #32
|
||||
add r6, r4, #1
|
||||
sub r5, r7, #32
|
||||
add r6, r4, #1
|
||||
|
||||
vld1.8 {d0[], d1[]}, [r7], r1
|
||||
vld1.8 {d2[], d3[]}, [r4], r1
|
||||
vld1.8 {d0[], d1[]}, [r7], r1
|
||||
vld1.8 {d2[], d3[]}, [r4], r1
|
||||
|
||||
vst1.8 {q0}, [r5]!
|
||||
vst1.8 {q0}, [r5]
|
||||
vst1.8 {q1}, [r6]!
|
||||
vst1.8 {q1}, [r6]
|
||||
subs r8, #1
|
||||
bne _expand_picture_luma_loop2
|
||||
vst1.8 {q0}, [r5]!
|
||||
vst1.8 {q0}, [r5]
|
||||
vst1.8 {q1}, [r6]!
|
||||
vst1.8 {q1}, [r6]
|
||||
subs r8, #1
|
||||
bne _expand_picture_luma_loop2
|
||||
|
||||
//for the top and bottom expand
|
||||
add r2, #64
|
||||
sub r0, #32
|
||||
mla r4, r1, r3, r0
|
||||
sub r4, r1
|
||||
//for the top and bottom expand
|
||||
add r2, #64
|
||||
sub r0, #32
|
||||
mla r4, r1, r3, r0
|
||||
sub r4, r1
|
||||
_expand_picture_luma_loop0:
|
||||
mov r5, #32
|
||||
mov r5, #32
|
||||
mls r5, r5, r1, r0
|
||||
add r6, r4, r1
|
||||
vld1.8 {q0}, [r0]!
|
||||
vld1.8 {q1}, [r4]!
|
||||
add r6, r4, r1
|
||||
vld1.8 {q0}, [r0]!
|
||||
vld1.8 {q1}, [r4]!
|
||||
|
||||
mov r8, #32
|
||||
mov r8, #32
|
||||
_expand_picture_luma_loop1:
|
||||
vst1.8 {q0}, [r5], r1
|
||||
vst1.8 {q1}, [r6], r1
|
||||
subs r8, #1
|
||||
vst1.8 {q0}, [r5], r1
|
||||
vst1.8 {q1}, [r6], r1
|
||||
subs r8, #1
|
||||
bne _expand_picture_luma_loop1
|
||||
|
||||
subs r2, #16
|
||||
bne _expand_picture_luma_loop0
|
||||
subs r2, #16
|
||||
bne _expand_picture_luma_loop0
|
||||
|
||||
//vldreq.32 d0, [r0]
|
||||
|
||||
ldmia sp!, {r4-r8}
|
||||
ldmia sp!, {r4-r8}
|
||||
WELS_ASM_FUNC_END
|
||||
|
||||
|
||||
WELS_ASM_FUNC_BEGIN ExpandPictureChroma_neon
|
||||
stmdb sp!, {r4-r9}
|
||||
//Save the dst
|
||||
mov r7, r0
|
||||
mov r8, r3
|
||||
//Save the dst
|
||||
mov r7, r0
|
||||
mov r8, r3
|
||||
|
||||
add r4, r7, r2
|
||||
sub r4, #1
|
||||
add r4, r7, r2
|
||||
sub r4, #1
|
||||
//For the left and right expand
|
||||
_expand_picture_chroma_loop2:
|
||||
sub r5, r7, #16
|
||||
add r6, r4, #1
|
||||
sub r5, r7, #16
|
||||
add r6, r4, #1
|
||||
|
||||
vld1.8 {d0[], d1[]}, [r7], r1
|
||||
vld1.8 {d2[], d3[]}, [r4], r1
|
||||
vld1.8 {d0[], d1[]}, [r7], r1
|
||||
vld1.8 {d2[], d3[]}, [r4], r1
|
||||
|
||||
vst1.8 {q0}, [r5]
|
||||
vst1.8 {q1}, [r6]
|
||||
subs r8, #1
|
||||
bne _expand_picture_chroma_loop2
|
||||
vst1.8 {q0}, [r5]
|
||||
vst1.8 {q1}, [r6]
|
||||
subs r8, #1
|
||||
bne _expand_picture_chroma_loop2
|
||||
|
||||
//for the top and bottom expand
|
||||
add r2, #32
|
||||
mov r9, r2
|
||||
bic r2, #15
|
||||
sub r0, #16
|
||||
mla r4, r1, r3, r0
|
||||
sub r4, r1
|
||||
//for the top and bottom expand
|
||||
add r2, #32
|
||||
mov r9, r2
|
||||
bic r2, #15
|
||||
sub r0, #16
|
||||
mla r4, r1, r3, r0
|
||||
sub r4, r1
|
||||
_expand_picture_chroma_loop0:
|
||||
mov r5, #16
|
||||
mls r5, r5, r1, r0
|
||||
add r6, r4, r1
|
||||
vld1.8 {q0}, [r0]!
|
||||
vld1.8 {q1}, [r4]!
|
||||
mov r5, #16
|
||||
mls r5, r5, r1, r0
|
||||
add r6, r4, r1
|
||||
vld1.8 {q0}, [r0]!
|
||||
vld1.8 {q1}, [r4]!
|
||||
|
||||
mov r8, #16
|
||||
mov r8, #16
|
||||
_expand_picture_chroma_loop1:
|
||||
vst1.8 {q0}, [r5], r1
|
||||
vst1.8 {q1}, [r6], r1
|
||||
subs r8, #1
|
||||
bne _expand_picture_chroma_loop1
|
||||
vst1.8 {q0}, [r5], r1
|
||||
vst1.8 {q1}, [r6], r1
|
||||
subs r8, #1
|
||||
bne _expand_picture_chroma_loop1
|
||||
|
||||
subs r2, #16
|
||||
bne _expand_picture_chroma_loop0
|
||||
subs r2, #16
|
||||
bne _expand_picture_chroma_loop0
|
||||
|
||||
//vldreq.32 d0, [r0]
|
||||
|
||||
and r9, #15
|
||||
cmp r9, #8
|
||||
bne _expand_picture_chroma_end
|
||||
mov r5, #16
|
||||
mls r5, r5, r1, r0
|
||||
add r6, r4, r1
|
||||
vld1.8 {d0}, [r0]!
|
||||
vld1.8 {d2}, [r4]!
|
||||
mov r8, #16
|
||||
and r9, #15
|
||||
cmp r9, #8
|
||||
bne _expand_picture_chroma_end
|
||||
mov r5, #16
|
||||
mls r5, r5, r1, r0
|
||||
add r6, r4, r1
|
||||
vld1.8 {d0}, [r0]!
|
||||
vld1.8 {d2}, [r4]!
|
||||
mov r8, #16
|
||||
_expand_picture_chroma_loop3:
|
||||
vst1.8 {d0}, [r5], r1
|
||||
vst1.8 {d2}, [r6], r1
|
||||
subs r8, #1
|
||||
bne _expand_picture_chroma_loop3
|
||||
vst1.8 {d0}, [r5], r1
|
||||
vst1.8 {d2}, [r6], r1
|
||||
subs r8, #1
|
||||
bne _expand_picture_chroma_loop3
|
||||
_expand_picture_chroma_end:
|
||||
|
||||
ldmia sp!, {r4-r9}
|
||||
ldmia sp!, {r4-r9}
|
||||
WELS_ASM_FUNC_END
|
||||
|
||||
#endif
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -32,13 +32,13 @@
|
||||
|
||||
#ifdef __APPLE__
|
||||
|
||||
.macro WELS_ASM_AARCH64_FUNC_BEGIN
|
||||
.macro WELS_ASM_ARCH64_FUNC_BEGIN
|
||||
.align 2
|
||||
.globl _$0
|
||||
_$0:
|
||||
.endm
|
||||
|
||||
.macro WELS_ASM_AARCH64_FUNC_END
|
||||
.macro WELS_ASM_ARCH64_FUNC_END
|
||||
ret
|
||||
.endm
|
||||
#else
|
||||
@@ -46,7 +46,7 @@ ret
|
||||
.section .note.GNU-stack,"",%progbits // Mark stack as non-executable
|
||||
.text
|
||||
|
||||
.macro WELS_ASM_AARCH64_FUNC_BEGIN funcName
|
||||
.macro WELS_ASM_ARCH64_FUNC_BEGIN funcName
|
||||
.align 2
|
||||
.global \funcName
|
||||
.type \funcName, %function
|
||||
@@ -54,7 +54,7 @@ ret
|
||||
\funcName:
|
||||
.endm
|
||||
|
||||
.macro WELS_ASM_AARCH64_FUNC_END
|
||||
.macro WELS_ASM_ARCH64_FUNC_END
|
||||
ret
|
||||
.endfunc
|
||||
.endm
|
||||
@@ -67,4 +67,11 @@ ret
|
||||
mov \arg0\().8b, \arg1\().8b
|
||||
.endm
|
||||
|
||||
.macro ext.16b arg0, arg1, arg2, arg3
|
||||
ext \arg0\().16b, \arg1\().16b, \arg2\().16b, \arg3
|
||||
.endm
|
||||
|
||||
.macro ext.8b arg0, arg1, arg2, arg3
|
||||
ext \arg0\().8b, \arg1\().8b, \arg2\().8b, \arg3
|
||||
.endm
|
||||
#endif
|
||||
|
||||
@@ -1,274 +0,0 @@
|
||||
/*!
|
||||
* \copy
|
||||
* Copyright (c) 2013, Cisco Systems
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifdef HAVE_NEON_AARCH64
|
||||
.text
|
||||
#include "arm_arch64_common_macro.S"
|
||||
|
||||
#ifdef __APPLE__
|
||||
.macro LOAD_ALIGNED_DATA_WITH_STRIDE
|
||||
// { // input: $0~$3, src*, src_stride
|
||||
ld1 {$0.d}[0], [$4], $5
|
||||
ld1 {$1.d}[0], [$4], $5
|
||||
ld1 {$2.d}[0], [$4], $5
|
||||
ld1 {$3.d}[0], [$4], $5
|
||||
// }
|
||||
.endm
|
||||
|
||||
.macro STORE_ALIGNED_DATA_WITH_STRIDE
|
||||
// { // input: $0~$3, dst*, dst_stride
|
||||
st1 {$0.d}[0], [$4], $5
|
||||
st1 {$1.d}[0], [$4], $5
|
||||
st1 {$2.d}[0], [$4], $5
|
||||
st1 {$3.d}[0], [$4], $5
|
||||
// }
|
||||
.endm
|
||||
|
||||
.macro LOAD_UNALIGNED_DATA_WITH_STRIDE
|
||||
// { // input: $0~$3, src*, src_stride
|
||||
ld1 {$0.8b}, [$4], $5
|
||||
ld1 {$1.8b}, [$4], $5
|
||||
ld1 {$2.8b}, [$4], $5
|
||||
ld1 {$3.8b}, [$4], $5
|
||||
// }
|
||||
.endm
|
||||
|
||||
.macro STORE_UNALIGNED_DATA_WITH_STRIDE
|
||||
// { // input: $0~$3, dst*, dst_stride
|
||||
st1 {$0.8b}, [$4], $5
|
||||
st1 {$1.8b}, [$4], $5
|
||||
st1 {$2.8b}, [$4], $5
|
||||
st1 {$3.8b}, [$4], $5
|
||||
// }
|
||||
.endm
|
||||
|
||||
.macro LOAD16_ALIGNED_DATA_WITH_STRIDE
|
||||
// { // input: $0~$3, src*, src_stride
|
||||
ld1 {$0.2d}, [$4], $5
|
||||
ld1 {$1.2d}, [$4], $5
|
||||
ld1 {$2.2d}, [$4], $5
|
||||
ld1 {$3.2d}, [$4], $5
|
||||
// }
|
||||
.endm
|
||||
|
||||
.macro STORE16_ALIGNED_DATA_WITH_STRIDE
|
||||
// { // input: $0~$3, dst*, dst_stride
|
||||
st1 {$0.2d}, [$4], $5
|
||||
st1 {$1.2d}, [$4], $5
|
||||
st1 {$2.2d}, [$4], $5
|
||||
st1 {$3.2d}, [$4], $5
|
||||
// }
|
||||
.endm
|
||||
|
||||
.macro LOAD16_UNALIGNED_DATA_WITH_STRIDE
|
||||
// { // input: $0~$3, src*, src_stride
|
||||
ld1 {$0.16b}, [$4], $5
|
||||
ld1 {$1.16b}, [$4], $5
|
||||
ld1 {$2.16b}, [$4], $5
|
||||
ld1 {$3.16b}, [$4], $5
|
||||
// }
|
||||
.endm
|
||||
|
||||
.macro STORE16_UNALIGNED_DATA_WITH_STRIDE
|
||||
// { // input: $0~$3, dst*, dst_stride
|
||||
st1 {$0.16b}, [$4], $5
|
||||
st1 {$1.16b}, [$4], $5
|
||||
st1 {$2.16b}, [$4], $5
|
||||
st1 {$3.16b}, [$4], $5
|
||||
// }
|
||||
.endm
|
||||
|
||||
#else
|
||||
.macro LOAD_ALIGNED_DATA_WITH_STRIDE arg0, arg1, arg2, arg3, arg4, arg5
|
||||
// { // input: $0~$3, src*, src_stride
|
||||
ld1 {\arg0\().d}[0], [\arg4], \arg5
|
||||
ld1 {\arg1\().d}[0], [\arg4], \arg5
|
||||
ld1 {\arg2\().d}[0], [\arg4], \arg5
|
||||
ld1 {\arg3\().d}[0], [\arg4], \arg5
|
||||
// }
|
||||
.endm
|
||||
|
||||
.macro STORE_ALIGNED_DATA_WITH_STRIDE arg0, arg1, arg2, arg3, arg4, arg5
|
||||
// { // input: $0~$3, dst*, dst_stride
|
||||
st1 {\arg0\().d}[0], [\arg4], \arg5
|
||||
st1 {\arg1\().d}[0], [\arg4], \arg5
|
||||
st1 {\arg2\().d}[0], [\arg4], \arg5
|
||||
st1 {\arg3\().d}[0], [\arg4], \arg5
|
||||
// }
|
||||
.endm
|
||||
|
||||
.macro LOAD_UNALIGNED_DATA_WITH_STRIDE arg0, arg1, arg2, arg3, arg4, arg5
|
||||
// { // input: $0~$3, src*, src_stride
|
||||
ld1 {\arg0\().8b}, [\arg4], \arg5
|
||||
ld1 {\arg1\().8b}, [\arg4], \arg5
|
||||
ld1 {\arg2\().8b}, [\arg4], \arg5
|
||||
ld1 {\arg3\().8b}, [\arg4], \arg5
|
||||
// }
|
||||
.endm
|
||||
|
||||
.macro STORE_UNALIGNED_DATA_WITH_STRIDE arg0, arg1, arg2, arg3, arg4, arg5
|
||||
// { // input: $0~$3, dst*, dst_stride
|
||||
st1 {\arg0\().8b}, [\arg4], \arg5
|
||||
st1 {\arg1\().8b}, [\arg4], \arg5
|
||||
st1 {\arg2\().8b}, [\arg4], \arg5
|
||||
st1 {\arg3\().8b}, [\arg4], \arg5
|
||||
// }
|
||||
.endm
|
||||
|
||||
.macro LOAD16_ALIGNED_DATA_WITH_STRIDE arg0, arg1, arg2, arg3, arg4, arg5
|
||||
// { // input: $0~$3, src*, src_stride
|
||||
ld1 {\arg0\().2d}, [\arg4], \arg5
|
||||
ld1 {\arg1\().2d}, [\arg4], \arg5
|
||||
ld1 {\arg2\().2d}, [\arg4], \arg5
|
||||
ld1 {\arg3\().2d}, [\arg4], \arg5
|
||||
// }
|
||||
.endm
|
||||
|
||||
.macro STORE16_ALIGNED_DATA_WITH_STRIDE arg0, arg1, arg2, arg3, arg4, arg5
|
||||
// { // input: $0~$3, dst*, dst_stride
|
||||
st1 {\arg0\().2d}, [\arg4], \arg5
|
||||
st1 {\arg1\().2d}, [\arg4], \arg5
|
||||
st1 {\arg2\().2d}, [\arg4], \arg5
|
||||
st1 {\arg3\().2d}, [\arg4], \arg5
|
||||
// }
|
||||
.endm
|
||||
|
||||
.macro LOAD16_UNALIGNED_DATA_WITH_STRIDE arg0, arg1, arg2, arg3, arg4, arg5
|
||||
// { // input: $0~$3, src*, src_stride
|
||||
ld1 {\arg0\().16b}, [\arg4], \arg5
|
||||
ld1 {\arg1\().16b}, [\arg4], \arg5
|
||||
ld1 {\arg2\().16b}, [\arg4], \arg5
|
||||
ld1 {\arg3\().16b}, [\arg4], \arg5
|
||||
// }
|
||||
.endm
|
||||
|
||||
.macro STORE16_UNALIGNED_DATA_WITH_STRIDE arg0, arg1, arg2, arg3, arg4, arg5
|
||||
// { // input: $0~$3, dst*, dst_stride
|
||||
st1 {\arg0\().16b}, [\arg4], \arg5
|
||||
st1 {\arg1\().16b}, [\arg4], \arg5
|
||||
st1 {\arg2\().16b}, [\arg4], \arg5
|
||||
st1 {\arg3\().16b}, [\arg4], \arg5
|
||||
// }
|
||||
.endm
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
WELS_ASM_AARCH64_FUNC_BEGIN WelsCopy8x8_AArch64_neon
|
||||
|
||||
LOAD_UNALIGNED_DATA_WITH_STRIDE v0, v1, v2, v3, x2, x3
|
||||
|
||||
STORE_UNALIGNED_DATA_WITH_STRIDE v0, v1, v2, v3, x0, x1
|
||||
|
||||
LOAD_UNALIGNED_DATA_WITH_STRIDE v4, v5, v6, v7, x2, x3
|
||||
|
||||
STORE_UNALIGNED_DATA_WITH_STRIDE v4, v5, v6, v7, x0, x1
|
||||
|
||||
WELS_ASM_AARCH64_FUNC_END
|
||||
|
||||
|
||||
WELS_ASM_AARCH64_FUNC_BEGIN WelsCopy16x16_AArch64_neon
|
||||
|
||||
LOAD16_ALIGNED_DATA_WITH_STRIDE v0, v1, v2, v3, x2, x3
|
||||
|
||||
STORE16_ALIGNED_DATA_WITH_STRIDE v0, v1, v2, v3, x0, x1
|
||||
|
||||
LOAD16_ALIGNED_DATA_WITH_STRIDE v16, v17, v18, v19, x2, x3
|
||||
|
||||
STORE16_ALIGNED_DATA_WITH_STRIDE v16, v17, v18, v19, x0, x1
|
||||
|
||||
LOAD16_ALIGNED_DATA_WITH_STRIDE v0, v1, v2, v3, x2, x3
|
||||
|
||||
STORE16_ALIGNED_DATA_WITH_STRIDE v0, v1, v2, v3, x0, x1
|
||||
|
||||
LOAD16_ALIGNED_DATA_WITH_STRIDE v16, v17, v18, v19, x2, x3
|
||||
|
||||
STORE16_ALIGNED_DATA_WITH_STRIDE v16, v17, v18, v19, x0, x1
|
||||
|
||||
WELS_ASM_AARCH64_FUNC_END
|
||||
|
||||
|
||||
WELS_ASM_AARCH64_FUNC_BEGIN WelsCopy16x16NotAligned_AArch64_neon
|
||||
|
||||
LOAD16_UNALIGNED_DATA_WITH_STRIDE v0, v1, v2, v3, x2, x3
|
||||
|
||||
STORE16_UNALIGNED_DATA_WITH_STRIDE v0, v1, v2, v3, x0, x1
|
||||
|
||||
LOAD16_UNALIGNED_DATA_WITH_STRIDE v16, v17, v18, v19, x2, x3
|
||||
|
||||
STORE16_UNALIGNED_DATA_WITH_STRIDE v16, v17, v18, v19, x0, x1
|
||||
|
||||
LOAD16_UNALIGNED_DATA_WITH_STRIDE v0, v1, v2, v3, x2, x3
|
||||
|
||||
STORE16_UNALIGNED_DATA_WITH_STRIDE v0, v1, v2, v3, x0, x1
|
||||
|
||||
LOAD16_UNALIGNED_DATA_WITH_STRIDE v16, v17, v18, v19, x2, x3
|
||||
|
||||
STORE16_UNALIGNED_DATA_WITH_STRIDE v16, v17, v18, v19, x0, x1
|
||||
|
||||
WELS_ASM_AARCH64_FUNC_END
|
||||
|
||||
|
||||
WELS_ASM_AARCH64_FUNC_BEGIN WelsCopy16x8NotAligned_AArch64_neon
|
||||
|
||||
LOAD16_UNALIGNED_DATA_WITH_STRIDE v0, v1, v2, v3, x2, x3
|
||||
|
||||
STORE16_UNALIGNED_DATA_WITH_STRIDE v0, v1, v2, v3, x0, x1
|
||||
|
||||
LOAD16_UNALIGNED_DATA_WITH_STRIDE v16, v17, v18, v19, x2, x3
|
||||
|
||||
STORE16_UNALIGNED_DATA_WITH_STRIDE v16, v17, v18, v19, x0, x1
|
||||
|
||||
WELS_ASM_AARCH64_FUNC_END
|
||||
|
||||
|
||||
WELS_ASM_AARCH64_FUNC_BEGIN WelsCopy8x16_AArch64_neon
|
||||
|
||||
LOAD_UNALIGNED_DATA_WITH_STRIDE v0, v1, v2, v3, x2, x3
|
||||
|
||||
STORE_UNALIGNED_DATA_WITH_STRIDE v0, v1, v2, v3, x0, x1
|
||||
|
||||
LOAD_UNALIGNED_DATA_WITH_STRIDE v4, v5, v6, v7, x2, x3
|
||||
|
||||
STORE_UNALIGNED_DATA_WITH_STRIDE v4, v5, v6, v7, x0, x1
|
||||
|
||||
LOAD_UNALIGNED_DATA_WITH_STRIDE v0, v1, v2, v3, x2, x3
|
||||
|
||||
STORE_UNALIGNED_DATA_WITH_STRIDE v0, v1, v2, v3, x0, x1
|
||||
|
||||
LOAD_UNALIGNED_DATA_WITH_STRIDE v4, v5, v6, v7, x2, x3
|
||||
|
||||
STORE_UNALIGNED_DATA_WITH_STRIDE v4, v5, v6, v7, x0, x1
|
||||
|
||||
WELS_ASM_AARCH64_FUNC_END
|
||||
|
||||
#endif
|
||||
File diff suppressed because it is too large
Load Diff
@@ -34,7 +34,7 @@
|
||||
.text
|
||||
#include "arm_arch64_common_macro.S"
|
||||
|
||||
WELS_ASM_AARCH64_FUNC_BEGIN ExpandPictureLuma_AArch64_neon
|
||||
WELS_ASM_ARCH64_FUNC_BEGIN ExpandPictureLuma_AArch64_neon
|
||||
mov x7, x0
|
||||
mov x8, x3
|
||||
add x4, x7, x2
|
||||
@@ -53,91 +53,91 @@ _expand_picture_luma_loop2:
|
||||
sub x8, x8, #1
|
||||
cbnz x8, _expand_picture_luma_loop2
|
||||
//for the top and bottom expand
|
||||
add x2, x2, #64
|
||||
sub x0, x0, #32
|
||||
add x2, x2, #64
|
||||
sub x0, x0, #32
|
||||
madd x4, x1, x3, x0
|
||||
sub x4, x4, x1
|
||||
_expand_picture_luma_loop0:
|
||||
mov x5, #32
|
||||
mov x5, #32
|
||||
msub x5, x5, x1, x0
|
||||
add x6, x4, x1
|
||||
add x6, x4, x1
|
||||
ld1 {v0.16b}, [x0], x10
|
||||
ld1 {v1.16b}, [x4], x10
|
||||
mov x8, #32
|
||||
mov x8, #32
|
||||
_expand_picture_luma_loop1:
|
||||
st1 {v0.16b}, [x5], x1
|
||||
st1 {v1.16b}, [x6], x1
|
||||
sub x8, x8, #1
|
||||
st1 {v0.16b}, [x5], x1
|
||||
st1 {v1.16b}, [x6], x1
|
||||
sub x8, x8, #1
|
||||
cbnz x8, _expand_picture_luma_loop1
|
||||
|
||||
sub x2, x2, #16
|
||||
cbnz x2, _expand_picture_luma_loop0
|
||||
WELS_ASM_AARCH64_FUNC_END
|
||||
sub x2, x2, #16
|
||||
cbnz x2, _expand_picture_luma_loop0
|
||||
WELS_ASM_ARCH64_FUNC_END
|
||||
|
||||
WELS_ASM_AARCH64_FUNC_BEGIN ExpandPictureChroma_AArch64_neon
|
||||
//Save the dst
|
||||
mov x7, x0
|
||||
mov x8, x3
|
||||
WELS_ASM_ARCH64_FUNC_BEGIN ExpandPictureChroma_AArch64_neon
|
||||
//Save the dst
|
||||
mov x7, x0
|
||||
mov x8, x3
|
||||
mov x10, #16
|
||||
add x4, x7, x2
|
||||
sub x4, x4, #1
|
||||
add x4, x7, x2
|
||||
sub x4, x4, #1
|
||||
//For the left and right expand
|
||||
_expand_picture_chroma_loop2:
|
||||
sub x5, x7, #16
|
||||
add x6, x4, #1
|
||||
sub x5, x7, #16
|
||||
add x6, x4, #1
|
||||
|
||||
ld1r {v0.16b}, [x7], x1
|
||||
ld1r {v1.16b}, [x4], x1
|
||||
ld1r {v0.16b}, [x7], x1
|
||||
ld1r {v1.16b}, [x4], x1
|
||||
|
||||
st1 {v0.16b}, [x5]
|
||||
st1 {v1.16b}, [x6]
|
||||
sub x8, x8, #1
|
||||
cbnz x8, _expand_picture_chroma_loop2
|
||||
st1 {v0.16b}, [x5]
|
||||
st1 {v1.16b}, [x6]
|
||||
sub x8, x8, #1
|
||||
cbnz x8, _expand_picture_chroma_loop2
|
||||
|
||||
//for the top and bottom expand
|
||||
add x2, x2, #32
|
||||
//for the top and bottom expand
|
||||
add x2, x2, #32
|
||||
//
|
||||
mov x9, x2
|
||||
mov x11, #15
|
||||
bic x2, x2, x11
|
||||
//
|
||||
sub x0, x0, #16
|
||||
madd x4, x1, x3, x0
|
||||
sub x4, x4, x1
|
||||
sub x0, x0, #16
|
||||
madd x4, x1, x3, x0
|
||||
sub x4, x4, x1
|
||||
_expand_picture_chroma_loop0:
|
||||
mov x5, #16
|
||||
mov x5, #16
|
||||
msub x5, x5, x1, x0
|
||||
add x6, x4, x1
|
||||
ld1 {v0.16b}, [x0], x10
|
||||
ld1 {v1.16b}, [x4], x10
|
||||
add x6, x4, x1
|
||||
ld1 {v0.16b}, [x0], x10
|
||||
ld1 {v1.16b}, [x4], x10
|
||||
|
||||
mov x8, #16
|
||||
mov x8, #16
|
||||
_expand_picture_chroma_loop1:
|
||||
st1 {v0.16b}, [x5], x1
|
||||
st1 {v1.16b}, [x6], x1
|
||||
sub x8, x8, #1
|
||||
st1 {v0.16b}, [x5], x1
|
||||
st1 {v1.16b}, [x6], x1
|
||||
sub x8, x8, #1
|
||||
cbnz x8, _expand_picture_chroma_loop1
|
||||
|
||||
sub x2, x2, #16
|
||||
cbnz x2, _expand_picture_chroma_loop0
|
||||
sub x2, x2, #16
|
||||
cbnz x2, _expand_picture_chroma_loop0
|
||||
|
||||
and x9, x9, #15
|
||||
sub x9, x9, #8
|
||||
cbnz x9, _expand_picture_chroma_end
|
||||
mov x5, #16
|
||||
mov x5, #16
|
||||
msub x5, x5, x1, x0
|
||||
add x6, x4, x1
|
||||
ld1 {v0.8b}, [x0]
|
||||
ld1 {v1.8b}, [x4]
|
||||
add x6, x4, x1
|
||||
ld1 {v0.8b}, [x0]
|
||||
ld1 {v1.8b}, [x4]
|
||||
|
||||
mov x8, #16
|
||||
mov x8, #16
|
||||
_expand_picture_chroma_loop3:
|
||||
st1 {v0.8b}, [x5], x1
|
||||
st1 {v1.8b}, [x6], x1
|
||||
sub x8, x8, #1
|
||||
st1 {v0.8b}, [x5], x1
|
||||
st1 {v1.8b}, [x6], x1
|
||||
sub x8, x8, #1
|
||||
cbnz x8, _expand_picture_chroma_loop3
|
||||
_expand_picture_chroma_end:
|
||||
|
||||
WELS_ASM_AARCH64_FUNC_END
|
||||
WELS_ASM_ARCH64_FUNC_END
|
||||
#endif
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -65,14 +65,6 @@ void WelsCopy16x8NotAligned_neon (uint8_t* pDst, int32_t iStrideD, uint8_t* pSrc
|
||||
void WelsCopy8x16_neon (uint8_t* pDst, int32_t iStrideD, uint8_t* pSrc, int32_t iStrideS);
|
||||
#endif
|
||||
|
||||
#if defined (HAVE_NEON_AARCH64)
|
||||
void WelsCopy8x8_AArch64_neon (uint8_t* pDst, int32_t iStrideD, uint8_t* pSrc, int32_t iStrideS);
|
||||
void WelsCopy16x16_AArch64_neon (uint8_t* pDst, int32_t iStrideD, uint8_t* pSrc, int32_t iStrideS);
|
||||
void WelsCopy16x16NotAligned_AArch64_neon (uint8_t* pDst, int32_t iStrideD, uint8_t* pSrc, int32_t iStrideS);
|
||||
void WelsCopy16x8NotAligned_AArch64_neon (uint8_t* pDst, int32_t iStrideD, uint8_t* pSrc, int32_t iStrideS);
|
||||
void WelsCopy8x16_AArch64_neon (uint8_t* pDst, int32_t iStrideD, uint8_t* pSrc, int32_t iStrideS);
|
||||
#endif
|
||||
|
||||
#if defined(__cplusplus)
|
||||
}
|
||||
#endif//__cplusplus
|
||||
|
||||
@@ -50,18 +50,6 @@ void DeblockChromaLt4H_neon (uint8_t* pPixCb, uint8_t* pPixCr, int32_t iStride,
|
||||
void DeblockChromaEq4H_neon (uint8_t* pPixCb, uint8_t* pPixCr, int32_t iStride, int32_t iAlpha, int32_t iBeta);
|
||||
#endif
|
||||
|
||||
#if defined(HAVE_NEON_AARCH64)
|
||||
void DeblockLumaLt4V_AArch64_neon (uint8_t* pPixY, int32_t iStride, int32_t iAlpha, int32_t iBeta, int8_t* pTc);
|
||||
void DeblockLumaEq4V_AArch64_neon (uint8_t* pPixY, int32_t iStride, int32_t iAlpha, int32_t iBeta);
|
||||
void DeblockLumaLt4H_AArch64_neon (uint8_t* pPixY, int32_t iStride, int32_t iAlpha, int32_t iBeta, int8_t* pTc);
|
||||
void DeblockLumaEq4H_AArch64_neon (uint8_t* pPixY, int32_t iStride, int32_t iAlpha, int32_t iBeta);
|
||||
void DeblockChromaLt4V_AArch64_neon (uint8_t* pPixCb, uint8_t* pPixCr, int32_t iStride, int32_t iAlpha, int32_t iBeta,
|
||||
int8_t* pTC);
|
||||
void DeblockChromaEq4V_AArch64_neon (uint8_t* pPixCb, uint8_t* pPixCr, int32_t iStride, int32_t iAlpha, int32_t iBeta);
|
||||
void DeblockChromaLt4H_AArch64_neon (uint8_t* pPixCb, uint8_t* pPixCr, int32_t iStride, int32_t iAlpha, int32_t iBeta,
|
||||
int8_t* pTC);
|
||||
void DeblockChromaEq4H_AArch64_neon (uint8_t* pPixCb, uint8_t* pPixCr, int32_t iStride, int32_t iAlpha, int32_t iBeta);
|
||||
#endif
|
||||
#if defined(__cplusplus)
|
||||
}
|
||||
#endif//__cplusplus
|
||||
|
||||
@@ -37,8 +37,8 @@
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
||||
#ifndef EXPAND_PICTURE_H
|
||||
#define EXPAND_PICTURE_H
|
||||
#ifndef EXPAND_PICTURE_COMMON_H
|
||||
#define EXPAND_PICTURE_COMMON_H
|
||||
|
||||
#include "typedefs.h"
|
||||
|
||||
@@ -46,8 +46,6 @@
|
||||
extern "C" {
|
||||
#endif//__cplusplus
|
||||
|
||||
#define PADDING_LENGTH 32 // reference extension
|
||||
|
||||
#if defined(X86_ASM)
|
||||
void ExpandPictureLuma_sse2 (uint8_t* pDst,
|
||||
const int32_t kiStride,
|
||||
@@ -72,20 +70,6 @@ void ExpandPictureLuma_AArch64_neon (uint8_t* pDst, const int32_t kiStride, cons
|
||||
void ExpandPictureChroma_AArch64_neon (uint8_t* pDst, const int32_t kiStride, const int32_t kiPicW,
|
||||
const int32_t kiPicH);
|
||||
#endif
|
||||
|
||||
typedef void (*PExpandPictureFunc) (uint8_t* pDst, const int32_t kiStride, const int32_t kiPicW, const int32_t kiPicH);
|
||||
|
||||
typedef struct TagExpandPicFunc {
|
||||
PExpandPictureFunc pfExpandLumaPicture;
|
||||
PExpandPictureFunc pfExpandChromaPicture[2];
|
||||
} SExpandPicFunc;
|
||||
|
||||
|
||||
void ExpandReferencingPicture (uint8_t* pData[3], int32_t iWidth, int32_t iHeight, int32_t iStride[3],
|
||||
PExpandPictureFunc pExpLuma, PExpandPictureFunc pExpChrom[2]);
|
||||
|
||||
void InitExpandPictureFunc (SExpandPicFunc* pExpandPicFunc, const uint32_t kuiCPUFlags);
|
||||
|
||||
#if defined(__cplusplus)
|
||||
}
|
||||
#endif//__cplusplus
|
||||
@@ -1,6 +1,7 @@
|
||||
/*!
|
||||
* \copy
|
||||
* Copyright (c) 2013, Cisco Systems
|
||||
* Copyright (c) 2013, Mozilla
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@@ -30,34 +31,24 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#ifdef HAVE_NEON_AARCH64
|
||||
.text
|
||||
#include "arm_arch64_common_macro.S"
|
||||
|
||||
#ifndef WELS_LOGGING_H__
|
||||
#define WELS_LOGGING_H__
|
||||
|
||||
// API surface.
|
||||
void WelsStderrSetTraceLevel (int32_t level);
|
||||
|
||||
|
||||
WELS_ASM_AARCH64_FUNC_BEGIN WelsSetMemZero_AArch64_neon
|
||||
eor v0.16b, v0.16b, v0.16b
|
||||
cmp x1, #32
|
||||
b.eq mem_zero_32_neon_start
|
||||
b.lt mem_zero_24_neon_start
|
||||
mem_zero_loop:
|
||||
subs x1, x1, #64
|
||||
st1 {v0.16b}, [x0], #16
|
||||
st1 {v0.16b}, [x0], #16
|
||||
st1 {v0.16b}, [x0], #16
|
||||
st1 {v0.16b}, [x0], #16
|
||||
b.ne mem_zero_loop
|
||||
b mem_zero_end
|
||||
// Internal details.
|
||||
int32_t welsStderrLevelTrace (int32_t level, const char* format, va_list ap);
|
||||
|
||||
mem_zero_32_neon_start:
|
||||
st1 {v0.16b}, [x0], #16
|
||||
st1 {v0.16b}, [x0], #16
|
||||
b mem_zero_end
|
||||
mem_zero_24_neon_start:
|
||||
st1 {v0.16b}, [x0], #16
|
||||
st1 {v0.8b}, [x0], #8
|
||||
mem_zero_end:
|
||||
|
||||
WELS_ASM_AARCH64_FUNC_END
|
||||
template<int level> int32_t welsStderrTrace (
|
||||
const char* format, ...) {
|
||||
va_list ap;
|
||||
va_start (ap, format);
|
||||
welsStderrLevelTrace (level, format, ap);
|
||||
va_end (ap);
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif
|
||||
@@ -44,7 +44,6 @@
|
||||
#include <assert.h>
|
||||
#include "typedefs.h"
|
||||
|
||||
|
||||
/*
|
||||
* ENFORCE_STACK_ALIGN_1D: force 1 dimension local data aligned in stack
|
||||
* _tp: type
|
||||
@@ -73,10 +72,20 @@
|
||||
#endif
|
||||
|
||||
#define ALIGNED_DECLARE( type, var, n ) __declspec(align(n)) type var
|
||||
#define __align16(t,v) __declspec(align(16)) t v
|
||||
#define ALIGNED_DECLARE_MATRIX_1D(name,size,type,alignment) \
|
||||
__declspec(align(alignment)) type name[(size)]
|
||||
#define ALIGNED_DECLARE_MATRIX_2D(name,sizex,sizey,type,alignment) \
|
||||
__declspec(align(alignment)) type name[(sizex)*(sizey)]
|
||||
|
||||
#elif defined(__GNUC__)
|
||||
|
||||
#define ALIGNED_DECLARE( type, var, n ) type var __attribute__((aligned(n)))
|
||||
#define __align16(t,v) t v __attribute__ ((aligned (16)))
|
||||
#define ALIGNED_DECLARE_MATRIX_1D(name,size,type,alignment) \
|
||||
type name[size] __attribute__((aligned(alignment)))
|
||||
#define ALIGNED_DECLARE_MATRIX_2D(name,sizex,sizey,type,alignment) \
|
||||
type name[(sizex)*(sizey)] __attribute__((aligned(alignment)))
|
||||
#endif//_MSC_VER
|
||||
|
||||
|
||||
@@ -116,14 +125,6 @@
|
||||
#define WELS_ROUND(x) ((int32_t)(0.5+(x)))
|
||||
#endif//WELS_ROUND
|
||||
|
||||
#ifndef WELS_DIV_ROUND
|
||||
#define WELS_DIV_ROUND(x,y) ((int32_t)((y)==0?((x)/((y)+1)):(((y)/2+(x))/(y))))
|
||||
#endif//WELS_DIV_ROUND
|
||||
|
||||
#ifndef WELS_DIV_ROUND64
|
||||
#define WELS_DIV_ROUND64(x,y) ((int64_t)((y)==0?((x)/((y)+1)):(((y)/2+(x))/(y))))
|
||||
#endif//WELS_DIV_ROUND64
|
||||
|
||||
#define WELS_NON_ZERO_COUNT_AVERAGE(nC,nA,nB) { \
|
||||
nC = nA + nB + 1; \
|
||||
nC >>= (uint8_t)( nA != -1 && nB != -1); \
|
||||
|
||||
@@ -79,7 +79,7 @@ static inline int64_t WelsTime (void) {
|
||||
QueryPerformanceCounter ((LARGE_INTEGER*)&iMtimeCur);
|
||||
iResult = (int64_t) ((double)iMtimeCur * 1e6 / (double)iMtimeFreq + 0.5);
|
||||
return iResult;
|
||||
#endif//_WIN32
|
||||
#endif//WIN32
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -89,19 +89,6 @@ void WelsSampleSadFour4x4_neon (uint8_t*, int32_t, uint8_t*, int32_t, int32_t*);
|
||||
|
||||
#endif
|
||||
|
||||
#if defined (HAVE_NEON_AARCH64)
|
||||
int32_t WelsSampleSad4x4_AArch64_neon (uint8_t*, int32_t, uint8_t*, int32_t);
|
||||
int32_t WelsSampleSad16x16_AArch64_neon (uint8_t*, int32_t, uint8_t*, int32_t);
|
||||
int32_t WelsSampleSad16x8_AArch64_neon (uint8_t*, int32_t, uint8_t*, int32_t);
|
||||
int32_t WelsSampleSad8x16_AArch64_neon (uint8_t*, int32_t, uint8_t*, int32_t);
|
||||
int32_t WelsSampleSad8x8_AArch64_neon (uint8_t*, int32_t, uint8_t*, int32_t);
|
||||
|
||||
void WelsSampleSadFour16x16_AArch64_neon (uint8_t*, int32_t, uint8_t*, int32_t, int32_t*);
|
||||
void WelsSampleSadFour16x8_AArch64_neon (uint8_t*, int32_t, uint8_t*, int32_t, int32_t*);
|
||||
void WelsSampleSadFour8x16_AArch64_neon (uint8_t*, int32_t, uint8_t*, int32_t, int32_t*);
|
||||
void WelsSampleSadFour8x8_AArch64_neon (uint8_t*, int32_t, uint8_t*, int32_t, int32_t*);
|
||||
void WelsSampleSadFour4x4_AArch64_neon (uint8_t*, int32_t, uint8_t*, int32_t, int32_t*);
|
||||
#endif
|
||||
#if defined(__cplusplus)
|
||||
}
|
||||
#endif//__cplusplus
|
||||
|
||||
@@ -48,12 +48,6 @@
|
||||
#include <stdint.h>
|
||||
#include <inttypes.h>
|
||||
|
||||
#ifdef __LP64__
|
||||
typedef int64_t intX_t;
|
||||
#else
|
||||
typedef int32_t intX_t;
|
||||
#endif
|
||||
|
||||
#else
|
||||
|
||||
// FIXME: all singed type should be declared explicit, for example, int8_t should be declared as signed char.
|
||||
@@ -67,12 +61,6 @@ typedef __int64 int64_t ;
|
||||
typedef unsigned __int64 uint64_t;
|
||||
#define PRId64 "I64d"
|
||||
|
||||
#ifdef _WIN64
|
||||
typedef int64_t intX_t;
|
||||
#else
|
||||
typedef int32_t intX_t;
|
||||
#endif
|
||||
|
||||
#endif // _MSC_VER defined
|
||||
|
||||
// The 'float' type is portable and usable without any need for any extra typedefs.
|
||||
|
||||
@@ -1,232 +0,0 @@
|
||||
/*!
|
||||
* \copy
|
||||
* Copyright (c) 2013, Cisco Systems
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
*/
|
||||
|
||||
//wels_common_defs.h
|
||||
#ifndef WELS_COMMON_DEFS_H__
|
||||
#define WELS_COMMON_DEFS_H__
|
||||
|
||||
#include "typedefs.h"
|
||||
#include "macros.h"
|
||||
|
||||
|
||||
|
||||
namespace WelsCommon {
|
||||
/*common use table*/
|
||||
|
||||
extern const uint8_t g_kuiMbCountScan4Idx[24];
|
||||
extern const uint8_t g_kuiCache30ScanIdx[16];
|
||||
extern const uint8_t g_kuiCache48CountScan4Idx[24];
|
||||
|
||||
extern const ALIGNED_DECLARE (uint16_t, g_kuiDequantCoeff[52][8], 16);
|
||||
extern const uint8_t g_kuiChromaQpTable[52];
|
||||
|
||||
/*
|
||||
* NAL Unit Type (5 Bits)
|
||||
*/
|
||||
enum EWelsNalUnitType {
|
||||
NAL_UNIT_UNSPEC_0 = 0,
|
||||
NAL_UNIT_CODED_SLICE = 1,
|
||||
NAL_UNIT_CODED_SLICE_DPA = 2,
|
||||
NAL_UNIT_CODED_SLICE_DPB = 3,
|
||||
NAL_UNIT_CODED_SLICE_DPC = 4,
|
||||
NAL_UNIT_CODED_SLICE_IDR = 5,
|
||||
NAL_UNIT_SEI = 6,
|
||||
NAL_UNIT_SPS = 7,
|
||||
NAL_UNIT_PPS = 8,
|
||||
NAL_UNIT_AU_DELIMITER = 9,
|
||||
NAL_UNIT_END_OF_SEQ = 10,
|
||||
NAL_UNIT_END_OF_STR = 11,
|
||||
NAL_UNIT_FILLER_DATA = 12,
|
||||
NAL_UNIT_SPS_EXT = 13,
|
||||
NAL_UNIT_PREFIX = 14,
|
||||
NAL_UNIT_SUBSET_SPS = 15,
|
||||
NAL_UNIT_RESV_16 = 16,
|
||||
NAL_UNIT_RESV_17 = 17,
|
||||
NAL_UNIT_RESV_18 = 18,
|
||||
NAL_UNIT_AUX_CODED_SLICE = 19,
|
||||
NAL_UNIT_CODED_SLICE_EXT = 20,
|
||||
NAL_UNIT_RESV_21 = 21,
|
||||
NAL_UNIT_RESV_22 = 22,
|
||||
NAL_UNIT_RESV_23 = 23,
|
||||
NAL_UNIT_UNSPEC_24 = 24,
|
||||
NAL_UNIT_UNSPEC_25 = 25,
|
||||
NAL_UNIT_UNSPEC_26 = 26,
|
||||
NAL_UNIT_UNSPEC_27 = 27,
|
||||
NAL_UNIT_UNSPEC_28 = 28,
|
||||
NAL_UNIT_UNSPEC_29 = 29,
|
||||
NAL_UNIT_UNSPEC_30 = 30,
|
||||
NAL_UNIT_UNSPEC_31 = 31
|
||||
};
|
||||
|
||||
/*
|
||||
* NAL Reference IDC (2 Bits)
|
||||
*/
|
||||
|
||||
enum EWelsNalRefIdc {
|
||||
NRI_PRI_LOWEST = 0,
|
||||
NRI_PRI_LOW = 1,
|
||||
NRI_PRI_HIGH = 2,
|
||||
NRI_PRI_HIGHEST = 3
|
||||
};
|
||||
|
||||
/*
|
||||
* VCL TYPE
|
||||
*/
|
||||
|
||||
enum EVclType {
|
||||
NON_VCL = 0,
|
||||
VCL = 1,
|
||||
NOT_APP = 2
|
||||
};
|
||||
|
||||
/*
|
||||
* vcl type map for given NAL unit type and corresponding H264 type (0: AVC; 1: SVC).
|
||||
*/
|
||||
extern const EVclType g_keTypeMap[32][2];
|
||||
|
||||
#define IS_VCL_NAL(t, ext_idx) (g_keTypeMap[t][ext_idx] == VCL)
|
||||
#define IS_PARAM_SETS_NALS(t) ( (t) == NAL_UNIT_SPS || (t) == NAL_UNIT_PPS || (t) == NAL_UNIT_SUBSET_SPS )
|
||||
#define IS_SPS_NAL(t) ( (t) == NAL_UNIT_SPS )
|
||||
#define IS_SUBSET_SPS_NAL(t) ( (t) == NAL_UNIT_SUBSET_SPS )
|
||||
#define IS_PPS_NAL(t) ( (t) == NAL_UNIT_PPS )
|
||||
#define IS_SEI_NAL(t) ( (t) == NAL_UNIT_SEI )
|
||||
#define IS_PREFIX_NAL(t) ( (t) == NAL_UNIT_PREFIX )
|
||||
#define IS_SUBSET_SPS_USED(t) ( (t) == NAL_UNIT_SUBSET_SPS || (t) == NAL_UNIT_CODED_SLICE_EXT )
|
||||
#define IS_VCL_NAL_AVC_BASE(t) ( (t) == NAL_UNIT_CODED_SLICE || (t) == NAL_UNIT_CODED_SLICE_IDR )
|
||||
#define IS_NEW_INTRODUCED_SVC_NAL(t) ( (t) == NAL_UNIT_PREFIX || (t) == NAL_UNIT_CODED_SLICE_EXT )
|
||||
|
||||
|
||||
/* Base SSlice Types
|
||||
* Invalid in case of eSliceType exceeds 9,
|
||||
* Need trim when eSliceType > 4 as fixed SliceType(eSliceType-4),
|
||||
* meaning mapped version after eSliceType minus 4.
|
||||
*/
|
||||
|
||||
enum EWelsSliceType {
|
||||
P_SLICE = 0,
|
||||
B_SLICE = 1,
|
||||
I_SLICE = 2,
|
||||
SP_SLICE = 3,
|
||||
SI_SLICE = 4,
|
||||
UNKNOWN_SLICE = 5
|
||||
};
|
||||
|
||||
/* SSlice Types in scalable extension */ ;
|
||||
enum ESliceTypeExt {
|
||||
EP_SLICE = 0, // EP_SLICE: 0, 5
|
||||
EB_SLICE = 1, // EB_SLICE: 1, 6
|
||||
EI_SLICE = 2 // EI_SLICE: 2, 7
|
||||
};
|
||||
|
||||
/* List Index */
|
||||
enum EListIndex {
|
||||
LIST_0 = 0,
|
||||
LIST_1 = 1,
|
||||
LIST_A = 2
|
||||
};
|
||||
|
||||
|
||||
|
||||
/* Motion Vector components */
|
||||
enum EMvComp {
|
||||
MV_X = 0,
|
||||
MV_Y = 1,
|
||||
MV_A = 2
|
||||
};
|
||||
|
||||
/* Chroma Components */
|
||||
|
||||
enum EChromaComp {
|
||||
CHROMA_CB = 0,
|
||||
CHROMA_CR = 1,
|
||||
CHROMA_A = 2
|
||||
};
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Memory Management Control Operation (MMCO) code
|
||||
*/
|
||||
enum EMmcoCode {
|
||||
MMCO_END = 0,
|
||||
MMCO_SHORT2UNUSED = 1,
|
||||
MMCO_LONG2UNUSED = 2,
|
||||
MMCO_SHORT2LONG = 3,
|
||||
MMCO_SET_MAX_LONG = 4,
|
||||
MMCO_RESET = 5,
|
||||
MMCO_LONG = 6
|
||||
};
|
||||
|
||||
/////////intra16x16 Luma
|
||||
#define I16_PRED_INVALID -1
|
||||
#define I16_PRED_V 0
|
||||
#define I16_PRED_H 1
|
||||
#define I16_PRED_DC 2
|
||||
#define I16_PRED_P 3
|
||||
|
||||
#define I16_PRED_DC_L 4
|
||||
#define I16_PRED_DC_T 5
|
||||
#define I16_PRED_DC_128 6
|
||||
#define I16_PRED_DC_A 7
|
||||
//////////intra4x4 Luma
|
||||
#define I4_PRED_INVALID 0
|
||||
#define I4_PRED_V 0
|
||||
#define I4_PRED_H 1
|
||||
#define I4_PRED_DC 2
|
||||
#define I4_PRED_DDL 3 //diagonal_down_left
|
||||
#define I4_PRED_DDR 4 //diagonal_down_right
|
||||
#define I4_PRED_VR 5 //vertical_right
|
||||
#define I4_PRED_HD 6 //horizon_down
|
||||
#define I4_PRED_VL 7 //vertical_left
|
||||
#define I4_PRED_HU 8 //horizon_up
|
||||
|
||||
#define I4_PRED_DC_L 9
|
||||
#define I4_PRED_DC_T 10
|
||||
#define I4_PRED_DC_128 11
|
||||
|
||||
#define I4_PRED_DDL_TOP 12 //right-top replacing by padding rightmost pixel of top
|
||||
#define I4_PRED_VL_TOP 13 //right-top replacing by padding rightmost pixel of top
|
||||
#define I4_PRED_A 14
|
||||
|
||||
//////////intra Chroma
|
||||
#define C_PRED_INVALID -1
|
||||
#define C_PRED_DC 0
|
||||
#define C_PRED_H 1
|
||||
#define C_PRED_V 2
|
||||
#define C_PRED_P 3
|
||||
|
||||
#define C_PRED_DC_L 4
|
||||
#define C_PRED_DC_T 5
|
||||
#define C_PRED_DC_128 6
|
||||
#define C_PRED_A 7
|
||||
}
|
||||
#endif//WELS_COMMON_DEFS_H__
|
||||
@@ -39,7 +39,7 @@
|
||||
*/
|
||||
|
||||
|
||||
#ifdef __linux__
|
||||
#ifdef LINUX
|
||||
#ifndef _GNU_SOURCE
|
||||
#define _GNU_SOURCE
|
||||
#endif
|
||||
@@ -450,7 +450,7 @@ WELS_THREAD_ERROR_CODE WelsQueryLogicalProcessInfo (WelsLogicalProcessInfo* p
|
||||
#ifdef ANDROID_NDK
|
||||
pInfo->ProcessorCount = android_getCpuCount();
|
||||
return WELS_THREAD_ERROR_OK;
|
||||
#elif defined(__linux__)
|
||||
#elif defined(LINUX)
|
||||
|
||||
cpu_set_t cpuset;
|
||||
|
||||
@@ -472,7 +472,7 @@ WELS_THREAD_ERROR_CODE WelsQueryLogicalProcessInfo (WelsLogicalProcessInfo* p
|
||||
|
||||
return WELS_THREAD_ERROR_OK;
|
||||
|
||||
#endif//__linux__
|
||||
#endif//LINUX
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1,153 +0,0 @@
|
||||
/*!
|
||||
* \copy
|
||||
* Copyright (c) 2013, Cisco Systems
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
*/
|
||||
|
||||
#include "wels_common_defs.h"
|
||||
|
||||
namespace WelsCommon {
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
//////pNonZeroCount[16+8] mapping scan index
|
||||
const uint8_t g_kuiMbCountScan4Idx[24] = {
|
||||
// 0 1 | 4 5 luma 8*8 block pNonZeroCount[16+8]
|
||||
0, 1, 4, 5, // 2 3 | 6 7 0 | 1 0 1 2 3
|
||||
2, 3, 6, 7, //--------------- --------- 4 5 6 7
|
||||
8, 9, 12, 13, // 8 9 | 12 13 2 | 3 8 9 10 11
|
||||
10, 11, 14, 15, // 10 11 | 14 15-----------------------------> 12 13 14 15
|
||||
16, 17, 20, 21, //---------------- chroma 8*8 block 16 17 18 19
|
||||
18, 19, 22, 23 // 16 17 | 20 21 0 1 20 21 22 23
|
||||
};
|
||||
|
||||
const uint8_t g_kuiCache48CountScan4Idx[24] = {
|
||||
/* Luma */
|
||||
9, 10, 17, 18, // 1+1*8, 2+1*8, 1+2*8, 2+2*8,
|
||||
11, 12, 19, 20, // 3+1*8, 4+1*8, 3+2*8, 4+2*8,
|
||||
25, 26, 33, 34, // 1+3*8, 2+3*8, 1+4*8, 2+4*8,
|
||||
27, 28, 35, 36, // 3+3*8, 4+3*8, 3+4*8, 4+4*8,
|
||||
/* Cb */
|
||||
14, 15, // 6+1*8, 7+1*8,
|
||||
22, 23, // 6+2*8, 7+2*8,
|
||||
|
||||
/* Cr */
|
||||
38, 39, // 6+4*8, 7+4*8,
|
||||
46, 47, // 6+5*8, 7+5*8,
|
||||
};
|
||||
|
||||
|
||||
//cache element equal to 30
|
||||
const uint8_t g_kuiCache30ScanIdx[16] = { //mv or uiRefIndex cache scan index, 4*4 block as basic unit
|
||||
7, 8, 13, 14,
|
||||
9, 10, 15, 16,
|
||||
19, 20, 25, 26,
|
||||
21, 22, 27, 28
|
||||
};
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// extern at wels_common_defs.h
|
||||
const uint8_t g_kuiChromaQpTable[52] = {
|
||||
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
|
||||
12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
|
||||
28, 29, 29, 30, 31, 32, 32, 33, 34, 34, 35, 35, 36, 36, 37, 37,
|
||||
37, 38, 38, 38, 39, 39, 39, 39
|
||||
};
|
||||
|
||||
/*
|
||||
* vcl type map for given NAL unit type and corresponding H264 type (0: AVC; 1: SVC).
|
||||
*/
|
||||
const EVclType g_keTypeMap[32][2] = {
|
||||
{ NON_VCL, NON_VCL }, // 0: NAL_UNIT_UNSPEC_0
|
||||
{ VCL, VCL, }, // 1: NAL_UNIT_CODED_SLICE
|
||||
{ VCL, NOT_APP }, // 2: NAL_UNIT_CODED_SLICE_DPA
|
||||
{ VCL, NOT_APP }, // 3: NAL_UNIT_CODED_SLICE_DPB
|
||||
{ VCL, NOT_APP }, // 4: NAL_UNIT_CODED_SLICE_DPC
|
||||
{ VCL, VCL }, // 5: NAL_UNIT_CODED_SLICE_IDR
|
||||
{ NON_VCL, NON_VCL }, // 6: NAL_UNIT_SEI
|
||||
{ NON_VCL, NON_VCL }, // 7: NAL_UNIT_SPS
|
||||
{ NON_VCL, NON_VCL }, // 8: NAL_UNIT_PPS
|
||||
{ NON_VCL, NON_VCL }, // 9: NAL_UNIT_AU_DELIMITER
|
||||
{ NON_VCL, NON_VCL }, // 10: NAL_UNIT_END_OF_SEQ
|
||||
{ NON_VCL, NON_VCL }, // 11: NAL_UNIT_END_OF_STR
|
||||
{ NON_VCL, NON_VCL }, // 12: NAL_UNIT_FILLER_DATA
|
||||
{ NON_VCL, NON_VCL }, // 13: NAL_UNIT_SPS_EXT
|
||||
{ NON_VCL, NON_VCL }, // 14: NAL_UNIT_PREFIX, NEED associate succeeded NAL to make a VCL
|
||||
{ NON_VCL, NON_VCL }, // 15: NAL_UNIT_SUBSET_SPS
|
||||
{ NON_VCL, NON_VCL }, // 16: NAL_UNIT_RESV_16
|
||||
{ NON_VCL, NON_VCL }, // 17: NAL_UNIT_RESV_17
|
||||
{ NON_VCL, NON_VCL }, // 18: NAL_UNIT_RESV_18
|
||||
{ NON_VCL, NON_VCL }, // 19: NAL_UNIT_AUX_CODED_SLICE
|
||||
{ NON_VCL, VCL }, // 20: NAL_UNIT_CODED_SLICE_EXT
|
||||
{ NON_VCL, NON_VCL }, // 21: NAL_UNIT_RESV_21
|
||||
{ NON_VCL, NON_VCL }, // 22: NAL_UNIT_RESV_22
|
||||
{ NON_VCL, NON_VCL }, // 23: NAL_UNIT_RESV_23
|
||||
{ NON_VCL, NON_VCL }, // 24: NAL_UNIT_UNSPEC_24
|
||||
{ NON_VCL, NON_VCL }, // 25: NAL_UNIT_UNSPEC_25
|
||||
{ NON_VCL, NON_VCL }, // 26: NAL_UNIT_UNSPEC_26
|
||||
{ NON_VCL, NON_VCL }, // 27: NAL_UNIT_UNSPEC_27
|
||||
{ NON_VCL, NON_VCL }, // 28: NAL_UNIT_UNSPEC_28
|
||||
{ NON_VCL, NON_VCL }, // 29: NAL_UNIT_UNSPEC_29
|
||||
{ NON_VCL, NON_VCL }, // 30: NAL_UNIT_UNSPEC_30
|
||||
{ NON_VCL, NON_VCL } // 31: NAL_UNIT_UNSPEC_31
|
||||
};
|
||||
|
||||
ALIGNED_DECLARE (const uint16_t, g_kuiDequantCoeff[52][8], 16) = {
|
||||
/* 0*/{ 10, 13, 10, 13, 13, 16, 13, 16 }, /* 1*/{ 11, 14, 11, 14, 14, 18, 14, 18 },
|
||||
/* 2*/{ 13, 16, 13, 16, 16, 20, 16, 20 }, /* 3*/{ 14, 18, 14, 18, 18, 23, 18, 23 },
|
||||
/* 4*/{ 16, 20, 16, 20, 20, 25, 20, 25 }, /* 5*/{ 18, 23, 18, 23, 23, 29, 23, 29 },
|
||||
/* 6*/{ 20, 26, 20, 26, 26, 32, 26, 32 }, /* 7*/{ 22, 28, 22, 28, 28, 36, 28, 36 },
|
||||
/* 8*/{ 26, 32, 26, 32, 32, 40, 32, 40 }, /* 9*/{ 28, 36, 28, 36, 36, 46, 36, 46 },
|
||||
/*10*/{ 32, 40, 32, 40, 40, 50, 40, 50 }, /*11*/{ 36, 46, 36, 46, 46, 58, 46, 58 },
|
||||
/*12*/{ 40, 52, 40, 52, 52, 64, 52, 64 }, /*13*/{ 44, 56, 44, 56, 56, 72, 56, 72 },
|
||||
/*14*/{ 52, 64, 52, 64, 64, 80, 64, 80 }, /*15*/{ 56, 72, 56, 72, 72, 92, 72, 92 },
|
||||
/*16*/{ 64, 80, 64, 80, 80, 100, 80, 100 }, /*17*/{ 72, 92, 72, 92, 92, 116, 92, 116 },
|
||||
/*18*/{ 80, 104, 80, 104, 104, 128, 104, 128 }, /*19*/{ 88, 112, 88, 112, 112, 144, 112, 144 },
|
||||
/*20*/{ 104, 128, 104, 128, 128, 160, 128, 160 }, /*21*/{ 112, 144, 112, 144, 144, 184, 144, 184 },
|
||||
/*22*/{ 128, 160, 128, 160, 160, 200, 160, 200 }, /*23*/{ 144, 184, 144, 184, 184, 232, 184, 232 },
|
||||
/*24*/{ 160, 208, 160, 208, 208, 256, 208, 256 }, /*25*/{ 176, 224, 176, 224, 224, 288, 224, 288 },
|
||||
/*26*/{ 208, 256, 208, 256, 256, 320, 256, 320 }, /*27*/{ 224, 288, 224, 288, 288, 368, 288, 368 },
|
||||
/*28*/{ 256, 320, 256, 320, 320, 400, 320, 400 }, /*29*/{ 288, 368, 288, 368, 368, 464, 368, 464 },
|
||||
/*30*/{ 320, 416, 320, 416, 416, 512, 416, 512 }, /*31*/{ 352, 448, 352, 448, 448, 576, 448, 576 },
|
||||
/*32*/{ 416, 512, 416, 512, 512, 640, 512, 640 }, /*33*/{ 448, 576, 448, 576, 576, 736, 576, 736 },
|
||||
/*34*/{ 512, 640, 512, 640, 640, 800, 640, 800 }, /*35*/{ 576, 736, 576, 736, 736, 928, 736, 928 },
|
||||
/*36*/{ 640, 832, 640, 832, 832, 1024, 832, 1024 }, /*37*/{ 704, 896, 704, 896, 896, 1152, 896, 1152 },
|
||||
/*38*/{ 832, 1024, 832, 1024, 1024, 1280, 1024, 1280 }, /*39*/{ 896, 1152, 896, 1152, 1152, 1472, 1152, 1472 },
|
||||
/*40*/{ 1024, 1280, 1024, 1280, 1280, 1600, 1280, 1600 }, /*41*/{ 1152, 1472, 1152, 1472, 1472, 1856, 1472, 1856 },
|
||||
/*42*/{ 1280, 1664, 1280, 1664, 1664, 2048, 1664, 2048 }, /*43*/{ 1408, 1792, 1408, 1792, 1792, 2304, 1792, 2304 },
|
||||
/*44*/{ 1664, 2048, 1664, 2048, 2048, 2560, 2048, 2560 }, /*45*/{ 1792, 2304, 1792, 2304, 2304, 2944, 2304, 2944 },
|
||||
/*46*/{ 2048, 2560, 2048, 2560, 2560, 3200, 2560, 3200 }, /*47*/{ 2304, 2944, 2304, 2944, 2944, 3712, 2944, 3712 },
|
||||
/*48*/{ 2560, 3328, 2560, 3328, 3328, 4096, 3328, 4096 }, /*49*/{ 2816, 3584, 2816, 3584, 3584, 4608, 3584, 4608 },
|
||||
/*50*/{ 3328, 4096, 3328, 4096, 4096, 5120, 4096, 5120 }, /*51*/{ 3584, 4608, 3584, 4608, 4608, 5888, 4608, 5888 },
|
||||
};
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
}
|
||||
@@ -258,10 +258,9 @@ uint32_t WelsCPUFeatureDetect (int32_t* pNumberOfLogicProcessors) {
|
||||
int flags = 0;
|
||||
while (fgets (buf, sizeof (buf), f)) {
|
||||
if (!strncmp (buf, "Features", strlen ("Features"))) {
|
||||
// The asimd and fp features are listed on 64 bit ARMv8 kernels
|
||||
if (strstr (buf, " neon ") || strstr (buf, " asimd "))
|
||||
if (strstr (buf, " neon "))
|
||||
flags |= WELS_CPU_NEON;
|
||||
if (strstr (buf, " vfpv3 ") || strstr (buf, " fp "))
|
||||
if (strstr (buf, " vfpv3 "))
|
||||
flags |= WELS_CPU_VFPv3;
|
||||
break;
|
||||
}
|
||||
@@ -281,19 +280,7 @@ uint32_t WelsCPUFeatureDetect (int32_t* pNumberOfLogicProcessors) {
|
||||
WELS_CPU_NEON;
|
||||
}
|
||||
#endif
|
||||
#elif defined(HAVE_NEON_AARCH64)
|
||||
|
||||
/* For AArch64, no runtime detection actually is necessary for now, since
|
||||
* NEON and VFPv3 is mandatory on all such CPUs. (/proc/cpuinfo doesn't
|
||||
* contain neon, and the android cpufeatures library doesn't return it
|
||||
* either.) */
|
||||
|
||||
uint32_t WelsCPUFeatureDetect (int32_t* pNumberOfLogicProcessors) {
|
||||
return WELS_CPU_VFPv3 |
|
||||
WELS_CPU_NEON;
|
||||
}
|
||||
|
||||
#else /* Neither X86_ASM, HAVE_NEON nor HAVE_NEON_AARCH64 */
|
||||
#else /* Neither X86_ASM nor HAVE_NEON */
|
||||
|
||||
uint32_t WelsCPUFeatureDetect (int32_t* pNumberOfLogicProcessors) {
|
||||
return 0;
|
||||
|
||||
@@ -112,7 +112,7 @@ int32_t WelsStrftime (char* pBuffer, int32_t iSize, const char* kpFormat, const
|
||||
|
||||
localtime_s (&sTimeNow, &kpTp->time);
|
||||
|
||||
iRc = (int32_t)strftime (pBuffer, iSize, kpFormat, &sTimeNow);
|
||||
iRc = strftime (pBuffer, iSize, kpFormat, &sTimeNow);
|
||||
if (iRc == 0)
|
||||
pBuffer[0] = '\0';
|
||||
return iRc;
|
||||
@@ -234,7 +234,7 @@ int32_t WelsStrftime (char* pBuffer, int32_t iSize, const char* kpFormat, const
|
||||
|
||||
pTnow = localtime (&kpTp->time);
|
||||
|
||||
iRc = (int32_t) strftime (pBuffer, iSize, kpFormat, pTnow);
|
||||
iRc = strftime (pBuffer, iSize, kpFormat, pTnow);
|
||||
if (iRc == 0)
|
||||
pBuffer[0] = '\0';
|
||||
return iRc;
|
||||
@@ -244,12 +244,12 @@ int32_t WelsStrftime (char* pBuffer, int32_t iSize, const char* kpFormat, const
|
||||
|
||||
|
||||
char* WelsStrcat (char* pDest, int32_t iSizeInBytes, const char* kpSrc) {
|
||||
int32_t iCurLen = (int32_t)strlen (pDest);
|
||||
int32_t iCurLen = strlen (pDest);
|
||||
return WelsStrncpy (pDest + iCurLen, iSizeInBytes - iCurLen, kpSrc);
|
||||
}
|
||||
|
||||
int32_t WelsFwrite (const void* kpBuffer, int32_t iSize, int32_t iCount, WelsFileHandle* pFp) {
|
||||
return (int32_t)fwrite (kpBuffer, iSize, iCount, pFp);
|
||||
return fwrite (kpBuffer, iSize, iCount, pFp);
|
||||
}
|
||||
|
||||
uint16_t WelsGetMillisecond (const SWelsTime* kpTp) {
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
/*!
|
||||
* \copy
|
||||
* Copyright (c) 2013, Cisco Systems
|
||||
* Copyright (c) 2013, Mozilla
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@@ -30,68 +31,19 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#ifdef _WIN32
|
||||
#include <windows.h>
|
||||
#include <tchar.h>
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdarg.h>
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
#include "typedefs.h"
|
||||
|
||||
#include "crt_util_safe_x.h" // Safe CRT routines like utils for cross platforms
|
||||
static int32_t g_TraceLevel = 0;
|
||||
|
||||
#include "welsCodecTrace.h"
|
||||
#include "utils.h"
|
||||
|
||||
|
||||
|
||||
static void welsStderrTrace (void* ctx, int level, const char* string) {
|
||||
fprintf (stderr, "%s", string);
|
||||
void WelsStderrSetTraceLevel (int32_t level) {
|
||||
g_TraceLevel = level;
|
||||
}
|
||||
|
||||
welsCodecTrace::welsCodecTrace() {
|
||||
|
||||
m_iTraceLevel = WELS_LOG_DEFAULT;
|
||||
m_fpTrace = welsStderrTrace;
|
||||
m_pTraceCtx = NULL;
|
||||
|
||||
m_sLogCtx.pLogCtx = this;
|
||||
m_sLogCtx.pfLog = StaticCodecTrace;
|
||||
}
|
||||
|
||||
welsCodecTrace::~welsCodecTrace() {
|
||||
m_fpTrace = NULL;
|
||||
}
|
||||
|
||||
#define MAX_LOG_SIZE 1024
|
||||
|
||||
void welsCodecTrace::StaticCodecTrace (void* pCtx, const int32_t iLevel, const char* Str_Format, va_list vl) {
|
||||
welsCodecTrace* self = (welsCodecTrace*) pCtx;
|
||||
self->CodecTrace (iLevel, Str_Format, vl);
|
||||
}
|
||||
|
||||
void welsCodecTrace::CodecTrace (const int32_t iLevel, const char* Str_Format, va_list vl) {
|
||||
if (m_iTraceLevel < iLevel) {
|
||||
return;
|
||||
int32_t welsStderrLevelTrace (int32_t level, const char* format, va_list ap) {
|
||||
if (level < g_TraceLevel) {
|
||||
vfprintf (stderr, format, ap);
|
||||
}
|
||||
|
||||
char pBuf[MAX_LOG_SIZE] = {0};
|
||||
WelsVsnprintf (pBuf, MAX_LOG_SIZE, Str_Format, vl); // confirmed_safe_unsafe_usage
|
||||
|
||||
m_fpTrace (m_pTraceCtx, iLevel, pBuf);
|
||||
return 0;
|
||||
}
|
||||
|
||||
void welsCodecTrace::SetTraceLevel (const int32_t iLevel) {
|
||||
if (iLevel >= 0)
|
||||
m_iTraceLevel = iLevel;
|
||||
}
|
||||
|
||||
void welsCodecTrace::SetTraceCallback (WelsTraceCallback func) {
|
||||
m_fpTrace = func;
|
||||
}
|
||||
|
||||
void welsCodecTrace::SetTraceCallbackContext (void* ctx) {
|
||||
m_pTraceCtx = ctx;
|
||||
}
|
||||
|
||||
@@ -1,107 +0,0 @@
|
||||
/*!
|
||||
* \copy
|
||||
* Copyright (c) 2009-2013, Cisco Systems
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
*
|
||||
* \file utils.c
|
||||
*
|
||||
* \brief common tool/function utilization
|
||||
*
|
||||
* \date 03/10/2009 Created
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
#include "utils.h"
|
||||
#include "crt_util_safe_x.h" // Safe CRT routines like utils for cross platforms
|
||||
|
||||
float WelsCalcPsnr (const void* kpTarPic,
|
||||
const int32_t kiTarStride,
|
||||
const void* kpRefPic,
|
||||
const int32_t kiRefStride,
|
||||
const int32_t kiWidth,
|
||||
const int32_t kiHeight);
|
||||
|
||||
|
||||
void WelsLog (SLogContext* logCtx, int32_t iLevel, const char* kpFmt, ...) {
|
||||
va_list vl;
|
||||
va_start (vl, kpFmt);
|
||||
logCtx->pfLog (logCtx->pLogCtx, iLevel, kpFmt, vl);
|
||||
va_end (vl);
|
||||
}
|
||||
|
||||
#ifndef CALC_PSNR
|
||||
#define CONST_FACTOR_PSNR (10.0 / log(10.0)) // for good computation
|
||||
#define CALC_PSNR(w, h, s) ((float)(CONST_FACTOR_PSNR * log( 65025.0 * w * h / iSqe )))
|
||||
#endif//CALC_PSNR
|
||||
|
||||
/*
|
||||
* PSNR calculation routines
|
||||
*/
|
||||
/*!
|
||||
*************************************************************************************
|
||||
* \brief PSNR calculation utilization in Wels
|
||||
*
|
||||
* \param pTarPic target picture to be calculated in Picture pData format
|
||||
* \param iTarStride stride of target picture pData pBuffer
|
||||
* \param pRefPic base referencing picture samples
|
||||
* \param iRefStride stride of reference picture pData pBuffer
|
||||
* \param iWidth picture iWidth in pixel
|
||||
* \param iHeight picture iHeight in pixel
|
||||
*
|
||||
* \return actual PSNR result;
|
||||
*
|
||||
* \note N/A
|
||||
*************************************************************************************
|
||||
*/
|
||||
float WelsCalcPsnr (const void* kpTarPic,
|
||||
const int32_t kiTarStride,
|
||||
const void* kpRefPic,
|
||||
const int32_t kiRefStride,
|
||||
const int32_t kiWidth,
|
||||
const int32_t kiHeight) {
|
||||
int64_t iSqe = 0;
|
||||
int32_t x, y;
|
||||
uint8_t* pTar = (uint8_t*)kpTarPic;
|
||||
uint8_t* pRef = (uint8_t*)kpRefPic;
|
||||
|
||||
if (NULL == pTar || NULL == pRef)
|
||||
return (-1.0f);
|
||||
|
||||
for (y = 0; y < kiHeight; ++ y) { // OPTable !!
|
||||
for (x = 0; x < kiWidth; ++ x) {
|
||||
const int32_t kiT = pTar[y * kiTarStride + x] - pRef[y * kiRefStride + x];
|
||||
iSqe += kiT * kiT;
|
||||
}
|
||||
}
|
||||
if (0 == iSqe) {
|
||||
return (99.99f);
|
||||
}
|
||||
return CALC_PSNR (kiWidth, kiHeight, iSqe);
|
||||
}
|
||||
|
||||
@@ -1,14 +1,11 @@
|
||||
COMMON_SRCDIR=codec/common
|
||||
COMMON_CPP_SRCS=\
|
||||
$(COMMON_SRCDIR)/src/common_tables.cpp\
|
||||
$(COMMON_SRCDIR)/src/copy_mb.cpp\
|
||||
$(COMMON_SRCDIR)/src/cpu.cpp\
|
||||
$(COMMON_SRCDIR)/src/crt_util_safe_x.cpp\
|
||||
$(COMMON_SRCDIR)/src/deblocking_common.cpp\
|
||||
$(COMMON_SRCDIR)/src/expand_pic.cpp\
|
||||
$(COMMON_SRCDIR)/src/logging.cpp\
|
||||
$(COMMON_SRCDIR)/src/sad_common.cpp\
|
||||
$(COMMON_SRCDIR)/src/utils.cpp\
|
||||
$(COMMON_SRCDIR)/src/welsCodecTrace.cpp\
|
||||
$(COMMON_SRCDIR)/src/WelsThreadLib.cpp\
|
||||
|
||||
COMMON_OBJS += $(COMMON_CPP_SRCS:.cpp=.$(OBJ))
|
||||
@@ -39,8 +36,6 @@ endif
|
||||
|
||||
ifeq ($(ASM_ARCH), arm64)
|
||||
COMMON_ASM_ARM64_SRCS=\
|
||||
$(COMMON_SRCDIR)/arm64/copy_mb_aarch64_neon.S\
|
||||
$(COMMON_SRCDIR)/arm64/deblocking_aarch64_neon.S\
|
||||
$(COMMON_SRCDIR)/arm64/expand_picture_aarch64_neon.S\
|
||||
$(COMMON_SRCDIR)/arm64/mc_aarch64_neon.S\
|
||||
|
||||
@@ -55,7 +50,7 @@ $(COMMON_SRCDIR)/%.$(OBJ): $(COMMON_SRCDIR)/%.asm
|
||||
$(QUIET_ASM)$(ASM) $(ASMFLAGS) $(ASM_INCLUDES) $(COMMON_ASMFLAGS) $(COMMON_ASM_INCLUDES) -o $@ $<
|
||||
|
||||
$(COMMON_SRCDIR)/%.$(OBJ): $(COMMON_SRCDIR)/%.S
|
||||
$(QUIET_CCAS)$(CCAS) $(CCASFLAGS) $(ASMFLAGS) $(INCLUDES) $(COMMON_CFLAGS) $(COMMON_INCLUDES) -c -o $@ $<
|
||||
$(QUIET_CCAS)$(CCAS) $(CFLAGS) $(ASMFLAGS) $(INCLUDES) $(COMMON_CFLAGS) $(COMMON_INCLUDES) -c -o $@ $<
|
||||
|
||||
$(LIBPREFIX)common.$(LIBSUFFIX): $(COMMON_OBJS)
|
||||
$(QUIET)rm -f $@
|
||||
|
||||
@@ -44,15 +44,15 @@
|
||||
;***********************************************************************
|
||||
|
||||
%if 1
|
||||
%define MOVDQ movdqa
|
||||
%define MOVDQ movdqa
|
||||
%else
|
||||
%define MOVDQ movdqu
|
||||
%define MOVDQ movdqu
|
||||
%endif
|
||||
|
||||
%if 1
|
||||
%define WELSEMMS emms
|
||||
%define WELSEMMS emms
|
||||
%else
|
||||
%define WELSEMMS
|
||||
%define WELSEMMS
|
||||
%endif
|
||||
|
||||
|
||||
@@ -220,7 +220,7 @@ BITS 32
|
||||
|
||||
%macro LOAD_1_PARA 0
|
||||
%ifdef X86_32
|
||||
mov r0, [esp + push_num*4 + 4]
|
||||
mov r0, [esp + push_num*4 + 4]
|
||||
%endif
|
||||
%endmacro
|
||||
|
||||
@@ -234,8 +234,8 @@ BITS 32
|
||||
%macro LOAD_3_PARA 0
|
||||
%ifdef X86_32
|
||||
mov r0, [esp + push_num*4 + 4]
|
||||
mov r1, [esp + push_num*4 + 8]
|
||||
mov r2, [esp + push_num*4 + 12]
|
||||
mov r1, [esp + push_num*4 + 8]
|
||||
mov r2, [esp + push_num*4 + 12]
|
||||
%endif
|
||||
%endmacro
|
||||
|
||||
@@ -267,7 +267,7 @@ BITS 32
|
||||
|
||||
%macro LOAD_6_PARA 0
|
||||
%ifdef X86_32
|
||||
push r3
|
||||
push r3
|
||||
push r4
|
||||
push r5
|
||||
%assign push_num push_num+3
|
||||
@@ -310,22 +310,22 @@ BITS 32
|
||||
|
||||
%macro LOAD_4_PARA_POP 0
|
||||
%ifdef X86_32
|
||||
pop r3
|
||||
pop r3
|
||||
%endif
|
||||
%endmacro
|
||||
|
||||
%macro LOAD_5_PARA_POP 0
|
||||
%ifdef X86_32
|
||||
pop r4
|
||||
pop r3
|
||||
pop r3
|
||||
%endif
|
||||
%endmacro
|
||||
|
||||
%macro LOAD_6_PARA_POP 0
|
||||
%ifdef X86_32
|
||||
pop r5
|
||||
pop r4
|
||||
pop r3
|
||||
pop r4
|
||||
pop r3
|
||||
%endif
|
||||
%endmacro
|
||||
|
||||
@@ -416,13 +416,13 @@ BITS 32
|
||||
|
||||
%macro SIGN_EXTENSION 2
|
||||
%ifndef X86_32
|
||||
movsxd %1, %2
|
||||
movsxd %1, %2
|
||||
%endif
|
||||
%endmacro
|
||||
|
||||
%macro SIGN_EXTENSIONW 2
|
||||
%ifndef X86_32
|
||||
movsx %1, %2
|
||||
movsx %1, %2
|
||||
%endif
|
||||
%endmacro
|
||||
|
||||
@@ -438,13 +438,13 @@ BITS 32
|
||||
%endmacro
|
||||
|
||||
%macro WELS_AbsW 2
|
||||
pxor %2, %2
|
||||
pxor %2, %2
|
||||
psubw %2, %1
|
||||
pmaxsw %1, %2
|
||||
%endmacro
|
||||
|
||||
%macro MMX_XSwap 4
|
||||
movq %4, %2
|
||||
movq %4, %2
|
||||
punpckh%1 %4, %3
|
||||
punpckl%1 %2, %3
|
||||
%endmacro
|
||||
@@ -485,35 +485,35 @@ BITS 32
|
||||
;in: m1, m2, m3, m4, m5, m6, m7, m8
|
||||
;pOut: m5, m3, m4, m8, m6, m2, m7, m1
|
||||
%macro SSE2_TransTwo8x8B 9
|
||||
movdqa %9, %8
|
||||
SSE2_XSawp bw, %1, %2, %8
|
||||
SSE2_XSawp bw, %3, %4, %2
|
||||
SSE2_XSawp bw, %5, %6, %4
|
||||
movdqa %6, %9
|
||||
movdqa %9, %4
|
||||
SSE2_XSawp bw, %7, %6, %4
|
||||
movdqa %9, %8
|
||||
SSE2_XSawp bw, %1, %2, %8
|
||||
SSE2_XSawp bw, %3, %4, %2
|
||||
SSE2_XSawp bw, %5, %6, %4
|
||||
movdqa %6, %9
|
||||
movdqa %9, %4
|
||||
SSE2_XSawp bw, %7, %6, %4
|
||||
|
||||
SSE2_XSawp wd, %1, %3, %6
|
||||
SSE2_XSawp wd, %8, %2, %3
|
||||
SSE2_XSawp wd, %5, %7, %2
|
||||
movdqa %7, %9
|
||||
movdqa %9, %3
|
||||
SSE2_XSawp wd, %7, %4, %3
|
||||
SSE2_XSawp wd, %1, %3, %6
|
||||
SSE2_XSawp wd, %8, %2, %3
|
||||
SSE2_XSawp wd, %5, %7, %2
|
||||
movdqa %7, %9
|
||||
movdqa %9, %3
|
||||
SSE2_XSawp wd, %7, %4, %3
|
||||
|
||||
SSE2_XSawp dq, %1, %5, %4
|
||||
SSE2_XSawp dq, %6, %2, %5
|
||||
SSE2_XSawp dq, %8, %7, %2
|
||||
movdqa %7, %9
|
||||
movdqa %9, %5
|
||||
SSE2_XSawp dq, %7, %3, %5
|
||||
SSE2_XSawp dq, %1, %5, %4
|
||||
SSE2_XSawp dq, %6, %2, %5
|
||||
SSE2_XSawp dq, %8, %7, %2
|
||||
movdqa %7, %9
|
||||
movdqa %9, %5
|
||||
SSE2_XSawp dq, %7, %3, %5
|
||||
|
||||
SSE2_XSawp qdq, %1, %8, %3
|
||||
SSE2_XSawp qdq, %4, %2, %8
|
||||
SSE2_XSawp qdq, %6, %7, %2
|
||||
movdqa %7, %9
|
||||
movdqa %9, %1
|
||||
SSE2_XSawp qdq, %7, %5, %1
|
||||
movdqa %5, %9
|
||||
SSE2_XSawp qdq, %1, %8, %3
|
||||
SSE2_XSawp qdq, %4, %2, %8
|
||||
SSE2_XSawp qdq, %6, %7, %2
|
||||
movdqa %7, %9
|
||||
movdqa %9, %1
|
||||
SSE2_XSawp qdq, %7, %5, %1
|
||||
movdqa %5, %9
|
||||
%endmacro
|
||||
|
||||
;xmm0, xmm6, xmm7, [eax], [ecx]
|
||||
@@ -528,32 +528,32 @@ BITS 32
|
||||
|
||||
; m2 = m1 + m2, m1 = m1 - m2
|
||||
%macro SSE2_SumSub 3
|
||||
movdqa %3, %2
|
||||
movdqa %3, %2
|
||||
paddw %2, %1
|
||||
psubw %1, %3
|
||||
%endmacro
|
||||
|
||||
|
||||
%macro butterfly_1to16_sse 3 ; xmm? for dst, xmm? for tmp, one byte for pSrc [generic register name: a/b/c/d]
|
||||
mov %3h, %3l
|
||||
movd %1, e%3x ; i.e, 1% = eax (=b0)
|
||||
pshuflw %2, %1, 00h ; ..., b0 b0 b0 b0 b0 b0 b0 b0
|
||||
pshufd %1, %2, 00h ; b0 b0 b0 b0, b0 b0 b0 b0, b0 b0 b0 b0, b0 b0 b0 b0
|
||||
%macro butterfly_1to16_sse 3 ; xmm? for dst, xmm? for tmp, one byte for pSrc [generic register name: a/b/c/d]
|
||||
mov %3h, %3l
|
||||
movd %1, e%3x ; i.e, 1% = eax (=b0)
|
||||
pshuflw %2, %1, 00h ; ..., b0 b0 b0 b0 b0 b0 b0 b0
|
||||
pshufd %1, %2, 00h ; b0 b0 b0 b0, b0 b0 b0 b0, b0 b0 b0 b0, b0 b0 b0 b0
|
||||
%endmacro
|
||||
|
||||
;copy a dw into a xmm for 8 times
|
||||
%macro SSE2_Copy8Times 2
|
||||
movd %1, %2
|
||||
punpcklwd %1, %1
|
||||
pshufd %1, %1, 0
|
||||
%macro SSE2_Copy8Times 2
|
||||
movd %1, %2
|
||||
punpcklwd %1, %1
|
||||
pshufd %1, %1, 0
|
||||
%endmacro
|
||||
|
||||
;copy a db into a xmm for 16 times
|
||||
%macro SSE2_Copy16Times 2
|
||||
movd %1, %2
|
||||
pshuflw %1, %1, 0
|
||||
punpcklqdq %1, %1
|
||||
packuswb %1, %1
|
||||
%macro SSE2_Copy16Times 2
|
||||
movd %1, %2
|
||||
pshuflw %1, %1, 0
|
||||
punpcklqdq %1, %1
|
||||
packuswb %1, %1
|
||||
%endmacro
|
||||
|
||||
|
||||
@@ -564,35 +564,35 @@ BITS 32
|
||||
;dw 32,32,32,32,32,32,32,32 for xmm
|
||||
;dw 32,32,32,32 for mm
|
||||
%macro WELS_DW32 1
|
||||
pcmpeqw %1,%1
|
||||
psrlw %1,15
|
||||
psllw %1,5
|
||||
pcmpeqw %1,%1
|
||||
psrlw %1,15
|
||||
psllw %1,5
|
||||
%endmacro
|
||||
|
||||
;dw 1, 1, 1, 1, 1, 1, 1, 1 for xmm
|
||||
;dw 1, 1, 1, 1 for mm
|
||||
%macro WELS_DW1 1
|
||||
pcmpeqw %1,%1
|
||||
psrlw %1,15
|
||||
pcmpeqw %1,%1
|
||||
psrlw %1,15
|
||||
%endmacro
|
||||
|
||||
;all 0 for xmm and mm
|
||||
%macro WELS_Zero 1
|
||||
pxor %1, %1
|
||||
%macro WELS_Zero 1
|
||||
pxor %1, %1
|
||||
%endmacro
|
||||
|
||||
;dd 1, 1, 1, 1 for xmm
|
||||
;dd 1, 1 for mm
|
||||
%macro WELS_DD1 1
|
||||
pcmpeqw %1,%1
|
||||
psrld %1,31
|
||||
pcmpeqw %1,%1
|
||||
psrld %1,31
|
||||
%endmacro
|
||||
|
||||
;dB 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
|
||||
%macro WELS_DB1 1
|
||||
pcmpeqw %1,%1
|
||||
psrlw %1,15
|
||||
packuswb %1,%1
|
||||
pcmpeqw %1,%1
|
||||
psrlw %1,15
|
||||
packuswb %1,%1
|
||||
%endmacro
|
||||
|
||||
|
||||
|
||||
@@ -29,13 +29,13 @@
|
||||
;* POSSIBILITY OF SUCH DAMAGE.
|
||||
;*
|
||||
;*
|
||||
;* cpu_mmx.asm
|
||||
;* cpu_mmx.asm
|
||||
;*
|
||||
;* Abstract
|
||||
;* verify cpuid feature support and cpuid detection
|
||||
;* verify cpuid feature support and cpuid detection
|
||||
;*
|
||||
;* History
|
||||
;* 04/29/2009 Created
|
||||
;* 04/29/2009 Created
|
||||
;*
|
||||
;*************************************************************************/
|
||||
|
||||
@@ -81,7 +81,7 @@ WELS_EXTERN WelsCPUId
|
||||
push rdx
|
||||
|
||||
mov eax, ecx
|
||||
mov ecx, [r9]
|
||||
mov rcx, [r9]
|
||||
cpuid
|
||||
mov [r9], ecx
|
||||
mov [r8], ebx
|
||||
@@ -100,7 +100,7 @@ WELS_EXTERN WelsCPUId
|
||||
push rdx
|
||||
|
||||
mov eax, edi
|
||||
mov ecx, [rcx]
|
||||
mov rcx, [rcx]
|
||||
cpuid
|
||||
mov [r8], edx
|
||||
pop rdx
|
||||
@@ -115,13 +115,13 @@ WELS_EXTERN WelsCPUId
|
||||
%elifdef X86_32
|
||||
|
||||
WELS_EXTERN WelsCPUId
|
||||
push ebx
|
||||
push edi
|
||||
push ebx
|
||||
push edi
|
||||
|
||||
mov eax, [esp+12] ; operating index
|
||||
mov eax, [esp+12] ; operating index
|
||||
mov edi, [esp+24]
|
||||
mov ecx, [edi]
|
||||
cpuid ; cpuid
|
||||
cpuid ; cpuid
|
||||
|
||||
; processing various information return
|
||||
mov edi, [esp+16]
|
||||
@@ -133,7 +133,7 @@ WELS_EXTERN WelsCPUId
|
||||
mov edi, [esp+28]
|
||||
mov [edi], edx
|
||||
|
||||
pop edi
|
||||
pop edi
|
||||
pop ebx
|
||||
ret
|
||||
|
||||
@@ -145,68 +145,68 @@ WELS_EXTERN WelsCPUId
|
||||
;****************************************************************************************************
|
||||
WELS_EXTERN WelsCPUSupportAVX
|
||||
%ifdef WIN64
|
||||
mov eax, ecx
|
||||
mov ecx, edx
|
||||
mov eax, ecx
|
||||
mov ecx, edx
|
||||
%elifdef UNIX64
|
||||
mov eax, edi
|
||||
mov ecx, esi
|
||||
mov eax, edi
|
||||
mov ecx, esi
|
||||
%else
|
||||
mov eax, [esp+4]
|
||||
mov ecx, [esp+8]
|
||||
mov eax, [esp+4]
|
||||
mov ecx, [esp+8]
|
||||
%endif
|
||||
|
||||
; refer to detection of AVX addressed in INTEL AVX manual document
|
||||
and ecx, 018000000H
|
||||
cmp ecx, 018000000H ; check both OSXSAVE and AVX feature flags
|
||||
jne avx_not_supported
|
||||
; processor supports AVX instructions and XGETBV is enabled by OS
|
||||
mov ecx, 0 ; specify 0 for XFEATURE_ENABLED_MASK register
|
||||
XGETBV ; result in EDX:EAX
|
||||
and eax, 06H
|
||||
cmp eax, 06H ; check OS has enabled both XMM and YMM state support
|
||||
jne avx_not_supported
|
||||
mov eax, 1
|
||||
ret
|
||||
; refer to detection of AVX addressed in INTEL AVX manual document
|
||||
and ecx, 018000000H
|
||||
cmp ecx, 018000000H ; check both OSXSAVE and AVX feature flags
|
||||
jne avx_not_supported
|
||||
; processor supports AVX instructions and XGETBV is enabled by OS
|
||||
mov ecx, 0 ; specify 0 for XFEATURE_ENABLED_MASK register
|
||||
XGETBV ; result in EDX:EAX
|
||||
and eax, 06H
|
||||
cmp eax, 06H ; check OS has enabled both XMM and YMM state support
|
||||
jne avx_not_supported
|
||||
mov eax, 1
|
||||
ret
|
||||
avx_not_supported:
|
||||
mov eax, 0
|
||||
ret
|
||||
mov eax, 0
|
||||
ret
|
||||
|
||||
|
||||
; need call after cpuid=1 and eax, ecx flag got then
|
||||
;****************************************************************************************************
|
||||
; int32_t WelsCPUSupportFMA( uint32_t eax, uint32_t ecx )
|
||||
;****************************************************************************************************
|
||||
WELS_EXTERN WelsCPUSupportFMA
|
||||
WELS_EXTERN WelsCPUSupportFMA
|
||||
%ifdef WIN64
|
||||
mov eax, ecx
|
||||
mov ecx, edx
|
||||
mov eax, ecx
|
||||
mov ecx, edx
|
||||
%elifdef UNIX64
|
||||
mov eax, edi
|
||||
mov ecx, esi
|
||||
mov eax, edi
|
||||
mov ecx, esi
|
||||
%else
|
||||
mov eax, [esp+4]
|
||||
mov ecx, [esp+8]
|
||||
mov eax, [esp+4]
|
||||
mov ecx, [esp+8]
|
||||
%endif
|
||||
; refer to detection of FMA addressed in INTEL AVX manual document
|
||||
and ecx, 018001000H
|
||||
cmp ecx, 018001000H ; check OSXSAVE, AVX, FMA feature flags
|
||||
jne fma_not_supported
|
||||
; processor supports AVX,FMA instructions and XGETBV is enabled by OS
|
||||
mov ecx, 0 ; specify 0 for XFEATURE_ENABLED_MASK register
|
||||
XGETBV ; result in EDX:EAX
|
||||
and eax, 06H
|
||||
cmp eax, 06H ; check OS has enabled both XMM and YMM state support
|
||||
jne fma_not_supported
|
||||
mov eax, 1
|
||||
ret
|
||||
; refer to detection of FMA addressed in INTEL AVX manual document
|
||||
and ecx, 018001000H
|
||||
cmp ecx, 018001000H ; check OSXSAVE, AVX, FMA feature flags
|
||||
jne fma_not_supported
|
||||
; processor supports AVX,FMA instructions and XGETBV is enabled by OS
|
||||
mov ecx, 0 ; specify 0 for XFEATURE_ENABLED_MASK register
|
||||
XGETBV ; result in EDX:EAX
|
||||
and eax, 06H
|
||||
cmp eax, 06H ; check OS has enabled both XMM and YMM state support
|
||||
jne fma_not_supported
|
||||
mov eax, 1
|
||||
ret
|
||||
fma_not_supported:
|
||||
mov eax, 0
|
||||
ret
|
||||
mov eax, 0
|
||||
ret
|
||||
|
||||
;******************************************************************************************
|
||||
; void WelsEmms()
|
||||
;******************************************************************************************
|
||||
WELS_EXTERN WelsEmms
|
||||
emms ; empty mmx technology states
|
||||
ret
|
||||
emms ; empty mmx technology states
|
||||
ret
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -77,280 +77,280 @@ SECTION .text
|
||||
;cccc|ceeeeeeeeeeeeeeeed|dddd
|
||||
;cccc|ceeeeeeeeeeeeeeeed|dddd
|
||||
|
||||
%macro mov_line_8x4_mmx 3 ; dst, stride, mm?
|
||||
movq [%1], %3
|
||||
movq [%1+%2], %3
|
||||
lea %1, [%1+2*%2]
|
||||
movq [%1], %3
|
||||
movq [%1+%2], %3
|
||||
lea %1, [%1+2*%2]
|
||||
%macro mov_line_8x4_mmx 3 ; dst, stride, mm?
|
||||
movq [%1], %3
|
||||
movq [%1+%2], %3
|
||||
lea %1, [%1+2*%2]
|
||||
movq [%1], %3
|
||||
movq [%1+%2], %3
|
||||
lea %1, [%1+2*%2]
|
||||
%endmacro
|
||||
|
||||
%macro mov_line_end8x4_mmx 3 ; dst, stride, mm?
|
||||
movq [%1], %3
|
||||
movq [%1+%2], %3
|
||||
lea %1, [%1+2*%2]
|
||||
movq [%1], %3
|
||||
movq [%1+%2], %3
|
||||
lea %1, [%1+%2]
|
||||
%macro mov_line_end8x4_mmx 3 ; dst, stride, mm?
|
||||
movq [%1], %3
|
||||
movq [%1+%2], %3
|
||||
lea %1, [%1+2*%2]
|
||||
movq [%1], %3
|
||||
movq [%1+%2], %3
|
||||
lea %1, [%1+%2]
|
||||
%endmacro
|
||||
|
||||
%macro mov_line_16x4_sse2 4 ; dst, stride, xmm?, u/a
|
||||
movdq%4 [%1], %3 ; top(bottom)_0
|
||||
movdq%4 [%1+%2], %3 ; top(bottom)_1
|
||||
lea %1, [%1+2*%2]
|
||||
movdq%4 [%1], %3 ; top(bottom)_2
|
||||
movdq%4 [%1+%2], %3 ; top(bottom)_3
|
||||
lea %1, [%1+2*%2]
|
||||
%macro mov_line_16x4_sse2 4 ; dst, stride, xmm?, u/a
|
||||
movdq%4 [%1], %3 ; top(bottom)_0
|
||||
movdq%4 [%1+%2], %3 ; top(bottom)_1
|
||||
lea %1, [%1+2*%2]
|
||||
movdq%4 [%1], %3 ; top(bottom)_2
|
||||
movdq%4 [%1+%2], %3 ; top(bottom)_3
|
||||
lea %1, [%1+2*%2]
|
||||
%endmacro
|
||||
|
||||
%macro mov_line_end16x4_sse2 4 ; dst, stride, xmm?, u/a
|
||||
movdq%4 [%1], %3 ; top(bottom)_0
|
||||
movdq%4 [%1+%2], %3 ; top(bottom)_1
|
||||
lea %1, [%1+2*%2]
|
||||
movdq%4 [%1], %3 ; top(bottom)_2
|
||||
movdq%4 [%1+%2], %3 ; top(bottom)_3
|
||||
lea %1, [%1+%2]
|
||||
%macro mov_line_end16x4_sse2 4 ; dst, stride, xmm?, u/a
|
||||
movdq%4 [%1], %3 ; top(bottom)_0
|
||||
movdq%4 [%1+%2], %3 ; top(bottom)_1
|
||||
lea %1, [%1+2*%2]
|
||||
movdq%4 [%1], %3 ; top(bottom)_2
|
||||
movdq%4 [%1+%2], %3 ; top(bottom)_3
|
||||
lea %1, [%1+%2]
|
||||
%endmacro
|
||||
|
||||
%macro mov_line_32x4_sse2 3 ; dst, stride, xmm?
|
||||
movdqa [%1], %3 ; top(bottom)_0
|
||||
movdqa [%1+16], %3 ; top(bottom)_0
|
||||
movdqa [%1+%2], %3 ; top(bottom)_1
|
||||
movdqa [%1+%2+16], %3 ; top(bottom)_1
|
||||
lea %1, [%1+2*%2]
|
||||
movdqa [%1], %3 ; top(bottom)_2
|
||||
movdqa [%1+16], %3 ; top(bottom)_2
|
||||
movdqa [%1+%2], %3 ; top(bottom)_3
|
||||
movdqa [%1+%2+16], %3 ; top(bottom)_3
|
||||
lea %1, [%1+2*%2]
|
||||
%macro mov_line_32x4_sse2 3 ; dst, stride, xmm?
|
||||
movdqa [%1], %3 ; top(bottom)_0
|
||||
movdqa [%1+16], %3 ; top(bottom)_0
|
||||
movdqa [%1+%2], %3 ; top(bottom)_1
|
||||
movdqa [%1+%2+16], %3 ; top(bottom)_1
|
||||
lea %1, [%1+2*%2]
|
||||
movdqa [%1], %3 ; top(bottom)_2
|
||||
movdqa [%1+16], %3 ; top(bottom)_2
|
||||
movdqa [%1+%2], %3 ; top(bottom)_3
|
||||
movdqa [%1+%2+16], %3 ; top(bottom)_3
|
||||
lea %1, [%1+2*%2]
|
||||
%endmacro
|
||||
|
||||
%macro mov_line_end32x4_sse2 3 ; dst, stride, xmm?
|
||||
movdqa [%1], %3 ; top(bottom)_0
|
||||
movdqa [%1+16], %3 ; top(bottom)_0
|
||||
movdqa [%1+%2], %3 ; top(bottom)_1
|
||||
movdqa [%1+%2+16], %3 ; top(bottom)_1
|
||||
lea %1, [%1+2*%2]
|
||||
movdqa [%1], %3 ; top(bottom)_2
|
||||
movdqa [%1+16], %3 ; top(bottom)_2
|
||||
movdqa [%1+%2], %3 ; top(bottom)_3
|
||||
movdqa [%1+%2+16], %3 ; top(bottom)_3
|
||||
lea %1, [%1+%2]
|
||||
%macro mov_line_end32x4_sse2 3 ; dst, stride, xmm?
|
||||
movdqa [%1], %3 ; top(bottom)_0
|
||||
movdqa [%1+16], %3 ; top(bottom)_0
|
||||
movdqa [%1+%2], %3 ; top(bottom)_1
|
||||
movdqa [%1+%2+16], %3 ; top(bottom)_1
|
||||
lea %1, [%1+2*%2]
|
||||
movdqa [%1], %3 ; top(bottom)_2
|
||||
movdqa [%1+16], %3 ; top(bottom)_2
|
||||
movdqa [%1+%2], %3 ; top(bottom)_3
|
||||
movdqa [%1+%2+16], %3 ; top(bottom)_3
|
||||
lea %1, [%1+%2]
|
||||
%endmacro
|
||||
|
||||
%macro exp_top_bottom_sse2 1 ; iPaddingSize [luma(32)/chroma(16)]
|
||||
%macro exp_top_bottom_sse2 1 ; iPaddingSize [luma(32)/chroma(16)]
|
||||
;r2 [width/16(8)]
|
||||
;r0 [pSrc +0], r5 [pSrc -width] r1[-stride], 32(16) ;top
|
||||
;r3 [pSrc +(h-1)*stride], r4 [pSrc + (h+31)*stride],32(16); bottom
|
||||
|
||||
%if %1 == 32 ; for luma
|
||||
sar r2, 04h ; width / 16(8) pixels
|
||||
%if %1 == 32 ; for luma
|
||||
sar r2, 04h ; width / 16(8) pixels
|
||||
.top_bottom_loops:
|
||||
; top
|
||||
movdqa xmm0, [r0] ; first line of picture pData
|
||||
mov_line_16x4_sse2 r5, r1, xmm0, a ; dst, stride, xmm?
|
||||
mov_line_16x4_sse2 r5, r1, xmm0, a
|
||||
mov_line_16x4_sse2 r5, r1, xmm0, a
|
||||
mov_line_16x4_sse2 r5, r1, xmm0, a
|
||||
mov_line_16x4_sse2 r5, r1, xmm0, a ; dst, stride, xmm?
|
||||
mov_line_16x4_sse2 r5, r1, xmm0, a
|
||||
mov_line_16x4_sse2 r5, r1, xmm0, a
|
||||
mov_line_end16x4_sse2 r5, r1, xmm0, a
|
||||
; top
|
||||
movdqa xmm0, [r0] ; first line of picture pData
|
||||
mov_line_16x4_sse2 r5, r1, xmm0, a ; dst, stride, xmm?
|
||||
mov_line_16x4_sse2 r5, r1, xmm0, a
|
||||
mov_line_16x4_sse2 r5, r1, xmm0, a
|
||||
mov_line_16x4_sse2 r5, r1, xmm0, a
|
||||
mov_line_16x4_sse2 r5, r1, xmm0, a ; dst, stride, xmm?
|
||||
mov_line_16x4_sse2 r5, r1, xmm0, a
|
||||
mov_line_16x4_sse2 r5, r1, xmm0, a
|
||||
mov_line_end16x4_sse2 r5, r1, xmm0, a
|
||||
|
||||
; bottom
|
||||
movdqa xmm1, [r3] ; last line of picture pData
|
||||
mov_line_16x4_sse2 r4, r1, xmm1, a ; dst, stride, xmm?
|
||||
mov_line_16x4_sse2 r4, r1, xmm1, a
|
||||
mov_line_16x4_sse2 r4, r1, xmm1, a
|
||||
mov_line_16x4_sse2 r4, r1, xmm1, a
|
||||
mov_line_16x4_sse2 r4, r1, xmm1, a ; dst, stride, xmm?
|
||||
mov_line_16x4_sse2 r4, r1, xmm1, a
|
||||
mov_line_16x4_sse2 r4, r1, xmm1, a
|
||||
mov_line_end16x4_sse2 r4, r1, xmm1, a
|
||||
; bottom
|
||||
movdqa xmm1, [r3] ; last line of picture pData
|
||||
mov_line_16x4_sse2 r4, r1, xmm1, a ; dst, stride, xmm?
|
||||
mov_line_16x4_sse2 r4, r1, xmm1, a
|
||||
mov_line_16x4_sse2 r4, r1, xmm1, a
|
||||
mov_line_16x4_sse2 r4, r1, xmm1, a
|
||||
mov_line_16x4_sse2 r4, r1, xmm1, a ; dst, stride, xmm?
|
||||
mov_line_16x4_sse2 r4, r1, xmm1, a
|
||||
mov_line_16x4_sse2 r4, r1, xmm1, a
|
||||
mov_line_end16x4_sse2 r4, r1, xmm1, a
|
||||
|
||||
lea r0, [r0+16] ; top pSrc
|
||||
lea r5, [r5+16] ; top dst
|
||||
lea r3, [r3+16] ; bottom pSrc
|
||||
lea r4, [r4+16] ; bottom dst
|
||||
neg r1 ; positive/negative stride need for next loop?
|
||||
lea r0, [r0+16] ; top pSrc
|
||||
lea r5, [r5+16] ; top dst
|
||||
lea r3, [r3+16] ; bottom pSrc
|
||||
lea r4, [r4+16] ; bottom dst
|
||||
neg r1 ; positive/negative stride need for next loop?
|
||||
|
||||
dec r2
|
||||
jnz near .top_bottom_loops
|
||||
%elif %1 == 16 ; for chroma ??
|
||||
mov r6, r2
|
||||
sar r2, 04h ; (width / 16) pixels
|
||||
dec r2
|
||||
jnz near .top_bottom_loops
|
||||
%elif %1 == 16 ; for chroma ??
|
||||
mov r6, r2
|
||||
sar r2, 04h ; (width / 16) pixels
|
||||
.top_bottom_loops:
|
||||
; top
|
||||
movdqa xmm0, [r0] ; first line of picture pData
|
||||
mov_line_16x4_sse2 r5, r1, xmm0, a ; dst, stride, xmm?
|
||||
mov_line_16x4_sse2 r5, r1, xmm0, a
|
||||
mov_line_16x4_sse2 r5, r1, xmm0, a
|
||||
mov_line_end16x4_sse2 r5, r1, xmm0, a
|
||||
; top
|
||||
movdqa xmm0, [r0] ; first line of picture pData
|
||||
mov_line_16x4_sse2 r5, r1, xmm0, a ; dst, stride, xmm?
|
||||
mov_line_16x4_sse2 r5, r1, xmm0, a
|
||||
mov_line_16x4_sse2 r5, r1, xmm0, a
|
||||
mov_line_end16x4_sse2 r5, r1, xmm0, a
|
||||
|
||||
; bottom
|
||||
movdqa xmm1, [r3] ; last line of picture pData
|
||||
mov_line_16x4_sse2 r4, r1, xmm1, a ; dst, stride, xmm?
|
||||
mov_line_16x4_sse2 r4, r1, xmm1, a
|
||||
mov_line_16x4_sse2 r4, r1, xmm1, a
|
||||
mov_line_end16x4_sse2 r4, r1, xmm1, a
|
||||
; bottom
|
||||
movdqa xmm1, [r3] ; last line of picture pData
|
||||
mov_line_16x4_sse2 r4, r1, xmm1, a ; dst, stride, xmm?
|
||||
mov_line_16x4_sse2 r4, r1, xmm1, a
|
||||
mov_line_16x4_sse2 r4, r1, xmm1, a
|
||||
mov_line_end16x4_sse2 r4, r1, xmm1, a
|
||||
|
||||
lea r0, [r0+16] ; top pSrc
|
||||
lea r5, [r5+16] ; top dst
|
||||
lea r3, [r3+16] ; bottom pSrc
|
||||
lea r4, [r4+16] ; bottom dst
|
||||
neg r1 ; positive/negative stride need for next loop?
|
||||
lea r0, [r0+16] ; top pSrc
|
||||
lea r5, [r5+16] ; top dst
|
||||
lea r3, [r3+16] ; bottom pSrc
|
||||
lea r4, [r4+16] ; bottom dst
|
||||
neg r1 ; positive/negative stride need for next loop?
|
||||
|
||||
dec r2
|
||||
jnz near .top_bottom_loops
|
||||
dec r2
|
||||
jnz near .top_bottom_loops
|
||||
|
||||
; for remaining 8 bytes
|
||||
and r6, 0fh ; any 8 bytes left?
|
||||
test r6, r6
|
||||
jz near .to_be_continued ; no left to exit here
|
||||
; for remaining 8 bytes
|
||||
and r6, 0fh ; any 8 bytes left?
|
||||
test r6, r6
|
||||
jz near .to_be_continued ; no left to exit here
|
||||
|
||||
; top
|
||||
movq mm0, [r0] ; remained 8 byte
|
||||
mov_line_8x4_mmx r5, r1, mm0 ; dst, stride, mm?
|
||||
mov_line_8x4_mmx r5, r1, mm0 ; dst, stride, mm?
|
||||
mov_line_8x4_mmx r5, r1, mm0 ; dst, stride, mm?
|
||||
mov_line_end8x4_mmx r5, r1, mm0 ; dst, stride, mm?
|
||||
; bottom
|
||||
movq mm1, [r3]
|
||||
mov_line_8x4_mmx r4, r1, mm1 ; dst, stride, mm?
|
||||
mov_line_8x4_mmx r4, r1, mm1 ; dst, stride, mm?
|
||||
mov_line_8x4_mmx r4, r1, mm1 ; dst, stride, mm?
|
||||
mov_line_end8x4_mmx r4, r1, mm1 ; dst, stride, mm?
|
||||
WELSEMMS
|
||||
; top
|
||||
movq mm0, [r0] ; remained 8 byte
|
||||
mov_line_8x4_mmx r5, r1, mm0 ; dst, stride, mm?
|
||||
mov_line_8x4_mmx r5, r1, mm0 ; dst, stride, mm?
|
||||
mov_line_8x4_mmx r5, r1, mm0 ; dst, stride, mm?
|
||||
mov_line_end8x4_mmx r5, r1, mm0 ; dst, stride, mm?
|
||||
; bottom
|
||||
movq mm1, [r3]
|
||||
mov_line_8x4_mmx r4, r1, mm1 ; dst, stride, mm?
|
||||
mov_line_8x4_mmx r4, r1, mm1 ; dst, stride, mm?
|
||||
mov_line_8x4_mmx r4, r1, mm1 ; dst, stride, mm?
|
||||
mov_line_end8x4_mmx r4, r1, mm1 ; dst, stride, mm?
|
||||
WELSEMMS
|
||||
|
||||
.to_be_continued:
|
||||
%endif
|
||||
%endmacro
|
||||
|
||||
%macro exp_left_right_sse2 2 ; iPaddingSize [luma(32)/chroma(16)], u/a
|
||||
%macro exp_left_right_sse2 2 ; iPaddingSize [luma(32)/chroma(16)], u/a
|
||||
;r6 [height]
|
||||
;r0 [pSrc+0] r5[pSrc-32] r1[stride]
|
||||
;r3 [pSrc+(w-1)] r4[pSrc+w]
|
||||
|
||||
%if %1 == 32 ; for luma
|
||||
%if %1 == 32 ; for luma
|
||||
.left_right_loops:
|
||||
; left
|
||||
movzx r2d, byte [r0] ; pixel pData for left border
|
||||
SSE2_Copy16Times xmm0, r2d ; dst, tmp, pSrc [generic register name: a/b/c/d]
|
||||
movdqa [r5], xmm0
|
||||
movdqa [r5+16], xmm0
|
||||
; left
|
||||
movzx r2d, byte [r0] ; pixel pData for left border
|
||||
SSE2_Copy16Times xmm0, r2d ; dst, tmp, pSrc [generic register name: a/b/c/d]
|
||||
movdqa [r5], xmm0
|
||||
movdqa [r5+16], xmm0
|
||||
|
||||
; right
|
||||
movzx r2d, byte [r3]
|
||||
SSE2_Copy16Times xmm1, r2d ; dst, tmp, pSrc [generic register name: a/b/c/d]
|
||||
movdqa [r4], xmm1
|
||||
movdqa [r4+16], xmm1
|
||||
; right
|
||||
movzx r2d, byte [r3]
|
||||
SSE2_Copy16Times xmm1, r2d ; dst, tmp, pSrc [generic register name: a/b/c/d]
|
||||
movdqa [r4], xmm1
|
||||
movdqa [r4+16], xmm1
|
||||
|
||||
lea r0, [r0+r1] ; left pSrc
|
||||
lea r5, [r5+r1] ; left dst
|
||||
lea r3, [r3+r1] ; right pSrc
|
||||
lea r4, [r4+r1] ; right dst
|
||||
lea r0, [r0+r1] ; left pSrc
|
||||
lea r5, [r5+r1] ; left dst
|
||||
lea r3, [r3+r1] ; right pSrc
|
||||
lea r4, [r4+r1] ; right dst
|
||||
|
||||
dec r6
|
||||
jnz near .left_right_loops
|
||||
%elif %1 == 16 ; for chroma ??
|
||||
dec r6
|
||||
jnz near .left_right_loops
|
||||
%elif %1 == 16 ; for chroma ??
|
||||
.left_right_loops:
|
||||
; left
|
||||
movzx r2d, byte [r0] ; pixel pData for left border
|
||||
SSE2_Copy16Times xmm0, r2d ; dst, tmp, pSrc [generic register name: a/b/c/d]
|
||||
movdqa [r5], xmm0
|
||||
; left
|
||||
movzx r2d, byte [r0] ; pixel pData for left border
|
||||
SSE2_Copy16Times xmm0, r2d ; dst, tmp, pSrc [generic register name: a/b/c/d]
|
||||
movdqa [r5], xmm0
|
||||
|
||||
; right
|
||||
movzx r2d, byte [r3]
|
||||
SSE2_Copy16Times xmm1, r2d ; dst, tmp, pSrc [generic register name: a/b/c/d]
|
||||
movdq%2 [r4], xmm1 ; might not be aligned 16 bytes in case chroma planes
|
||||
; right
|
||||
movzx r2d, byte [r3]
|
||||
SSE2_Copy16Times xmm1, r2d ; dst, tmp, pSrc [generic register name: a/b/c/d]
|
||||
movdq%2 [r4], xmm1 ; might not be aligned 16 bytes in case chroma planes
|
||||
|
||||
lea r0, [r0+r1] ; left pSrc
|
||||
lea r5, [r5+r1] ; left dst
|
||||
lea r3, [r3+r1] ; right pSrc
|
||||
lea r4, [r4+r1] ; right dst
|
||||
lea r0, [r0+r1] ; left pSrc
|
||||
lea r5, [r5+r1] ; left dst
|
||||
lea r3, [r3+r1] ; right pSrc
|
||||
lea r4, [r4+r1] ; right dst
|
||||
|
||||
dec r6
|
||||
jnz near .left_right_loops
|
||||
dec r6
|
||||
jnz near .left_right_loops
|
||||
%endif
|
||||
%endmacro
|
||||
|
||||
%macro exp_cross_sse2 2 ; iPaddingSize [luma(32)/chroma(16)], u/a
|
||||
; top-left: (x)mm3, top-right: (x)mm4, bottom-left: (x)mm5, bottom-right: (x)mm6
|
||||
; edi: TL, ebp: TR, eax: BL, ebx: BR, ecx, -stride
|
||||
%macro exp_cross_sse2 2 ; iPaddingSize [luma(32)/chroma(16)], u/a
|
||||
; top-left: (x)mm3, top-right: (x)mm4, bottom-left: (x)mm5, bottom-right: (x)mm6
|
||||
; edi: TL, ebp: TR, eax: BL, ebx: BR, ecx, -stride
|
||||
;r3:TL ,r4:TR,r5:BL,r6:BR r1:-stride
|
||||
%if %1 == 32 ; luma
|
||||
; TL
|
||||
mov_line_32x4_sse2 r3, r1, xmm3 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r3, r1, xmm3 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r3, r1, xmm3 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r3, r1, xmm3 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r3, r1, xmm3 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r3, r1, xmm3 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r3, r1, xmm3 ; dst, stride, xmm?
|
||||
mov_line_end32x4_sse2 r3, r1, xmm3 ; dst, stride, xmm?
|
||||
%if %1 == 32 ; luma
|
||||
; TL
|
||||
mov_line_32x4_sse2 r3, r1, xmm3 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r3, r1, xmm3 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r3, r1, xmm3 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r3, r1, xmm3 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r3, r1, xmm3 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r3, r1, xmm3 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r3, r1, xmm3 ; dst, stride, xmm?
|
||||
mov_line_end32x4_sse2 r3, r1, xmm3 ; dst, stride, xmm?
|
||||
|
||||
; TR
|
||||
mov_line_32x4_sse2 r4, r1, xmm4 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r4, r1, xmm4 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r4, r1, xmm4 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r4, r1, xmm4 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r4, r1, xmm4 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r4, r1, xmm4 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r4, r1, xmm4 ; dst, stride, xmm?
|
||||
mov_line_end32x4_sse2 r4, r1, xmm4 ; dst, stride, xmm?
|
||||
; TR
|
||||
mov_line_32x4_sse2 r4, r1, xmm4 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r4, r1, xmm4 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r4, r1, xmm4 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r4, r1, xmm4 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r4, r1, xmm4 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r4, r1, xmm4 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r4, r1, xmm4 ; dst, stride, xmm?
|
||||
mov_line_end32x4_sse2 r4, r1, xmm4 ; dst, stride, xmm?
|
||||
|
||||
; BL
|
||||
mov_line_32x4_sse2 r5, r1, xmm5 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r5, r1, xmm5 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r5, r1, xmm5 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r5, r1, xmm5 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r5, r1, xmm5 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r5, r1, xmm5 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r5, r1, xmm5 ; dst, stride, xmm?
|
||||
mov_line_end32x4_sse2 r5, r1, xmm5 ; dst, stride, xmm?
|
||||
; BL
|
||||
mov_line_32x4_sse2 r5, r1, xmm5 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r5, r1, xmm5 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r5, r1, xmm5 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r5, r1, xmm5 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r5, r1, xmm5 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r5, r1, xmm5 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r5, r1, xmm5 ; dst, stride, xmm?
|
||||
mov_line_end32x4_sse2 r5, r1, xmm5 ; dst, stride, xmm?
|
||||
|
||||
; BR
|
||||
mov_line_32x4_sse2 r6, r1, xmm6 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r6, r1, xmm6 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r6, r1, xmm6 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r6, r1, xmm6 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r6, r1, xmm6 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r6, r1, xmm6 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r6, r1, xmm6 ; dst, stride, xmm?
|
||||
mov_line_end32x4_sse2 r6, r1, xmm6 ; dst, stride, xmm?
|
||||
%elif %1 == 16 ; chroma
|
||||
; TL
|
||||
mov_line_16x4_sse2 r3, r1, xmm3, a ; dst, stride, xmm?
|
||||
mov_line_16x4_sse2 r3, r1, xmm3, a ; dst, stride, xmm?
|
||||
mov_line_16x4_sse2 r3, r1, xmm3, a ; dst, stride, xmm?
|
||||
mov_line_end16x4_sse2 r3, r1, xmm3, a ; dst, stride, xmm?
|
||||
; BR
|
||||
mov_line_32x4_sse2 r6, r1, xmm6 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r6, r1, xmm6 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r6, r1, xmm6 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r6, r1, xmm6 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r6, r1, xmm6 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r6, r1, xmm6 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r6, r1, xmm6 ; dst, stride, xmm?
|
||||
mov_line_end32x4_sse2 r6, r1, xmm6 ; dst, stride, xmm?
|
||||
%elif %1 == 16 ; chroma
|
||||
; TL
|
||||
mov_line_16x4_sse2 r3, r1, xmm3, a ; dst, stride, xmm?
|
||||
mov_line_16x4_sse2 r3, r1, xmm3, a ; dst, stride, xmm?
|
||||
mov_line_16x4_sse2 r3, r1, xmm3, a ; dst, stride, xmm?
|
||||
mov_line_end16x4_sse2 r3, r1, xmm3, a ; dst, stride, xmm?
|
||||
|
||||
; TR
|
||||
mov_line_16x4_sse2 r4, r1, xmm4, %2 ; dst, stride, xmm?
|
||||
mov_line_16x4_sse2 r4, r1, xmm4, %2 ; dst, stride, xmm?
|
||||
mov_line_16x4_sse2 r4, r1, xmm4, %2 ; dst, stride, xmm?
|
||||
mov_line_end16x4_sse2 r4, r1, xmm4, %2 ; dst, stride, xmm?
|
||||
; TR
|
||||
mov_line_16x4_sse2 r4, r1, xmm4, %2 ; dst, stride, xmm?
|
||||
mov_line_16x4_sse2 r4, r1, xmm4, %2 ; dst, stride, xmm?
|
||||
mov_line_16x4_sse2 r4, r1, xmm4, %2 ; dst, stride, xmm?
|
||||
mov_line_end16x4_sse2 r4, r1, xmm4, %2 ; dst, stride, xmm?
|
||||
|
||||
; BL
|
||||
mov_line_16x4_sse2 r5, r1, xmm5, a ; dst, stride, xmm?
|
||||
mov_line_16x4_sse2 r5, r1, xmm5, a ; dst, stride, xmm?
|
||||
mov_line_16x4_sse2 r5, r1, xmm5, a ; dst, stride, xmm?
|
||||
mov_line_end16x4_sse2 r5, r1, xmm5, a ; dst, stride, xmm?
|
||||
; BL
|
||||
mov_line_16x4_sse2 r5, r1, xmm5, a ; dst, stride, xmm?
|
||||
mov_line_16x4_sse2 r5, r1, xmm5, a ; dst, stride, xmm?
|
||||
mov_line_16x4_sse2 r5, r1, xmm5, a ; dst, stride, xmm?
|
||||
mov_line_end16x4_sse2 r5, r1, xmm5, a ; dst, stride, xmm?
|
||||
|
||||
; BR
|
||||
mov_line_16x4_sse2 r6, r1, xmm6, %2 ; dst, stride, xmm?
|
||||
mov_line_16x4_sse2 r6, r1, xmm6, %2 ; dst, stride, xmm?
|
||||
mov_line_16x4_sse2 r6, r1, xmm6, %2 ; dst, stride, xmm?
|
||||
mov_line_end16x4_sse2 r6, r1, xmm6, %2 ; dst, stride, xmm?
|
||||
; BR
|
||||
mov_line_16x4_sse2 r6, r1, xmm6, %2 ; dst, stride, xmm?
|
||||
mov_line_16x4_sse2 r6, r1, xmm6, %2 ; dst, stride, xmm?
|
||||
mov_line_16x4_sse2 r6, r1, xmm6, %2 ; dst, stride, xmm?
|
||||
mov_line_end16x4_sse2 r6, r1, xmm6, %2 ; dst, stride, xmm?
|
||||
%endif
|
||||
%endmacro
|
||||
|
||||
;***********************************************************************----------------
|
||||
; void ExpandPictureLuma_sse2( uint8_t *pDst,
|
||||
; const int32_t iStride,
|
||||
; const int32_t iWidth,
|
||||
; const int32_t iHeight );
|
||||
; void ExpandPictureLuma_sse2( uint8_t *pDst,
|
||||
; const int32_t iStride,
|
||||
; const int32_t iWidth,
|
||||
; const int32_t iHeight );
|
||||
;***********************************************************************----------------
|
||||
WELS_EXTERN ExpandPictureLuma_sse2
|
||||
|
||||
@@ -403,8 +403,8 @@ WELS_EXTERN ExpandPictureLuma_sse2
|
||||
|
||||
exp_top_bottom_sse2 32
|
||||
|
||||
; for both left and right border
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
; for both left and right border
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
pop r2
|
||||
pop r1
|
||||
@@ -416,8 +416,8 @@ WELS_EXTERN ExpandPictureLuma_sse2
|
||||
lea r4,[r3+1] ;right border dst
|
||||
|
||||
;prepare for cross border data: top-rigth with xmm4
|
||||
movzx r6d,byte [r3] ;top -rigth
|
||||
SSE2_Copy16Times xmm4,r6d
|
||||
movzx r6d,byte [r3] ;top -rigth
|
||||
SSE2_Copy16Times xmm4,r6d
|
||||
|
||||
neg r1 ;r1 = stride
|
||||
|
||||
@@ -438,8 +438,8 @@ WELS_EXTERN ExpandPictureLuma_sse2
|
||||
pop r1
|
||||
pop r0
|
||||
|
||||
; for cross border [top-left, top-right, bottom-left, bottom-right]
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
; for cross border [top-left, top-right, bottom-left, bottom-right]
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
; have done xmm3,..,xmm6 cross pData initialization above, perform pading as below, To be continued..
|
||||
|
||||
neg r1 ;r1 = -stride
|
||||
@@ -472,13 +472,13 @@ WELS_EXTERN ExpandPictureLuma_sse2
|
||||
%assign push_num 0
|
||||
|
||||
|
||||
ret
|
||||
ret
|
||||
|
||||
;***********************************************************************----------------
|
||||
; void ExpandPictureChromaAlign_sse2( uint8_t *pDst,
|
||||
; const int32_t iStride,
|
||||
; const int32_t iWidth,
|
||||
; const int32_t iHeight );
|
||||
; void ExpandPictureChromaAlign_sse2( uint8_t *pDst,
|
||||
; const int32_t iStride,
|
||||
; const int32_t iWidth,
|
||||
; const int32_t iHeight );
|
||||
;***********************************************************************----------------
|
||||
WELS_EXTERN ExpandPictureChromaAlign_sse2
|
||||
|
||||
@@ -531,8 +531,8 @@ WELS_EXTERN ExpandPictureChromaAlign_sse2
|
||||
|
||||
exp_top_bottom_sse2 16
|
||||
|
||||
; for both left and right border
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
; for both left and right border
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
pop r2
|
||||
pop r1
|
||||
@@ -557,7 +557,7 @@ WELS_EXTERN ExpandPictureChromaAlign_sse2
|
||||
push r0
|
||||
push r1
|
||||
push r2
|
||||
push r6
|
||||
push r6
|
||||
exp_left_right_sse2 16,a
|
||||
|
||||
pop r6
|
||||
@@ -565,8 +565,8 @@ WELS_EXTERN ExpandPictureChromaAlign_sse2
|
||||
pop r1
|
||||
pop r0
|
||||
|
||||
; for cross border [top-left, top-right, bottom-left, bottom-right]
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
; for cross border [top-left, top-right, bottom-left, bottom-right]
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
; have done xmm3,..,xmm6 cross pData initialization above, perform pading as below, To be continued..
|
||||
|
||||
neg r1 ;r1 = -stride
|
||||
@@ -599,16 +599,16 @@ WELS_EXTERN ExpandPictureChromaAlign_sse2
|
||||
%assign push_num 0
|
||||
|
||||
|
||||
ret
|
||||
ret
|
||||
|
||||
;***********************************************************************----------------
|
||||
; void ExpandPictureChromaUnalign_sse2( uint8_t *pDst,
|
||||
; const int32_t iStride,
|
||||
; const int32_t iWidth,
|
||||
; const int32_t iHeight );
|
||||
; void ExpandPictureChromaUnalign_sse2( uint8_t *pDst,
|
||||
; const int32_t iStride,
|
||||
; const int32_t iWidth,
|
||||
; const int32_t iHeight );
|
||||
;***********************************************************************----------------
|
||||
WELS_EXTERN ExpandPictureChromaUnalign_sse2
|
||||
push r4
|
||||
push r4
|
||||
push r5
|
||||
push r6
|
||||
|
||||
@@ -657,8 +657,8 @@ WELS_EXTERN ExpandPictureChromaUnalign_sse2
|
||||
|
||||
exp_top_bottom_sse2 16
|
||||
|
||||
; for both left and right border
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
; for both left and right border
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
pop r2
|
||||
pop r1
|
||||
@@ -683,7 +683,7 @@ WELS_EXTERN ExpandPictureChromaUnalign_sse2
|
||||
push r0
|
||||
push r1
|
||||
push r2
|
||||
push r6
|
||||
push r6
|
||||
exp_left_right_sse2 16,u
|
||||
|
||||
pop r6
|
||||
@@ -691,8 +691,8 @@ WELS_EXTERN ExpandPictureChromaUnalign_sse2
|
||||
pop r1
|
||||
pop r0
|
||||
|
||||
; for cross border [top-left, top-right, bottom-left, bottom-right]
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
; for cross border [top-left, top-right, bottom-left, bottom-right]
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
; have done xmm3,..,xmm6 cross pData initialization above, perform pading as below, To be continued..
|
||||
|
||||
neg r1 ;r1 = -stride
|
||||
@@ -725,4 +725,4 @@ WELS_EXTERN ExpandPictureChromaUnalign_sse2
|
||||
%assign push_num 0
|
||||
|
||||
|
||||
ret
|
||||
ret
|
||||
|
||||
@@ -36,9 +36,9 @@
|
||||
;*
|
||||
;* History
|
||||
;* 15/09/2009 Created
|
||||
;* 12/28/2009 Modified with larger throughput
|
||||
;* 12/29/2011 Tuned WelsCopy16x16NotAligned_sse2, added UpdateMbMv_sse2 WelsCopy16x8NotAligned_sse2,
|
||||
;* WelsCopy16x8_mmx, WelsCopy8x16_mmx etc;
|
||||
;* 12/28/2009 Modified with larger throughput
|
||||
;* 12/29/2011 Tuned WelsCopy16x16NotAligned_sse2, added UpdateMbMv_sse2 WelsCopy16x8NotAligned_sse2,
|
||||
;* WelsCopy16x8_mmx, WelsCopy8x16_mmx etc;
|
||||
;*
|
||||
;*
|
||||
;*********************************************************************************************/
|
||||
@@ -56,174 +56,174 @@ SECTION .text
|
||||
|
||||
|
||||
;***********************************************************************
|
||||
; void WelsCopy16x16_sse2( uint8_t* Dst,
|
||||
; int32_t iStrideD,
|
||||
; uint8_t* Src,
|
||||
; int32_t iStrideS )
|
||||
; void WelsCopy16x16_sse2( uint8_t* Dst,
|
||||
; int32_t iStrideD,
|
||||
; uint8_t* Src,
|
||||
; int32_t iStrideS )
|
||||
;***********************************************************************
|
||||
WELS_EXTERN WelsCopy16x16_sse2
|
||||
|
||||
push r4
|
||||
push r5
|
||||
%assign push_num 2
|
||||
push r4
|
||||
push r5
|
||||
%assign push_num 2
|
||||
LOAD_4_PARA
|
||||
PUSH_XMM 8
|
||||
|
||||
lea r4, [r1+2*r1] ;ebx, [eax+2*eax] ; x3
|
||||
lea r5, [r3+2*r3] ;edx, [ecx+2*ecx] ; x3
|
||||
lea r4, [r1+2*r1] ;ebx, [eax+2*eax] ; x3
|
||||
lea r5, [r3+2*r3] ;edx, [ecx+2*ecx] ; x3
|
||||
|
||||
movdqa xmm0, [r2]
|
||||
movdqa xmm1, [r2+r3]
|
||||
movdqa xmm2, [r2+2*r3]
|
||||
movdqa xmm3, [r2+r5]
|
||||
lea r2, [r2+4*r3]
|
||||
movdqa xmm4, [r2]
|
||||
movdqa xmm5, [r2+r3]
|
||||
movdqa xmm6, [r2+2*r3]
|
||||
movdqa xmm7, [r2+r5]
|
||||
lea r2, [r2+4*r3]
|
||||
movdqa xmm0, [r2]
|
||||
movdqa xmm1, [r2+r3]
|
||||
movdqa xmm2, [r2+2*r3]
|
||||
movdqa xmm3, [r2+r5]
|
||||
lea r2, [r2+4*r3]
|
||||
movdqa xmm4, [r2]
|
||||
movdqa xmm5, [r2+r3]
|
||||
movdqa xmm6, [r2+2*r3]
|
||||
movdqa xmm7, [r2+r5]
|
||||
lea r2, [r2+4*r3]
|
||||
|
||||
movdqa [r0], xmm0
|
||||
movdqa [r0+r1], xmm1
|
||||
movdqa [r0+2*r1], xmm2
|
||||
movdqa [r0+r4], xmm3
|
||||
lea r0, [r0+4*r1]
|
||||
movdqa [r0], xmm4
|
||||
movdqa [r0+r1], xmm5
|
||||
movdqa [r0+2*r1], xmm6
|
||||
movdqa [r0+r4], xmm7
|
||||
lea r0, [r0+4*r1]
|
||||
movdqa [r0], xmm0
|
||||
movdqa [r0+r1], xmm1
|
||||
movdqa [r0+2*r1], xmm2
|
||||
movdqa [r0+r4], xmm3
|
||||
lea r0, [r0+4*r1]
|
||||
movdqa [r0], xmm4
|
||||
movdqa [r0+r1], xmm5
|
||||
movdqa [r0+2*r1], xmm6
|
||||
movdqa [r0+r4], xmm7
|
||||
lea r0, [r0+4*r1]
|
||||
|
||||
movdqa xmm0, [r2]
|
||||
movdqa xmm1, [r2+r3]
|
||||
movdqa xmm2, [r2+2*r3]
|
||||
movdqa xmm3, [r2+r5]
|
||||
lea r2, [r2+4*r3]
|
||||
movdqa xmm4, [r2]
|
||||
movdqa xmm5, [r2+r3]
|
||||
movdqa xmm6, [r2+2*r3]
|
||||
movdqa xmm7, [r2+r5]
|
||||
movdqa xmm0, [r2]
|
||||
movdqa xmm1, [r2+r3]
|
||||
movdqa xmm2, [r2+2*r3]
|
||||
movdqa xmm3, [r2+r5]
|
||||
lea r2, [r2+4*r3]
|
||||
movdqa xmm4, [r2]
|
||||
movdqa xmm5, [r2+r3]
|
||||
movdqa xmm6, [r2+2*r3]
|
||||
movdqa xmm7, [r2+r5]
|
||||
|
||||
movdqa [r0], xmm0
|
||||
movdqa [r0+r1], xmm1
|
||||
movdqa [r0+2*r1], xmm2
|
||||
movdqa [r0+r4], xmm3
|
||||
lea r0, [r0+4*r1]
|
||||
movdqa [r0], xmm4
|
||||
movdqa [r0+r1], xmm5
|
||||
movdqa [r0+2*r1], xmm6
|
||||
movdqa [r0+r4], xmm7
|
||||
POP_XMM
|
||||
LOAD_4_PARA_POP
|
||||
pop r5
|
||||
pop r4
|
||||
ret
|
||||
movdqa [r0], xmm0
|
||||
movdqa [r0+r1], xmm1
|
||||
movdqa [r0+2*r1], xmm2
|
||||
movdqa [r0+r4], xmm3
|
||||
lea r0, [r0+4*r1]
|
||||
movdqa [r0], xmm4
|
||||
movdqa [r0+r1], xmm5
|
||||
movdqa [r0+2*r1], xmm6
|
||||
movdqa [r0+r4], xmm7
|
||||
POP_XMM
|
||||
LOAD_4_PARA_POP
|
||||
pop r5
|
||||
pop r4
|
||||
ret
|
||||
|
||||
;***********************************************************************
|
||||
; void WelsCopy16x16NotAligned_sse2( uint8_t* Dst,
|
||||
; int32_t iStrideD,
|
||||
; uint8_t* Src,
|
||||
; int32_t iStrideS )
|
||||
; void WelsCopy16x16NotAligned_sse2( uint8_t* Dst,
|
||||
; int32_t iStrideD,
|
||||
; uint8_t* Src,
|
||||
; int32_t iStrideS )
|
||||
;***********************************************************************
|
||||
; dst can be align with 16 bytes, but not sure about pSrc, 12/29/2011
|
||||
WELS_EXTERN WelsCopy16x16NotAligned_sse2
|
||||
push r4
|
||||
push r5
|
||||
%assign push_num 2
|
||||
push r4
|
||||
push r5
|
||||
%assign push_num 2
|
||||
LOAD_4_PARA
|
||||
PUSH_XMM 8
|
||||
|
||||
lea r4, [r1+2*r1] ;ebx, [eax+2*eax] ; x3
|
||||
lea r5, [r3+2*r3] ;edx, [ecx+2*ecx] ; x3
|
||||
lea r4, [r1+2*r1] ;ebx, [eax+2*eax] ; x3
|
||||
lea r5, [r3+2*r3] ;edx, [ecx+2*ecx] ; x3
|
||||
|
||||
movdqu xmm0, [r2]
|
||||
movdqu xmm1, [r2+r3]
|
||||
movdqu xmm2, [r2+2*r3]
|
||||
movdqu xmm3, [r2+r5]
|
||||
lea r2, [r2+4*r3]
|
||||
movdqu xmm4, [r2]
|
||||
movdqu xmm5, [r2+r3]
|
||||
movdqu xmm6, [r2+2*r3]
|
||||
movdqu xmm7, [r2+r5]
|
||||
lea r2, [r2+4*r3]
|
||||
movdqu xmm0, [r2]
|
||||
movdqu xmm1, [r2+r3]
|
||||
movdqu xmm2, [r2+2*r3]
|
||||
movdqu xmm3, [r2+r5]
|
||||
lea r2, [r2+4*r3]
|
||||
movdqu xmm4, [r2]
|
||||
movdqu xmm5, [r2+r3]
|
||||
movdqu xmm6, [r2+2*r3]
|
||||
movdqu xmm7, [r2+r5]
|
||||
lea r2, [r2+4*r3]
|
||||
|
||||
movdqa [r0], xmm0
|
||||
movdqa [r0+r1], xmm1
|
||||
movdqa [r0+2*r1], xmm2
|
||||
movdqa [r0+r4], xmm3
|
||||
lea r0, [r0+4*r1]
|
||||
movdqa [r0], xmm4
|
||||
movdqa [r0+r1], xmm5
|
||||
movdqa [r0+2*r1], xmm6
|
||||
movdqa [r0+r4], xmm7
|
||||
lea r0, [r0+4*r1]
|
||||
movdqa [r0], xmm0
|
||||
movdqa [r0+r1], xmm1
|
||||
movdqa [r0+2*r1], xmm2
|
||||
movdqa [r0+r4], xmm3
|
||||
lea r0, [r0+4*r1]
|
||||
movdqa [r0], xmm4
|
||||
movdqa [r0+r1], xmm5
|
||||
movdqa [r0+2*r1], xmm6
|
||||
movdqa [r0+r4], xmm7
|
||||
lea r0, [r0+4*r1]
|
||||
|
||||
movdqu xmm0, [r2]
|
||||
movdqu xmm1, [r2+r3]
|
||||
movdqu xmm2, [r2+2*r3]
|
||||
movdqu xmm3, [r2+r5]
|
||||
lea r2, [r2+4*r3]
|
||||
movdqu xmm4, [r2]
|
||||
movdqu xmm5, [r2+r3]
|
||||
movdqu xmm6, [r2+2*r3]
|
||||
movdqu xmm7, [r2+r5]
|
||||
movdqu xmm0, [r2]
|
||||
movdqu xmm1, [r2+r3]
|
||||
movdqu xmm2, [r2+2*r3]
|
||||
movdqu xmm3, [r2+r5]
|
||||
lea r2, [r2+4*r3]
|
||||
movdqu xmm4, [r2]
|
||||
movdqu xmm5, [r2+r3]
|
||||
movdqu xmm6, [r2+2*r3]
|
||||
movdqu xmm7, [r2+r5]
|
||||
|
||||
movdqa [r0], xmm0
|
||||
movdqa [r0+r1], xmm1
|
||||
movdqa [r0+2*r1], xmm2
|
||||
movdqa [r0+r4], xmm3
|
||||
lea r0, [r0+4*r1]
|
||||
movdqa [r0], xmm4
|
||||
movdqa [r0+r1], xmm5
|
||||
movdqa [r0+2*r1], xmm6
|
||||
movdqa [r0+r4], xmm7
|
||||
POP_XMM
|
||||
LOAD_4_PARA_POP
|
||||
pop r5
|
||||
pop r4
|
||||
ret
|
||||
movdqa [r0], xmm0
|
||||
movdqa [r0+r1], xmm1
|
||||
movdqa [r0+2*r1], xmm2
|
||||
movdqa [r0+r4], xmm3
|
||||
lea r0, [r0+4*r1]
|
||||
movdqa [r0], xmm4
|
||||
movdqa [r0+r1], xmm5
|
||||
movdqa [r0+2*r1], xmm6
|
||||
movdqa [r0+r4], xmm7
|
||||
POP_XMM
|
||||
LOAD_4_PARA_POP
|
||||
pop r5
|
||||
pop r4
|
||||
ret
|
||||
|
||||
; , 12/29/2011
|
||||
;***********************************************************************
|
||||
; void WelsCopy16x8NotAligned_sse2(uint8_t* Dst,
|
||||
; int32_t iStrideD,
|
||||
; uint8_t* Src,
|
||||
; int32_t iStrideS )
|
||||
; int32_t iStrideD,
|
||||
; uint8_t* Src,
|
||||
; int32_t iStrideS )
|
||||
;***********************************************************************
|
||||
WELS_EXTERN WelsCopy16x8NotAligned_sse2
|
||||
push r4
|
||||
push r5
|
||||
%assign push_num 2
|
||||
push r4
|
||||
push r5
|
||||
%assign push_num 2
|
||||
LOAD_4_PARA
|
||||
PUSH_XMM 8
|
||||
|
||||
lea r4, [r1+2*r1] ;ebx, [eax+2*eax] ; x3
|
||||
lea r5, [r3+2*r3] ;edx, [ecx+2*ecx] ; x3
|
||||
lea r4, [r1+2*r1] ;ebx, [eax+2*eax] ; x3
|
||||
lea r5, [r3+2*r3] ;edx, [ecx+2*ecx] ; x3
|
||||
|
||||
movdqu xmm0, [r2]
|
||||
movdqu xmm1, [r2+r3]
|
||||
movdqu xmm2, [r2+2*r3]
|
||||
movdqu xmm3, [r2+r5]
|
||||
lea r2, [r2+4*r3]
|
||||
movdqu xmm4, [r2]
|
||||
movdqu xmm5, [r2+r3]
|
||||
movdqu xmm6, [r2+2*r3]
|
||||
movdqu xmm7, [r2+r5]
|
||||
movdqu xmm0, [r2]
|
||||
movdqu xmm1, [r2+r3]
|
||||
movdqu xmm2, [r2+2*r3]
|
||||
movdqu xmm3, [r2+r5]
|
||||
lea r2, [r2+4*r3]
|
||||
movdqu xmm4, [r2]
|
||||
movdqu xmm5, [r2+r3]
|
||||
movdqu xmm6, [r2+2*r3]
|
||||
movdqu xmm7, [r2+r5]
|
||||
|
||||
movdqa [r0], xmm0
|
||||
movdqa [r0+r1], xmm1
|
||||
movdqa [r0+2*r1], xmm2
|
||||
movdqa [r0+r4], xmm3
|
||||
lea r0, [r0+4*r1]
|
||||
movdqa [r0], xmm4
|
||||
movdqa [r0+r1], xmm5
|
||||
movdqa [r0+2*r1], xmm6
|
||||
movdqa [r0+r4], xmm7
|
||||
POP_XMM
|
||||
LOAD_4_PARA_POP
|
||||
pop r5
|
||||
pop r4
|
||||
ret
|
||||
movdqa [r0], xmm0
|
||||
movdqa [r0+r1], xmm1
|
||||
movdqa [r0+2*r1], xmm2
|
||||
movdqa [r0+r4], xmm3
|
||||
lea r0, [r0+4*r1]
|
||||
movdqa [r0], xmm4
|
||||
movdqa [r0+r1], xmm5
|
||||
movdqa [r0+2*r1], xmm6
|
||||
movdqa [r0+r4], xmm7
|
||||
POP_XMM
|
||||
LOAD_4_PARA_POP
|
||||
pop r5
|
||||
pop r4
|
||||
ret
|
||||
|
||||
|
||||
;***********************************************************************
|
||||
@@ -233,62 +233,62 @@ WELS_EXTERN WelsCopy16x8NotAligned_sse2
|
||||
; int32_t iStrideS )
|
||||
;***********************************************************************
|
||||
WELS_EXTERN WelsCopy8x16_mmx
|
||||
%assign push_num 0
|
||||
%assign push_num 0
|
||||
LOAD_4_PARA
|
||||
|
||||
movq mm0, [r2]
|
||||
movq mm1, [r2+r3]
|
||||
lea r2, [r2+2*r3]
|
||||
movq mm2, [r2]
|
||||
movq mm3, [r2+r3]
|
||||
lea r2, [r2+2*r3]
|
||||
movq mm4, [r2]
|
||||
movq mm5, [r2+r3]
|
||||
lea r2, [r2+2*r3]
|
||||
movq mm6, [r2]
|
||||
movq mm7, [r2+r3]
|
||||
lea r2, [r2+2*r3]
|
||||
movq mm0, [r2]
|
||||
movq mm1, [r2+r3]
|
||||
lea r2, [r2+2*r3]
|
||||
movq mm2, [r2]
|
||||
movq mm3, [r2+r3]
|
||||
lea r2, [r2+2*r3]
|
||||
movq mm4, [r2]
|
||||
movq mm5, [r2+r3]
|
||||
lea r2, [r2+2*r3]
|
||||
movq mm6, [r2]
|
||||
movq mm7, [r2+r3]
|
||||
lea r2, [r2+2*r3]
|
||||
|
||||
movq [r0], mm0
|
||||
movq [r0+r1], mm1
|
||||
lea r0, [r0+2*r1]
|
||||
movq [r0], mm2
|
||||
movq [r0+r1], mm3
|
||||
lea r0, [r0+2*r1]
|
||||
movq [r0], mm4
|
||||
movq [r0+r1], mm5
|
||||
lea r0, [r0+2*r1]
|
||||
movq [r0], mm6
|
||||
movq [r0+r1], mm7
|
||||
lea r0, [r0+2*r1]
|
||||
movq [r0], mm0
|
||||
movq [r0+r1], mm1
|
||||
lea r0, [r0+2*r1]
|
||||
movq [r0], mm2
|
||||
movq [r0+r1], mm3
|
||||
lea r0, [r0+2*r1]
|
||||
movq [r0], mm4
|
||||
movq [r0+r1], mm5
|
||||
lea r0, [r0+2*r1]
|
||||
movq [r0], mm6
|
||||
movq [r0+r1], mm7
|
||||
lea r0, [r0+2*r1]
|
||||
|
||||
movq mm0, [r2]
|
||||
movq mm1, [r2+r3]
|
||||
lea r2, [r2+2*r3]
|
||||
movq mm2, [r2]
|
||||
movq mm3, [r2+r3]
|
||||
lea r2, [r2+2*r3]
|
||||
movq mm4, [r2]
|
||||
movq mm5, [r2+r3]
|
||||
lea r2, [r2+2*r3]
|
||||
movq mm6, [r2]
|
||||
movq mm7, [r2+r3]
|
||||
movq mm0, [r2]
|
||||
movq mm1, [r2+r3]
|
||||
lea r2, [r2+2*r3]
|
||||
movq mm2, [r2]
|
||||
movq mm3, [r2+r3]
|
||||
lea r2, [r2+2*r3]
|
||||
movq mm4, [r2]
|
||||
movq mm5, [r2+r3]
|
||||
lea r2, [r2+2*r3]
|
||||
movq mm6, [r2]
|
||||
movq mm7, [r2+r3]
|
||||
|
||||
movq [r0], mm0
|
||||
movq [r0+r1], mm1
|
||||
lea r0, [r0+2*r1]
|
||||
movq [r0], mm2
|
||||
movq [r0+r1], mm3
|
||||
lea r0, [r0+2*r1]
|
||||
movq [r0], mm4
|
||||
movq [r0+r1], mm5
|
||||
lea r0, [r0+2*r1]
|
||||
movq [r0], mm6
|
||||
movq [r0+r1], mm7
|
||||
movq [r0], mm0
|
||||
movq [r0+r1], mm1
|
||||
lea r0, [r0+2*r1]
|
||||
movq [r0], mm2
|
||||
movq [r0+r1], mm3
|
||||
lea r0, [r0+2*r1]
|
||||
movq [r0], mm4
|
||||
movq [r0+r1], mm5
|
||||
lea r0, [r0+2*r1]
|
||||
movq [r0], mm6
|
||||
movq [r0+r1], mm7
|
||||
|
||||
WELSEMMS
|
||||
LOAD_4_PARA_POP
|
||||
ret
|
||||
WELSEMMS
|
||||
LOAD_4_PARA_POP
|
||||
ret
|
||||
|
||||
;***********************************************************************
|
||||
; void WelsCopy8x8_mmx( uint8_t* Dst,
|
||||
@@ -297,48 +297,48 @@ WELS_EXTERN WelsCopy8x16_mmx
|
||||
; int32_t iStrideS )
|
||||
;***********************************************************************
|
||||
WELS_EXTERN WelsCopy8x8_mmx
|
||||
push r4
|
||||
%assign push_num 1
|
||||
push r4
|
||||
%assign push_num 1
|
||||
LOAD_4_PARA
|
||||
lea r4, [r3+2*r3] ;edx, [ebx+2*ebx]
|
||||
lea r4, [r3+2*r3] ;edx, [ebx+2*ebx]
|
||||
|
||||
; to prefetch next loop
|
||||
prefetchnta [r2+2*r3]
|
||||
prefetchnta [r2+r4]
|
||||
movq mm0, [r2]
|
||||
movq mm1, [r2+r3]
|
||||
lea r2, [r2+2*r3]
|
||||
; to prefetch next loop
|
||||
prefetchnta [r2+2*r3]
|
||||
prefetchnta [r2+r4]
|
||||
movq mm2, [r2]
|
||||
movq mm3, [r2+r3]
|
||||
lea r2, [r2+2*r3]
|
||||
; to prefetch next loop
|
||||
prefetchnta [r2+2*r3]
|
||||
prefetchnta [r2+r4]
|
||||
movq mm4, [r2]
|
||||
movq mm5, [r2+r3]
|
||||
lea r2, [r2+2*r3]
|
||||
movq mm6, [r2]
|
||||
movq mm7, [r2+r3]
|
||||
; to prefetch next loop
|
||||
prefetchnta [r2+2*r3]
|
||||
prefetchnta [r2+r4]
|
||||
movq mm0, [r2]
|
||||
movq mm1, [r2+r3]
|
||||
lea r2, [r2+2*r3]
|
||||
; to prefetch next loop
|
||||
prefetchnta [r2+2*r3]
|
||||
prefetchnta [r2+r4]
|
||||
movq mm2, [r2]
|
||||
movq mm3, [r2+r3]
|
||||
lea r2, [r2+2*r3]
|
||||
; to prefetch next loop
|
||||
prefetchnta [r2+2*r3]
|
||||
prefetchnta [r2+r4]
|
||||
movq mm4, [r2]
|
||||
movq mm5, [r2+r3]
|
||||
lea r2, [r2+2*r3]
|
||||
movq mm6, [r2]
|
||||
movq mm7, [r2+r3]
|
||||
|
||||
movq [r0], mm0
|
||||
movq [r0+r1], mm1
|
||||
lea r0, [r0+2*r1]
|
||||
movq [r0], mm2
|
||||
movq [r0+r1], mm3
|
||||
lea r0, [r0+2*r1]
|
||||
movq [r0], mm4
|
||||
movq [r0+r1], mm5
|
||||
lea r0, [r0+2*r1]
|
||||
movq [r0], mm6
|
||||
movq [r0+r1], mm7
|
||||
movq [r0], mm0
|
||||
movq [r0+r1], mm1
|
||||
lea r0, [r0+2*r1]
|
||||
movq [r0], mm2
|
||||
movq [r0+r1], mm3
|
||||
lea r0, [r0+2*r1]
|
||||
movq [r0], mm4
|
||||
movq [r0+r1], mm5
|
||||
lea r0, [r0+2*r1]
|
||||
movq [r0], mm6
|
||||
movq [r0+r1], mm7
|
||||
|
||||
WELSEMMS
|
||||
LOAD_4_PARA_POP
|
||||
pop r4
|
||||
ret
|
||||
WELSEMMS
|
||||
LOAD_4_PARA_POP
|
||||
pop r4
|
||||
ret
|
||||
|
||||
; (dunhuang@cisco), 12/21/2011
|
||||
;***********************************************************************
|
||||
@@ -349,13 +349,13 @@ WELS_EXTERN UpdateMbMv_sse2
|
||||
%assign push_num 0
|
||||
LOAD_2_PARA
|
||||
|
||||
movd xmm0, r1d ; _mv
|
||||
pshufd xmm1, xmm0, $00
|
||||
movdqa [r0 ], xmm1
|
||||
movdqa [r0+0x10], xmm1
|
||||
movdqa [r0+0x20], xmm1
|
||||
movdqa [r0+0x30], xmm1
|
||||
ret
|
||||
movd xmm0, r1d ; _mv
|
||||
pshufd xmm1, xmm0, $00
|
||||
movdqa [r0 ], xmm1
|
||||
movdqa [r0+0x10], xmm1
|
||||
movdqa [r0+0x20], xmm1
|
||||
movdqa [r0+0x30], xmm1
|
||||
ret
|
||||
|
||||
;*******************************************************************************
|
||||
; Macros and other preprocessor constants
|
||||
@@ -381,14 +381,14 @@ WELS_EXTERN PixelAvgWidthEq4_mmx
|
||||
%assign push_num 0
|
||||
LOAD_7_PARA
|
||||
|
||||
SIGN_EXTENSION r1, r1d
|
||||
SIGN_EXTENSION r3, r3d
|
||||
SIGN_EXTENSION r5, r5d
|
||||
SIGN_EXTENSION r6, r6d
|
||||
SIGN_EXTENSION r1, r1d
|
||||
SIGN_EXTENSION r3, r3d
|
||||
SIGN_EXTENSION r5, r5d
|
||||
SIGN_EXTENSION r6, r6d
|
||||
|
||||
ALIGN 4
|
||||
.height_loop:
|
||||
movd mm0, [r4]
|
||||
movd mm0, [r4]
|
||||
pavgb mm0, [r2]
|
||||
movd [r0], mm0
|
||||
|
||||
@@ -398,8 +398,8 @@ ALIGN 4
|
||||
lea r4, [r4+r5]
|
||||
jne .height_loop
|
||||
|
||||
WELSEMMS
|
||||
LOAD_7_PARA_POP
|
||||
WELSEMMS
|
||||
LOAD_7_PARA_POP
|
||||
ret
|
||||
|
||||
|
||||
@@ -413,29 +413,29 @@ WELS_EXTERN PixelAvgWidthEq8_mmx
|
||||
%assign push_num 0
|
||||
LOAD_7_PARA
|
||||
|
||||
SIGN_EXTENSION r1, r1d
|
||||
SIGN_EXTENSION r3, r3d
|
||||
SIGN_EXTENSION r5, r5d
|
||||
SIGN_EXTENSION r6, r6d
|
||||
SIGN_EXTENSION r1, r1d
|
||||
SIGN_EXTENSION r3, r3d
|
||||
SIGN_EXTENSION r5, r5d
|
||||
SIGN_EXTENSION r6, r6d
|
||||
|
||||
ALIGN 4
|
||||
.height_loop:
|
||||
movq mm0, [r2]
|
||||
movq mm0, [r2]
|
||||
pavgb mm0, [r4]
|
||||
movq [r0], mm0
|
||||
movq mm0, [r2+r3]
|
||||
pavgb mm0, [r4+r5]
|
||||
movq [r0+r1], mm0
|
||||
movq [r0+r1], mm0
|
||||
|
||||
lea r2, [r2+2*r3]
|
||||
lea r4, [r4+2*r5]
|
||||
lea r0, [r0+2*r1]
|
||||
lea r2, [r2+2*r3]
|
||||
lea r4, [r4+2*r5]
|
||||
lea r0, [r0+2*r1]
|
||||
|
||||
sub r6, 2
|
||||
jnz .height_loop
|
||||
|
||||
WELSEMMS
|
||||
LOAD_7_PARA_POP
|
||||
WELSEMMS
|
||||
LOAD_7_PARA_POP
|
||||
ret
|
||||
|
||||
|
||||
@@ -450,46 +450,46 @@ WELS_EXTERN PixelAvgWidthEq16_sse2
|
||||
|
||||
%assign push_num 0
|
||||
LOAD_7_PARA
|
||||
SIGN_EXTENSION r1, r1d
|
||||
SIGN_EXTENSION r3, r3d
|
||||
SIGN_EXTENSION r5, r5d
|
||||
SIGN_EXTENSION r6, r6d
|
||||
SIGN_EXTENSION r1, r1d
|
||||
SIGN_EXTENSION r3, r3d
|
||||
SIGN_EXTENSION r5, r5d
|
||||
SIGN_EXTENSION r6, r6d
|
||||
ALIGN 4
|
||||
.height_loop:
|
||||
movdqu xmm0, [r2]
|
||||
movdqu xmm1, [r4]
|
||||
pavgb xmm0, xmm1
|
||||
;pavgb xmm0, [r4]
|
||||
movdqu xmm0, [r2]
|
||||
movdqu xmm1, [r4]
|
||||
pavgb xmm0, xmm1
|
||||
;pavgb xmm0, [r4]
|
||||
movdqu [r0], xmm0
|
||||
|
||||
movdqu xmm0, [r2+r3]
|
||||
movdqu xmm1, [r4+r5]
|
||||
pavgb xmm0, xmm1
|
||||
movdqu xmm0, [r2+r3]
|
||||
movdqu xmm1, [r4+r5]
|
||||
pavgb xmm0, xmm1
|
||||
movdqu [r0+r1], xmm0
|
||||
|
||||
movdqu xmm0, [r2+2*r3]
|
||||
movdqu xmm1, [r4+2*r5]
|
||||
pavgb xmm0, xmm1
|
||||
movdqu xmm0, [r2+2*r3]
|
||||
movdqu xmm1, [r4+2*r5]
|
||||
pavgb xmm0, xmm1
|
||||
movdqu [r0+2*r1], xmm0
|
||||
|
||||
lea r2, [r2+2*r3]
|
||||
lea r4, [r4+2*r5]
|
||||
lea r0, [r0+2*r1]
|
||||
lea r4, [r4+2*r5]
|
||||
lea r0, [r0+2*r1]
|
||||
|
||||
movdqu xmm0, [r2+r3]
|
||||
movdqu xmm1, [r4+r5]
|
||||
pavgb xmm0, xmm1
|
||||
movdqu xmm0, [r2+r3]
|
||||
movdqu xmm1, [r4+r5]
|
||||
pavgb xmm0, xmm1
|
||||
movdqu [r0+r1], xmm0
|
||||
|
||||
lea r2, [r2+2*r3]
|
||||
lea r4, [r4+2*r5]
|
||||
lea r0, [r0+2*r1]
|
||||
lea r4, [r4+2*r5]
|
||||
lea r0, [r0+2*r1]
|
||||
|
||||
sub r6, 4
|
||||
jne .height_loop
|
||||
|
||||
WELSEMMS
|
||||
LOAD_7_PARA_POP
|
||||
WELSEMMS
|
||||
LOAD_7_PARA_POP
|
||||
ret
|
||||
|
||||
;*******************************************************************************
|
||||
@@ -497,26 +497,26 @@ ALIGN 4
|
||||
; uint8_t *pDst, int iDstStride, int iHeight )
|
||||
;*******************************************************************************
|
||||
WELS_EXTERN McCopyWidthEq4_mmx
|
||||
push r5
|
||||
push r5
|
||||
%assign push_num 1
|
||||
LOAD_5_PARA
|
||||
|
||||
SIGN_EXTENSION r1, r1d
|
||||
SIGN_EXTENSION r3, r3d
|
||||
SIGN_EXTENSION r4, r4d
|
||||
SIGN_EXTENSION r1, r1d
|
||||
SIGN_EXTENSION r3, r3d
|
||||
SIGN_EXTENSION r4, r4d
|
||||
|
||||
ALIGN 4
|
||||
.height_loop:
|
||||
mov r5d, [r0]
|
||||
mov [r2], r5d
|
||||
mov r5d, [r0]
|
||||
mov [r2], r5d
|
||||
|
||||
add r0, r1
|
||||
add r2, r3
|
||||
dec r4
|
||||
jnz .height_loop
|
||||
WELSEMMS
|
||||
add r0, r1
|
||||
add r2, r3
|
||||
dec r4
|
||||
jnz .height_loop
|
||||
WELSEMMS
|
||||
LOAD_5_PARA_POP
|
||||
pop r5
|
||||
pop r5
|
||||
ret
|
||||
|
||||
;*******************************************************************************
|
||||
@@ -527,21 +527,21 @@ WELS_EXTERN McCopyWidthEq8_mmx
|
||||
%assign push_num 0
|
||||
LOAD_5_PARA
|
||||
|
||||
SIGN_EXTENSION r1, r1d
|
||||
SIGN_EXTENSION r3, r3d
|
||||
SIGN_EXTENSION r4, r4d
|
||||
SIGN_EXTENSION r1, r1d
|
||||
SIGN_EXTENSION r3, r3d
|
||||
SIGN_EXTENSION r4, r4d
|
||||
|
||||
ALIGN 4
|
||||
.height_loop:
|
||||
movq mm0, [r0]
|
||||
movq [r2], mm0
|
||||
add r0, r1
|
||||
add r2, r3
|
||||
dec r4
|
||||
jnz .height_loop
|
||||
movq mm0, [r0]
|
||||
movq [r2], mm0
|
||||
add r0, r1
|
||||
add r2, r3
|
||||
dec r4
|
||||
jnz .height_loop
|
||||
|
||||
WELSEMMS
|
||||
LOAD_5_PARA_POP
|
||||
WELSEMMS
|
||||
LOAD_5_PARA_POP
|
||||
ret
|
||||
|
||||
|
||||
@@ -550,32 +550,32 @@ ALIGN 4
|
||||
;*******************************************************************************
|
||||
;read unaligned memory
|
||||
%macro SSE_READ_UNA 2
|
||||
movq %1, [%2]
|
||||
movhps %1, [%2+8]
|
||||
movq %1, [%2]
|
||||
movhps %1, [%2+8]
|
||||
%endmacro
|
||||
|
||||
;write unaligned memory
|
||||
%macro SSE_WRITE_UNA 2
|
||||
movq [%1], %2
|
||||
movhps [%1+8], %2
|
||||
movq [%1], %2
|
||||
movhps [%1+8], %2
|
||||
%endmacro
|
||||
WELS_EXTERN McCopyWidthEq16_sse2
|
||||
%assign push_num 0
|
||||
LOAD_5_PARA
|
||||
SIGN_EXTENSION r1, r1d
|
||||
SIGN_EXTENSION r3, r3d
|
||||
SIGN_EXTENSION r4, r4d
|
||||
SIGN_EXTENSION r1, r1d
|
||||
SIGN_EXTENSION r3, r3d
|
||||
SIGN_EXTENSION r4, r4d
|
||||
ALIGN 4
|
||||
.height_loop:
|
||||
SSE_READ_UNA xmm0, r0
|
||||
SSE_READ_UNA xmm1, r0+r1
|
||||
SSE_WRITE_UNA r2, xmm0
|
||||
SSE_WRITE_UNA r2+r3, xmm1
|
||||
SSE_READ_UNA xmm0, r0
|
||||
SSE_READ_UNA xmm1, r0+r1
|
||||
SSE_WRITE_UNA r2, xmm0
|
||||
SSE_WRITE_UNA r2+r3, xmm1
|
||||
|
||||
sub r4, 2
|
||||
sub r4, 2
|
||||
lea r0, [r0+r1*2]
|
||||
lea r2, [r2+r3*2]
|
||||
jnz .height_loop
|
||||
|
||||
LOAD_5_PARA_POP
|
||||
LOAD_5_PARA_POP
|
||||
ret
|
||||
|
||||
@@ -53,10 +53,10 @@ SECTION .rodata align=16
|
||||
|
||||
ALIGN 16
|
||||
h264_d0x20_sse2:
|
||||
dw 32,32,32,32,32,32,32,32
|
||||
dw 32,32,32,32,32,32,32,32
|
||||
ALIGN 16
|
||||
h264_d0x20_mmx:
|
||||
dw 32,32,32,32
|
||||
dw 32,32,32,32
|
||||
|
||||
|
||||
;=============================================================================
|
||||
@@ -67,171 +67,171 @@ SECTION .text
|
||||
|
||||
;*******************************************************************************
|
||||
; void McChromaWidthEq4_mmx( const uint8_t *src,
|
||||
; int32_t iSrcStride,
|
||||
; uint8_t *pDst,
|
||||
; int32_t iDstStride,
|
||||
; const uint8_t *pABCD,
|
||||
; int32_t iHeigh );
|
||||
; int32_t iSrcStride,
|
||||
; uint8_t *pDst,
|
||||
; int32_t iDstStride,
|
||||
; const uint8_t *pABCD,
|
||||
; int32_t iHeigh );
|
||||
;*******************************************************************************
|
||||
WELS_EXTERN McChromaWidthEq4_mmx
|
||||
%assign push_num 0
|
||||
LOAD_6_PARA
|
||||
SIGN_EXTENSION r1, r1d
|
||||
SIGN_EXTENSION r3, r3d
|
||||
SIGN_EXTENSION r5, r5d
|
||||
%assign push_num 0
|
||||
LOAD_6_PARA
|
||||
SIGN_EXTENSION r1, r1d
|
||||
SIGN_EXTENSION r3, r3d
|
||||
SIGN_EXTENSION r5, r5d
|
||||
|
||||
movd mm3, [r4]; [eax]
|
||||
WELS_Zero mm7
|
||||
punpcklbw mm3, mm3
|
||||
movq mm4, mm3
|
||||
punpcklwd mm3, mm3
|
||||
punpckhwd mm4, mm4
|
||||
movd mm3, [r4]; [eax]
|
||||
WELS_Zero mm7
|
||||
punpcklbw mm3, mm3
|
||||
movq mm4, mm3
|
||||
punpcklwd mm3, mm3
|
||||
punpckhwd mm4, mm4
|
||||
|
||||
movq mm5, mm3
|
||||
punpcklbw mm3, mm7
|
||||
punpckhbw mm5, mm7
|
||||
movq mm5, mm3
|
||||
punpcklbw mm3, mm7
|
||||
punpckhbw mm5, mm7
|
||||
|
||||
movq mm6, mm4
|
||||
punpcklbw mm4, mm7
|
||||
punpckhbw mm6, mm7
|
||||
movq mm6, mm4
|
||||
punpcklbw mm4, mm7
|
||||
punpckhbw mm6, mm7
|
||||
|
||||
lea r4, [r0 + r1] ;lea ebx, [esi + eax]
|
||||
movd mm0, [r0]
|
||||
movd mm1, [r0+1]
|
||||
punpcklbw mm0, mm7
|
||||
punpcklbw mm1, mm7
|
||||
lea r4, [r0 + r1] ;lea ebx, [esi + eax]
|
||||
movd mm0, [r0]
|
||||
movd mm1, [r0+1]
|
||||
punpcklbw mm0, mm7
|
||||
punpcklbw mm1, mm7
|
||||
.xloop:
|
||||
|
||||
pmullw mm0, mm3
|
||||
pmullw mm1, mm5
|
||||
paddw mm0, mm1
|
||||
pmullw mm0, mm3
|
||||
pmullw mm1, mm5
|
||||
paddw mm0, mm1
|
||||
|
||||
movd mm1, [r4]
|
||||
punpcklbw mm1, mm7
|
||||
movq mm2, mm1
|
||||
pmullw mm1, mm4
|
||||
paddw mm0, mm1
|
||||
movd mm1, [r4]
|
||||
punpcklbw mm1, mm7
|
||||
movq mm2, mm1
|
||||
pmullw mm1, mm4
|
||||
paddw mm0, mm1
|
||||
|
||||
movd mm1, [r4+1]
|
||||
punpcklbw mm1, mm7
|
||||
movq mm7, mm1
|
||||
pmullw mm1,mm6
|
||||
paddw mm0, mm1
|
||||
movq mm1,mm7
|
||||
movd mm1, [r4+1]
|
||||
punpcklbw mm1, mm7
|
||||
movq mm7, mm1
|
||||
pmullw mm1,mm6
|
||||
paddw mm0, mm1
|
||||
movq mm1,mm7
|
||||
|
||||
paddw mm0, [h264_d0x20_mmx]
|
||||
psrlw mm0, 6
|
||||
paddw mm0, [h264_d0x20_mmx]
|
||||
psrlw mm0, 6
|
||||
|
||||
WELS_Zero mm7
|
||||
packuswb mm0, mm7
|
||||
movd [r2], mm0
|
||||
WELS_Zero mm7
|
||||
packuswb mm0, mm7
|
||||
movd [r2], mm0
|
||||
|
||||
movq mm0, mm2
|
||||
movq mm0, mm2
|
||||
|
||||
lea r2, [r2 + r3]
|
||||
lea r4, [r4 + r1]
|
||||
lea r2, [r2 + r3]
|
||||
lea r4, [r4 + r1]
|
||||
|
||||
dec r5
|
||||
jnz near .xloop
|
||||
WELSEMMS
|
||||
LOAD_6_PARA_POP
|
||||
ret
|
||||
dec r5
|
||||
jnz near .xloop
|
||||
WELSEMMS
|
||||
LOAD_6_PARA_POP
|
||||
ret
|
||||
|
||||
|
||||
;*******************************************************************************
|
||||
; void McChromaWidthEq8_sse2( const uint8_t *pSrc,
|
||||
; int32_t iSrcStride,
|
||||
; uint8_t *pDst,
|
||||
; int32_t iDstStride,
|
||||
; const uint8_t *pABCD,
|
||||
; int32_t iheigh );
|
||||
; int32_t iSrcStride,
|
||||
; uint8_t *pDst,
|
||||
; int32_t iDstStride,
|
||||
; const uint8_t *pABCD,
|
||||
; int32_t iheigh );
|
||||
;*******************************************************************************
|
||||
WELS_EXTERN McChromaWidthEq8_sse2
|
||||
%assign push_num 0
|
||||
LOAD_6_PARA
|
||||
PUSH_XMM 8
|
||||
SIGN_EXTENSION r1, r1d
|
||||
SIGN_EXTENSION r3, r3d
|
||||
SIGN_EXTENSION r5, r5d
|
||||
%assign push_num 0
|
||||
LOAD_6_PARA
|
||||
PUSH_XMM 8
|
||||
SIGN_EXTENSION r1, r1d
|
||||
SIGN_EXTENSION r3, r3d
|
||||
SIGN_EXTENSION r5, r5d
|
||||
|
||||
movd xmm3, [r4]
|
||||
WELS_Zero xmm7
|
||||
punpcklbw xmm3, xmm3
|
||||
punpcklwd xmm3, xmm3
|
||||
movd xmm3, [r4]
|
||||
WELS_Zero xmm7
|
||||
punpcklbw xmm3, xmm3
|
||||
punpcklwd xmm3, xmm3
|
||||
|
||||
movdqa xmm4, xmm3
|
||||
punpckldq xmm3, xmm3
|
||||
punpckhdq xmm4, xmm4
|
||||
movdqa xmm5, xmm3
|
||||
movdqa xmm6, xmm4
|
||||
movdqa xmm4, xmm3
|
||||
punpckldq xmm3, xmm3
|
||||
punpckhdq xmm4, xmm4
|
||||
movdqa xmm5, xmm3
|
||||
movdqa xmm6, xmm4
|
||||
|
||||
punpcklbw xmm3, xmm7
|
||||
punpckhbw xmm5, xmm7
|
||||
punpcklbw xmm4, xmm7
|
||||
punpckhbw xmm6, xmm7
|
||||
punpcklbw xmm3, xmm7
|
||||
punpckhbw xmm5, xmm7
|
||||
punpcklbw xmm4, xmm7
|
||||
punpckhbw xmm6, xmm7
|
||||
|
||||
lea r4, [r0 + r1] ;lea ebx, [esi + eax]
|
||||
movq xmm0, [r0]
|
||||
movq xmm1, [r0+1]
|
||||
punpcklbw xmm0, xmm7
|
||||
punpcklbw xmm1, xmm7
|
||||
lea r4, [r0 + r1] ;lea ebx, [esi + eax]
|
||||
movq xmm0, [r0]
|
||||
movq xmm1, [r0+1]
|
||||
punpcklbw xmm0, xmm7
|
||||
punpcklbw xmm1, xmm7
|
||||
.xloop:
|
||||
|
||||
pmullw xmm0, xmm3
|
||||
pmullw xmm1, xmm5
|
||||
paddw xmm0, xmm1
|
||||
pmullw xmm0, xmm3
|
||||
pmullw xmm1, xmm5
|
||||
paddw xmm0, xmm1
|
||||
|
||||
movq xmm1, [r4]
|
||||
punpcklbw xmm1, xmm7
|
||||
movdqa xmm2, xmm1
|
||||
pmullw xmm1, xmm4
|
||||
paddw xmm0, xmm1
|
||||
movq xmm1, [r4]
|
||||
punpcklbw xmm1, xmm7
|
||||
movdqa xmm2, xmm1
|
||||
pmullw xmm1, xmm4
|
||||
paddw xmm0, xmm1
|
||||
|
||||
movq xmm1, [r4+1]
|
||||
punpcklbw xmm1, xmm7
|
||||
movdqa xmm7, xmm1
|
||||
pmullw xmm1, xmm6
|
||||
paddw xmm0, xmm1
|
||||
movdqa xmm1,xmm7
|
||||
movq xmm1, [r4+1]
|
||||
punpcklbw xmm1, xmm7
|
||||
movdqa xmm7, xmm1
|
||||
pmullw xmm1, xmm6
|
||||
paddw xmm0, xmm1
|
||||
movdqa xmm1,xmm7
|
||||
|
||||
paddw xmm0, [h264_d0x20_sse2]
|
||||
psrlw xmm0, 6
|
||||
paddw xmm0, [h264_d0x20_sse2]
|
||||
psrlw xmm0, 6
|
||||
|
||||
WELS_Zero xmm7
|
||||
packuswb xmm0, xmm7
|
||||
movq [r2], xmm0
|
||||
WELS_Zero xmm7
|
||||
packuswb xmm0, xmm7
|
||||
movq [r2], xmm0
|
||||
|
||||
movdqa xmm0, xmm2
|
||||
movdqa xmm0, xmm2
|
||||
|
||||
lea r2, [r2 + r3]
|
||||
lea r4, [r4 + r1]
|
||||
lea r2, [r2 + r3]
|
||||
lea r4, [r4 + r1]
|
||||
|
||||
dec r5
|
||||
jnz near .xloop
|
||||
dec r5
|
||||
jnz near .xloop
|
||||
|
||||
POP_XMM
|
||||
LOAD_6_PARA_POP
|
||||
POP_XMM
|
||||
LOAD_6_PARA_POP
|
||||
|
||||
ret
|
||||
ret
|
||||
|
||||
|
||||
|
||||
|
||||
;***********************************************************************
|
||||
; void McChromaWidthEq8_ssse3( const uint8_t *pSrc,
|
||||
; int32_t iSrcStride,
|
||||
; int32_t iSrcStride,
|
||||
; uint8_t *pDst,
|
||||
; int32_t iDstStride,
|
||||
; const uint8_t *pABCD,
|
||||
; int32_t iHeigh);
|
||||
; int32_t iHeigh);
|
||||
;***********************************************************************
|
||||
WELS_EXTERN McChromaWidthEq8_ssse3
|
||||
%assign push_num 0
|
||||
LOAD_6_PARA
|
||||
PUSH_XMM 8
|
||||
SIGN_EXTENSION r1, r1d
|
||||
SIGN_EXTENSION r3, r3d
|
||||
SIGN_EXTENSION r5, r5d
|
||||
%assign push_num 0
|
||||
LOAD_6_PARA
|
||||
PUSH_XMM 8
|
||||
SIGN_EXTENSION r1, r1d
|
||||
SIGN_EXTENSION r3, r3d
|
||||
SIGN_EXTENSION r5, r5d
|
||||
|
||||
pxor xmm7, xmm7
|
||||
movd xmm5, [r4]
|
||||
@@ -243,27 +243,27 @@ WELS_EXTERN McChromaWidthEq8_ssse3
|
||||
|
||||
sub r2, r3 ;sub esi, edi
|
||||
sub r2, r3
|
||||
movdqa xmm7, [h264_d0x20_sse2]
|
||||
movdqa xmm7, [h264_d0x20_sse2]
|
||||
|
||||
movdqu xmm0, [r0]
|
||||
movdqa xmm1, xmm0
|
||||
psrldq xmm1, 1
|
||||
punpcklbw xmm0, xmm1
|
||||
movdqu xmm0, [r0]
|
||||
movdqa xmm1, xmm0
|
||||
psrldq xmm1, 1
|
||||
punpcklbw xmm0, xmm1
|
||||
|
||||
.hloop_chroma:
|
||||
lea r2, [r2+2*r3]
|
||||
lea r2, [r2+2*r3]
|
||||
|
||||
movdqu xmm2, [r0+r1]
|
||||
movdqa xmm3, xmm2
|
||||
psrldq xmm3, 1
|
||||
punpcklbw xmm2, xmm3
|
||||
movdqa xmm4, xmm2
|
||||
movdqu xmm2, [r0+r1]
|
||||
movdqa xmm3, xmm2
|
||||
psrldq xmm3, 1
|
||||
punpcklbw xmm2, xmm3
|
||||
movdqa xmm4, xmm2
|
||||
|
||||
pmaddubsw xmm0, xmm5
|
||||
pmaddubsw xmm2, xmm6
|
||||
paddw xmm0, xmm2
|
||||
paddw xmm0, xmm7
|
||||
psrlw xmm0, 6
|
||||
psrlw xmm0, 6
|
||||
packuswb xmm0, xmm0
|
||||
movq [r2],xmm0
|
||||
|
||||
@@ -278,16 +278,16 @@ WELS_EXTERN McChromaWidthEq8_ssse3
|
||||
pmaddubsw xmm2, xmm6
|
||||
paddw xmm4, xmm2
|
||||
paddw xmm4, xmm7
|
||||
psrlw xmm4, 6
|
||||
psrlw xmm4, 6
|
||||
packuswb xmm4, xmm4
|
||||
movq [r2+r3],xmm4
|
||||
|
||||
sub r5, 2
|
||||
jnz .hloop_chroma
|
||||
sub r5, 2
|
||||
jnz .hloop_chroma
|
||||
|
||||
POP_XMM
|
||||
LOAD_6_PARA_POP
|
||||
POP_XMM
|
||||
LOAD_6_PARA_POP
|
||||
|
||||
ret
|
||||
ret
|
||||
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -29,16 +29,16 @@
|
||||
;* POSSIBILITY OF SUCH DAMAGE.
|
||||
;*
|
||||
;*
|
||||
;* vaa.asm
|
||||
;* vaa.asm
|
||||
;*
|
||||
;* Abstract
|
||||
;* Abstract
|
||||
;* sse2 for pVaa routines
|
||||
;*
|
||||
;* History
|
||||
;* 04/14/2010 Created
|
||||
;* 06/07/2010 Added AnalysisVaaInfoIntra_sse2(ssse3)
|
||||
;* 06/10/2010 Tune rc_sad_frame_sse2 and got about 40% improvement
|
||||
;* 08/11/2010 Added abs_difference_mbrow_sse2 & sum_sqrsum_mbrow_sse2
|
||||
;* 04/14/2010 Created
|
||||
;* 06/07/2010 Added AnalysisVaaInfoIntra_sse2(ssse3)
|
||||
;* 06/10/2010 Tune rc_sad_frame_sse2 and got about 40% improvement
|
||||
;* 08/11/2010 Added abs_difference_mbrow_sse2 & sum_sqrsum_mbrow_sse2
|
||||
;*
|
||||
;*************************************************************************/
|
||||
%include "asm_inc.asm"
|
||||
@@ -49,87 +49,87 @@
|
||||
;***********************************************************************
|
||||
|
||||
; by comparing it outperforms than phaddw(SSSE3) sets
|
||||
%macro SUM_WORD_8x2_SSE2 2 ; dst(pSrc), tmp
|
||||
; @sum_8x2 begin
|
||||
pshufd %2, %1, 04Eh ; 01001110 B
|
||||
paddw %1, %2
|
||||
pshuflw %2, %1, 04Eh ; 01001110 B
|
||||
paddw %1, %2
|
||||
pshuflw %2, %1, 0B1h ; 10110001 B
|
||||
paddw %1, %2
|
||||
; end of @sum_8x2
|
||||
%endmacro ; END of SUM_WORD_8x2_SSE2
|
||||
%macro SUM_WORD_8x2_SSE2 2 ; dst(pSrc), tmp
|
||||
; @sum_8x2 begin
|
||||
pshufd %2, %1, 04Eh ; 01001110 B
|
||||
paddw %1, %2
|
||||
pshuflw %2, %1, 04Eh ; 01001110 B
|
||||
paddw %1, %2
|
||||
pshuflw %2, %1, 0B1h ; 10110001 B
|
||||
paddw %1, %2
|
||||
; end of @sum_8x2
|
||||
%endmacro ; END of SUM_WORD_8x2_SSE2
|
||||
|
||||
|
||||
%macro VAA_AVG_BLOCK_SSE2 6 ; dst, t0, t1, t2, t3, t4
|
||||
movdqa %1, [r0 ] ; line 0
|
||||
movdqa %2, [r0+r1] ; line 1
|
||||
movdqa %3, %1
|
||||
punpcklbw %1, xmm7
|
||||
punpckhbw %3, xmm7
|
||||
movdqa %4, %2
|
||||
punpcklbw %4, xmm7
|
||||
punpckhbw %2, xmm7
|
||||
paddw %1, %4
|
||||
paddw %2, %3
|
||||
movdqa %3, [r0+r2] ; line 2
|
||||
movdqa %4, [r0+r3] ; line 3
|
||||
movdqa %5, %3
|
||||
punpcklbw %3, xmm7
|
||||
punpckhbw %5, xmm7
|
||||
movdqa %6, %4
|
||||
punpcklbw %6, xmm7
|
||||
punpckhbw %4, xmm7
|
||||
paddw %3, %6
|
||||
paddw %4, %5
|
||||
paddw %1, %3 ; block 0, 1
|
||||
paddw %2, %4 ; block 2, 3
|
||||
pshufd %3, %1, 0B1h
|
||||
pshufd %4, %2, 0B1h
|
||||
paddw %1, %3
|
||||
paddw %2, %4
|
||||
movdqa %3, %1
|
||||
movdqa %4, %2
|
||||
pshuflw %5, %1, 0B1h
|
||||
pshufhw %6, %3, 0B1h
|
||||
paddw %1, %5
|
||||
paddw %3, %6
|
||||
pshuflw %5, %2, 0B1h
|
||||
pshufhw %6, %4, 0B1h
|
||||
paddw %2, %5
|
||||
paddw %4, %6
|
||||
punpcklwd %1, %2
|
||||
punpckhwd %3, %4
|
||||
punpcklwd %1, %3
|
||||
psraw %1, $04
|
||||
movdqa %1, [r0 ] ; line 0
|
||||
movdqa %2, [r0+r1] ; line 1
|
||||
movdqa %3, %1
|
||||
punpcklbw %1, xmm7
|
||||
punpckhbw %3, xmm7
|
||||
movdqa %4, %2
|
||||
punpcklbw %4, xmm7
|
||||
punpckhbw %2, xmm7
|
||||
paddw %1, %4
|
||||
paddw %2, %3
|
||||
movdqa %3, [r0+r2] ; line 2
|
||||
movdqa %4, [r0+r3] ; line 3
|
||||
movdqa %5, %3
|
||||
punpcklbw %3, xmm7
|
||||
punpckhbw %5, xmm7
|
||||
movdqa %6, %4
|
||||
punpcklbw %6, xmm7
|
||||
punpckhbw %4, xmm7
|
||||
paddw %3, %6
|
||||
paddw %4, %5
|
||||
paddw %1, %3 ; block 0, 1
|
||||
paddw %2, %4 ; block 2, 3
|
||||
pshufd %3, %1, 0B1h
|
||||
pshufd %4, %2, 0B1h
|
||||
paddw %1, %3
|
||||
paddw %2, %4
|
||||
movdqa %3, %1
|
||||
movdqa %4, %2
|
||||
pshuflw %5, %1, 0B1h
|
||||
pshufhw %6, %3, 0B1h
|
||||
paddw %1, %5
|
||||
paddw %3, %6
|
||||
pshuflw %5, %2, 0B1h
|
||||
pshufhw %6, %4, 0B1h
|
||||
paddw %2, %5
|
||||
paddw %4, %6
|
||||
punpcklwd %1, %2
|
||||
punpckhwd %3, %4
|
||||
punpcklwd %1, %3
|
||||
psraw %1, $04
|
||||
%endmacro
|
||||
|
||||
%macro VAA_AVG_BLOCK_SSSE3 6 ; dst, t0, t1, t2, t3, t4
|
||||
movdqa %1, [r0 ] ; line 0
|
||||
movdqa %2, [r0+r1] ; line 1
|
||||
movdqa %3, %1
|
||||
punpcklbw %1, xmm7
|
||||
punpckhbw %3, xmm7
|
||||
movdqa %4, %2
|
||||
punpcklbw %4, xmm7
|
||||
punpckhbw %2, xmm7
|
||||
paddw %1, %4
|
||||
paddw %2, %3
|
||||
movdqa %3, [r0+r2] ; line 2
|
||||
movdqa %4, [r0+r3] ; line 3
|
||||
movdqa %5, %3
|
||||
punpcklbw %3, xmm7
|
||||
punpckhbw %5, xmm7
|
||||
movdqa %6, %4
|
||||
punpcklbw %6, xmm7
|
||||
punpckhbw %4, xmm7
|
||||
paddw %3, %6
|
||||
paddw %4, %5
|
||||
paddw %1, %3 ; block 0, 1
|
||||
paddw %2, %4 ; block 2, 3
|
||||
phaddw %1, %2 ; block[0]: 0-15, 16-31; block[1]: 32-47, 48-63; ..
|
||||
phaddw %1, xmm7 ; block[0]: 0-15; block[1]: 16-31; block[2]: 32-47; block[3]: 48-63; ....
|
||||
psraw %1, $04
|
||||
movdqa %1, [r0 ] ; line 0
|
||||
movdqa %2, [r0+r1] ; line 1
|
||||
movdqa %3, %1
|
||||
punpcklbw %1, xmm7
|
||||
punpckhbw %3, xmm7
|
||||
movdqa %4, %2
|
||||
punpcklbw %4, xmm7
|
||||
punpckhbw %2, xmm7
|
||||
paddw %1, %4
|
||||
paddw %2, %3
|
||||
movdqa %3, [r0+r2] ; line 2
|
||||
movdqa %4, [r0+r3] ; line 3
|
||||
movdqa %5, %3
|
||||
punpcklbw %3, xmm7
|
||||
punpckhbw %5, xmm7
|
||||
movdqa %6, %4
|
||||
punpcklbw %6, xmm7
|
||||
punpckhbw %4, xmm7
|
||||
paddw %3, %6
|
||||
paddw %4, %5
|
||||
paddw %1, %3 ; block 0, 1
|
||||
paddw %2, %4 ; block 2, 3
|
||||
phaddw %1, %2 ; block[0]: 0-15, 16-31; block[1]: 32-47, 48-63; ..
|
||||
phaddw %1, xmm7 ; block[0]: 0-15; block[1]: 16-31; block[2]: 32-47; block[3]: 48-63; ....
|
||||
psraw %1, $04
|
||||
%endmacro
|
||||
|
||||
|
||||
@@ -143,7 +143,7 @@ SECTION .text
|
||||
; , 6/7/2010
|
||||
|
||||
;***********************************************************************
|
||||
; int32_t AnalysisVaaInfoIntra_sse2( uint8_t *pDataY, const int32_t iLineSize );
|
||||
; int32_t AnalysisVaaInfoIntra_sse2( uint8_t *pDataY, const int32_t iLineSize );
|
||||
;***********************************************************************
|
||||
WELS_EXTERN AnalysisVaaInfoIntra_sse2
|
||||
|
||||
@@ -174,71 +174,71 @@ WELS_EXTERN AnalysisVaaInfoIntra_sse2
|
||||
mov r4,r2
|
||||
sal r4,$01 ;r4 = 4*iLineSize
|
||||
|
||||
pxor xmm7, xmm7
|
||||
pxor xmm7, xmm7
|
||||
|
||||
; loops
|
||||
VAA_AVG_BLOCK_SSE2 xmm0, xmm1, xmm2, xmm3, xmm4, xmm5
|
||||
movq [r7], xmm0
|
||||
; loops
|
||||
VAA_AVG_BLOCK_SSE2 xmm0, xmm1, xmm2, xmm3, xmm4, xmm5
|
||||
movq [r7], xmm0
|
||||
|
||||
lea r0, [r0+r4]
|
||||
VAA_AVG_BLOCK_SSE2 xmm0, xmm1, xmm2, xmm3, xmm4, xmm5
|
||||
movq [r7+8], xmm0
|
||||
lea r0, [r0+r4]
|
||||
VAA_AVG_BLOCK_SSE2 xmm0, xmm1, xmm2, xmm3, xmm4, xmm5
|
||||
movq [r7+8], xmm0
|
||||
|
||||
lea r0, [r0+r4]
|
||||
VAA_AVG_BLOCK_SSE2 xmm0, xmm1, xmm2, xmm3, xmm4, xmm5
|
||||
movq [r7+16], xmm0
|
||||
lea r0, [r0+r4]
|
||||
VAA_AVG_BLOCK_SSE2 xmm0, xmm1, xmm2, xmm3, xmm4, xmm5
|
||||
movq [r7+16], xmm0
|
||||
|
||||
lea r0, [r0+r4]
|
||||
VAA_AVG_BLOCK_SSE2 xmm0, xmm1, xmm2, xmm3, xmm4, xmm5
|
||||
movq [r7+24], xmm0
|
||||
lea r0, [r0+r4]
|
||||
VAA_AVG_BLOCK_SSE2 xmm0, xmm1, xmm2, xmm3, xmm4, xmm5
|
||||
movq [r7+24], xmm0
|
||||
|
||||
movdqa xmm0, [r7] ; block 0~7
|
||||
movdqa xmm1, [r7+16] ; block 8~15
|
||||
movdqa xmm2, xmm0
|
||||
paddw xmm0, xmm1
|
||||
SUM_WORD_8x2_SSE2 xmm0, xmm3
|
||||
movdqa xmm0, [r7] ; block 0~7
|
||||
movdqa xmm1, [r7+16] ; block 8~15
|
||||
movdqa xmm2, xmm0
|
||||
paddw xmm0, xmm1
|
||||
SUM_WORD_8x2_SSE2 xmm0, xmm3
|
||||
|
||||
pmullw xmm1, xmm1
|
||||
pmullw xmm2, xmm2
|
||||
movdqa xmm3, xmm1
|
||||
movdqa xmm4, xmm2
|
||||
punpcklwd xmm1, xmm7
|
||||
punpckhwd xmm3, xmm7
|
||||
punpcklwd xmm2, xmm7
|
||||
punpckhwd xmm4, xmm7
|
||||
paddd xmm1, xmm2
|
||||
paddd xmm3, xmm4
|
||||
paddd xmm1, xmm3
|
||||
pshufd xmm2, xmm1, 01Bh
|
||||
paddd xmm1, xmm2
|
||||
pshufd xmm2, xmm1, 0B1h
|
||||
paddd xmm1, xmm2
|
||||
pmullw xmm1, xmm1
|
||||
pmullw xmm2, xmm2
|
||||
movdqa xmm3, xmm1
|
||||
movdqa xmm4, xmm2
|
||||
punpcklwd xmm1, xmm7
|
||||
punpckhwd xmm3, xmm7
|
||||
punpcklwd xmm2, xmm7
|
||||
punpckhwd xmm4, xmm7
|
||||
paddd xmm1, xmm2
|
||||
paddd xmm3, xmm4
|
||||
paddd xmm1, xmm3
|
||||
pshufd xmm2, xmm1, 01Bh
|
||||
paddd xmm1, xmm2
|
||||
pshufd xmm2, xmm1, 0B1h
|
||||
paddd xmm1, xmm2
|
||||
|
||||
|
||||
|
||||
movd r2d, xmm0
|
||||
and r2, 0ffffh ; effective low work truncated
|
||||
mov r3, r2
|
||||
imul r2, r3
|
||||
sar r2, $04
|
||||
movd retrd, xmm1
|
||||
sub retrd, r2d
|
||||
movd r2d, xmm0
|
||||
and r2, 0ffffh ; effective low work truncated
|
||||
mov r3, r2
|
||||
imul r2, r3
|
||||
sar r2, $04
|
||||
movd retrd, xmm1
|
||||
sub retrd, r2d
|
||||
|
||||
add r7,32
|
||||
add r7,r5
|
||||
add r7,32
|
||||
add r7,r5
|
||||
|
||||
%ifdef X86_32
|
||||
pop r6
|
||||
pop r5
|
||||
pop r4
|
||||
pop r3
|
||||
pop r6
|
||||
pop r5
|
||||
pop r4
|
||||
pop r3
|
||||
%endif
|
||||
POP_XMM
|
||||
POP_XMM
|
||||
|
||||
ret
|
||||
ret
|
||||
|
||||
;***********************************************************************
|
||||
; int32_t AnalysisVaaInfoIntra_ssse3( uint8_t *pDataY, const int32_t iLineSize );
|
||||
; int32_t AnalysisVaaInfoIntra_ssse3( uint8_t *pDataY, const int32_t iLineSize );
|
||||
;***********************************************************************
|
||||
WELS_EXTERN AnalysisVaaInfoIntra_ssse3
|
||||
|
||||
@@ -269,47 +269,47 @@ WELS_EXTERN AnalysisVaaInfoIntra_ssse3
|
||||
mov r4,r2
|
||||
sal r4,$01 ;r4 = 4*iLineSize
|
||||
|
||||
pxor xmm7, xmm7
|
||||
pxor xmm7, xmm7
|
||||
|
||||
; loops
|
||||
VAA_AVG_BLOCK_SSSE3 xmm0, xmm1, xmm2, xmm3, xmm4, xmm5
|
||||
; loops
|
||||
VAA_AVG_BLOCK_SSSE3 xmm0, xmm1, xmm2, xmm3, xmm4, xmm5
|
||||
movq [r7],xmm0
|
||||
|
||||
lea r0,[r0+r4]
|
||||
VAA_AVG_BLOCK_SSSE3 xmm1, xmm2, xmm3, xmm4, xmm5, xmm6
|
||||
lea r0,[r0+r4]
|
||||
VAA_AVG_BLOCK_SSSE3 xmm1, xmm2, xmm3, xmm4, xmm5, xmm6
|
||||
movq [r7+8],xmm1
|
||||
|
||||
|
||||
lea r0,[r0+r4]
|
||||
VAA_AVG_BLOCK_SSSE3 xmm0, xmm1, xmm2, xmm3, xmm4, xmm5
|
||||
lea r0,[r0+r4]
|
||||
VAA_AVG_BLOCK_SSSE3 xmm0, xmm1, xmm2, xmm3, xmm4, xmm5
|
||||
movq [r7+16],xmm0
|
||||
|
||||
lea r0,[r0+r4]
|
||||
VAA_AVG_BLOCK_SSSE3 xmm1, xmm2, xmm3, xmm4, xmm5, xmm6
|
||||
lea r0,[r0+r4]
|
||||
VAA_AVG_BLOCK_SSSE3 xmm1, xmm2, xmm3, xmm4, xmm5, xmm6
|
||||
movq [r7+24],xmm1
|
||||
|
||||
|
||||
movdqa xmm0,[r7]
|
||||
movdqa xmm1,[r7+16]
|
||||
movdqa xmm2, xmm0
|
||||
paddw xmm0, xmm1
|
||||
SUM_WORD_8x2_SSE2 xmm0, xmm3 ; better performance than that of phaddw sets
|
||||
movdqa xmm0,[r7]
|
||||
movdqa xmm1,[r7+16]
|
||||
movdqa xmm2, xmm0
|
||||
paddw xmm0, xmm1
|
||||
SUM_WORD_8x2_SSE2 xmm0, xmm3 ; better performance than that of phaddw sets
|
||||
|
||||
pmullw xmm1, xmm1
|
||||
pmullw xmm2, xmm2
|
||||
movdqa xmm3, xmm1
|
||||
movdqa xmm4, xmm2
|
||||
punpcklwd xmm1, xmm7
|
||||
punpckhwd xmm3, xmm7
|
||||
punpcklwd xmm2, xmm7
|
||||
punpckhwd xmm4, xmm7
|
||||
paddd xmm1, xmm2
|
||||
paddd xmm3, xmm4
|
||||
paddd xmm1, xmm3
|
||||
pshufd xmm2, xmm1, 01Bh
|
||||
paddd xmm1, xmm2
|
||||
pshufd xmm2, xmm1, 0B1h
|
||||
paddd xmm1, xmm2
|
||||
pmullw xmm1, xmm1
|
||||
pmullw xmm2, xmm2
|
||||
movdqa xmm3, xmm1
|
||||
movdqa xmm4, xmm2
|
||||
punpcklwd xmm1, xmm7
|
||||
punpckhwd xmm3, xmm7
|
||||
punpcklwd xmm2, xmm7
|
||||
punpckhwd xmm4, xmm7
|
||||
paddd xmm1, xmm2
|
||||
paddd xmm3, xmm4
|
||||
paddd xmm1, xmm3
|
||||
pshufd xmm2, xmm1, 01Bh
|
||||
paddd xmm1, xmm2
|
||||
pshufd xmm2, xmm1, 0B1h
|
||||
paddd xmm1, xmm2
|
||||
|
||||
|
||||
movd r2d, xmm0
|
||||
@@ -318,94 +318,94 @@ WELS_EXTERN AnalysisVaaInfoIntra_ssse3
|
||||
imul r2, r3
|
||||
sar r2, $04
|
||||
movd retrd, xmm1
|
||||
sub retrd, r2d
|
||||
sub retrd, r2d
|
||||
|
||||
add r7,32
|
||||
add r7,r5
|
||||
add r7,32
|
||||
add r7,r5
|
||||
%ifdef X86_32
|
||||
pop r6
|
||||
pop r5
|
||||
pop r4
|
||||
pop r3
|
||||
pop r6
|
||||
pop r5
|
||||
pop r4
|
||||
pop r3
|
||||
%endif
|
||||
POP_XMM
|
||||
POP_XMM
|
||||
|
||||
ret
|
||||
ret
|
||||
|
||||
;***********************************************************************
|
||||
; uint8_t MdInterAnalysisVaaInfo_sse41( int32_t *pSad8x8 )
|
||||
; uint8_t MdInterAnalysisVaaInfo_sse41( int32_t *pSad8x8 )
|
||||
;***********************************************************************
|
||||
WELS_EXTERN MdInterAnalysisVaaInfo_sse41
|
||||
%assign push_num 0
|
||||
LOAD_1_PARA
|
||||
movdqa xmm0,[r0]
|
||||
pshufd xmm1, xmm0, 01Bh
|
||||
paddd xmm1, xmm0
|
||||
pshufd xmm2, xmm1, 0B1h
|
||||
paddd xmm1, xmm2
|
||||
psrad xmm1, 02h ; iAverageSad
|
||||
movdqa xmm2, xmm1
|
||||
psrad xmm2, 06h
|
||||
movdqa xmm3, xmm0 ; iSadBlock
|
||||
psrad xmm3, 06h
|
||||
psubd xmm3, xmm2
|
||||
pmulld xmm3, xmm3 ; [comment]: pmulld from SSE4.1 instruction sets
|
||||
pshufd xmm4, xmm3, 01Bh
|
||||
paddd xmm4, xmm3
|
||||
pshufd xmm3, xmm4, 0B1h
|
||||
paddd xmm3, xmm4
|
||||
movd r0d, xmm3
|
||||
cmp r0d, 20 ; INTER_VARIANCE_SAD_THRESHOLD
|
||||
%assign push_num 0
|
||||
LOAD_1_PARA
|
||||
movdqa xmm0,[r0]
|
||||
pshufd xmm1, xmm0, 01Bh
|
||||
paddd xmm1, xmm0
|
||||
pshufd xmm2, xmm1, 0B1h
|
||||
paddd xmm1, xmm2
|
||||
psrad xmm1, 02h ; iAverageSad
|
||||
movdqa xmm2, xmm1
|
||||
psrad xmm2, 06h
|
||||
movdqa xmm3, xmm0 ; iSadBlock
|
||||
psrad xmm3, 06h
|
||||
psubd xmm3, xmm2
|
||||
pmulld xmm3, xmm3 ; [comment]: pmulld from SSE4.1 instruction sets
|
||||
pshufd xmm4, xmm3, 01Bh
|
||||
paddd xmm4, xmm3
|
||||
pshufd xmm3, xmm4, 0B1h
|
||||
paddd xmm3, xmm4
|
||||
movd r0d, xmm3
|
||||
cmp r0d, 20 ; INTER_VARIANCE_SAD_THRESHOLD
|
||||
|
||||
jb near .threshold_exit
|
||||
pshufd xmm0, xmm0, 01Bh
|
||||
pcmpgtd xmm0, xmm1 ; iSadBlock > iAverageSad
|
||||
movmskps retrd, xmm0
|
||||
ret
|
||||
jb near .threshold_exit
|
||||
pshufd xmm0, xmm0, 01Bh
|
||||
pcmpgtd xmm0, xmm1 ; iSadBlock > iAverageSad
|
||||
movmskps retrd, xmm0
|
||||
ret
|
||||
.threshold_exit:
|
||||
mov retrd, 15
|
||||
ret
|
||||
mov retrd, 15
|
||||
ret
|
||||
|
||||
;***********************************************************************
|
||||
; uint8_t MdInterAnalysisVaaInfo_sse2( int32_t *pSad8x8 )
|
||||
; uint8_t MdInterAnalysisVaaInfo_sse2( int32_t *pSad8x8 )
|
||||
;***********************************************************************
|
||||
WELS_EXTERN MdInterAnalysisVaaInfo_sse2
|
||||
%assign push_num 0
|
||||
LOAD_1_PARA
|
||||
movdqa xmm0, [r0]
|
||||
pshufd xmm1, xmm0, 01Bh
|
||||
paddd xmm1, xmm0
|
||||
pshufd xmm2, xmm1, 0B1h
|
||||
paddd xmm1, xmm2
|
||||
psrad xmm1, 02h ; iAverageSad
|
||||
movdqa xmm2, xmm1
|
||||
psrad xmm2, 06h
|
||||
movdqa xmm3, xmm0 ; iSadBlock
|
||||
psrad xmm3, 06h
|
||||
psubd xmm3, xmm2
|
||||
%assign push_num 0
|
||||
LOAD_1_PARA
|
||||
movdqa xmm0, [r0]
|
||||
pshufd xmm1, xmm0, 01Bh
|
||||
paddd xmm1, xmm0
|
||||
pshufd xmm2, xmm1, 0B1h
|
||||
paddd xmm1, xmm2
|
||||
psrad xmm1, 02h ; iAverageSad
|
||||
movdqa xmm2, xmm1
|
||||
psrad xmm2, 06h
|
||||
movdqa xmm3, xmm0 ; iSadBlock
|
||||
psrad xmm3, 06h
|
||||
psubd xmm3, xmm2
|
||||
|
||||
; to replace pmulld functionality as below
|
||||
movdqa xmm2, xmm3
|
||||
pmuludq xmm2, xmm3
|
||||
pshufd xmm4, xmm3, 0B1h
|
||||
pmuludq xmm4, xmm4
|
||||
movdqa xmm5, xmm2
|
||||
punpckldq xmm5, xmm4
|
||||
punpckhdq xmm2, xmm4
|
||||
punpcklqdq xmm5, xmm2
|
||||
; to replace pmulld functionality as below
|
||||
movdqa xmm2, xmm3
|
||||
pmuludq xmm2, xmm3
|
||||
pshufd xmm4, xmm3, 0B1h
|
||||
pmuludq xmm4, xmm4
|
||||
movdqa xmm5, xmm2
|
||||
punpckldq xmm5, xmm4
|
||||
punpckhdq xmm2, xmm4
|
||||
punpcklqdq xmm5, xmm2
|
||||
|
||||
pshufd xmm4, xmm5, 01Bh
|
||||
paddd xmm4, xmm5
|
||||
pshufd xmm5, xmm4, 0B1h
|
||||
paddd xmm5, xmm4
|
||||
pshufd xmm4, xmm5, 01Bh
|
||||
paddd xmm4, xmm5
|
||||
pshufd xmm5, xmm4, 0B1h
|
||||
paddd xmm5, xmm4
|
||||
|
||||
movd r0d, xmm5
|
||||
cmp r0d, 20 ; INTER_VARIANCE_SAD_THRESHOLD
|
||||
jb near .threshold_exit
|
||||
pshufd xmm0, xmm0, 01Bh
|
||||
pcmpgtd xmm0, xmm1 ; iSadBlock > iAverageSad
|
||||
movmskps retrd, xmm0
|
||||
ret
|
||||
movd r0d, xmm5
|
||||
cmp r0d, 20 ; INTER_VARIANCE_SAD_THRESHOLD
|
||||
jb near .threshold_exit
|
||||
pshufd xmm0, xmm0, 01Bh
|
||||
pcmpgtd xmm0, xmm1 ; iSadBlock > iAverageSad
|
||||
movmskps retrd, xmm0
|
||||
ret
|
||||
.threshold_exit:
|
||||
mov retrd, 15
|
||||
ret
|
||||
mov retrd, 15
|
||||
ret
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
CONSOLE_COMMON_SRCDIR=codec/console/common
|
||||
CONSOLE_COMMON_CPP_SRCS=\
|
||||
$(CONSOLE_COMMON_SRCDIR)/src/read_config.cpp\
|
||||
|
||||
CONSOLE_COMMON_OBJS += $(CONSOLE_COMMON_CPP_SRCS:.cpp=.$(OBJ))
|
||||
|
||||
OBJS += $(CONSOLE_COMMON_OBJS)
|
||||
$(CONSOLE_COMMON_SRCDIR)/%.$(OBJ): $(CONSOLE_COMMON_SRCDIR)/%.cpp
|
||||
$(QUIET_CXX)$(CXX) $(CFLAGS) $(CXXFLAGS) $(INCLUDES) $(CONSOLE_COMMON_CFLAGS) $(CONSOLE_COMMON_INCLUDES) -c $(CXX_O) $<
|
||||
|
||||
$(LIBPREFIX)console_common.$(LIBSUFFIX): $(CONSOLE_COMMON_OBJS)
|
||||
$(QUIET)rm -f $@
|
||||
$(QUIET_AR)$(AR) $(AR_OPTS) $+
|
||||
|
||||
libraries: $(LIBPREFIX)console_common.$(LIBSUFFIX)
|
||||
LIBRARIES += $(LIBPREFIX)console_common.$(LIBSUFFIX)
|
||||
@@ -82,8 +82,6 @@ class CD3D9Utils {
|
||||
HWND m_hWnd;
|
||||
unsigned char* m_pDumpYUV;
|
||||
BOOL m_bInitDone;
|
||||
int m_nWidth;
|
||||
int m_nHeight;
|
||||
|
||||
LPDIRECT3D9 m_lpD3D9;
|
||||
LPDIRECT3DDEVICE9 m_lpD3D9Device;
|
||||
@@ -112,8 +110,6 @@ class CD3D9ExUtils {
|
||||
HWND m_hWnd;
|
||||
unsigned char* m_pDumpYUV;
|
||||
BOOL m_bInitDone;
|
||||
int m_nWidth;
|
||||
int m_nHeight;
|
||||
|
||||
LPDIRECT3D9EX m_lpD3D9;
|
||||
LPDIRECT3DDEVICE9EX m_lpD3D9Device;
|
||||
|
||||
@@ -44,16 +44,12 @@
|
||||
#include <string>
|
||||
using namespace std;
|
||||
|
||||
|
||||
class CReadConfig {
|
||||
public:
|
||||
CReadConfig();
|
||||
CReadConfig (const char* pConfigFileName);
|
||||
CReadConfig (const string& pConfigFileName);
|
||||
CReadConfig (const char* kpConfigFileName);
|
||||
virtual ~CReadConfig();
|
||||
|
||||
void Openf (const char* strFile);
|
||||
long ReadLine (string* strVal, const int iValSize = 4);
|
||||
long ReadLine (string* val, const int kiValSize = 4);
|
||||
const bool EndOfFile();
|
||||
const int GetLines();
|
||||
const bool ExistFile();
|
||||
@@ -62,7 +58,7 @@ class CReadConfig {
|
||||
private:
|
||||
FILE* m_pCfgFile;
|
||||
string m_strCfgFileName;
|
||||
unsigned int m_iLines;
|
||||
unsigned long m_ulLines;
|
||||
};
|
||||
|
||||
#endif // READ_CONFIG_H__
|
||||
@@ -75,8 +75,7 @@ CD3D9Utils::CD3D9Utils() {
|
||||
m_lpD3D9 = NULL;
|
||||
m_lpD3D9Device = NULL;
|
||||
m_lpD3D9RawSurfaceShare = NULL;
|
||||
m_nWidth = 0;
|
||||
m_nHeight = 0;
|
||||
|
||||
// coverity scan uninitial
|
||||
ZeroMemory (&m_d3dpp, sizeof (m_d3dpp));
|
||||
}
|
||||
@@ -148,16 +147,6 @@ HRESULT CD3D9Utils::Process (void* pDst[3], SBufferInfo* pInfo, FILE* pFp) {
|
||||
HRESULT CD3D9Utils::Render (void* pDst[3], SBufferInfo* pInfo) {
|
||||
HRESULT hResult = E_FAIL;
|
||||
|
||||
if (!pInfo)
|
||||
return E_FAIL;
|
||||
|
||||
if (m_nWidth != pInfo->UsrData.sSystemBuffer.iWidth
|
||||
|| m_nHeight != pInfo->UsrData.sSystemBuffer.iHeight) {
|
||||
m_nWidth = pInfo->UsrData.sSystemBuffer.iWidth;
|
||||
m_nHeight = pInfo->UsrData.sSystemBuffer.iHeight;
|
||||
SAFE_RELEASE (m_lpD3D9RawSurfaceShare);
|
||||
SAFE_RELEASE (m_lpD3D9Device);
|
||||
}
|
||||
hResult = InitResource (NULL, pInfo);
|
||||
if (SUCCEEDED (hResult))
|
||||
hResult = Dump2Surface (pDst, m_lpD3D9RawSurfaceShare, pInfo->UsrData.sSystemBuffer.iWidth,
|
||||
@@ -256,8 +245,6 @@ CD3D9ExUtils::CD3D9ExUtils() {
|
||||
m_lpD3D9Device = NULL;
|
||||
m_lpD3D9RawSurfaceShare = NULL;
|
||||
|
||||
m_nWidth = 0;
|
||||
m_nHeight = 0;
|
||||
// coverity scan uninitial
|
||||
ZeroMemory (&m_d3dpp, sizeof (m_d3dpp));
|
||||
}
|
||||
@@ -329,16 +316,6 @@ HRESULT CD3D9ExUtils::Process (void* pDst[3], SBufferInfo* pInfo, FILE* pFp) {
|
||||
HRESULT CD3D9ExUtils::Render (void* pDst[3], SBufferInfo* pInfo) {
|
||||
HRESULT hResult = E_FAIL;
|
||||
|
||||
if (!pInfo)
|
||||
return E_FAIL;
|
||||
|
||||
if (m_nWidth != pInfo->UsrData.sSystemBuffer.iWidth
|
||||
|| m_nHeight != pInfo->UsrData.sSystemBuffer.iHeight) {
|
||||
m_nWidth = pInfo->UsrData.sSystemBuffer.iWidth;
|
||||
m_nHeight = pInfo->UsrData.sSystemBuffer.iHeight;
|
||||
SAFE_RELEASE (m_lpD3D9RawSurfaceShare);
|
||||
SAFE_RELEASE (m_lpD3D9Device);
|
||||
}
|
||||
hResult = InitResource (NULL, pInfo);
|
||||
if (SUCCEEDED (hResult))
|
||||
hResult = Dump2Surface (pDst, m_lpD3D9RawSurfaceShare, pInfo->UsrData.sSystemBuffer.iWidth,
|
||||
@@ -409,9 +386,6 @@ HRESULT CD3D9ExUtils::InitResource (void* pSharedHandle, SBufferInfo* pInfo) {
|
||||
m_d3dpp.hDeviceWindow = m_hWnd;
|
||||
m_d3dpp.PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE;
|
||||
hResult = m_lpD3D9->CreateDeviceEx (uiAdapter, D3DDevType, NULL, dwBehaviorFlags, &m_d3dpp, NULL, &m_lpD3D9Device);
|
||||
if (FAILED (hResult)) {
|
||||
return hResult;
|
||||
}
|
||||
iWidth = pInfo->UsrData.sSystemBuffer.iWidth;
|
||||
iHeight = pInfo->UsrData.sSystemBuffer.iHeight;
|
||||
D3Dformat = (D3DFORMAT)NV12_FORMAT;
|
||||
|
||||
@@ -51,6 +51,7 @@
|
||||
#include "typedefs.h"
|
||||
#include "measure_time.h"
|
||||
#include "d3d9_utils.h"
|
||||
#include "logging.h"
|
||||
|
||||
|
||||
using namespace std;
|
||||
@@ -128,7 +129,7 @@ void H264DecodeInstance (ISVCDecoder* pDecoder, const char* kpH264FileName, cons
|
||||
printf ("------------------------------------------------------\n");
|
||||
|
||||
fseek (pH264File, 0L, SEEK_END);
|
||||
iFileSize = (int32_t) ftell (pH264File);
|
||||
iFileSize = ftell (pH264File);
|
||||
if (iFileSize <= 0) {
|
||||
fprintf (stderr, "Current Bit Stream File is too small, read error!!!!\n");
|
||||
goto label_exit;
|
||||
@@ -310,7 +311,6 @@ int32_t main (int32_t iArgC, char* pArgV[]) {
|
||||
|
||||
SDecodingParam sDecParam = {0};
|
||||
string strInputFile (""), strOutputFile (""), strOptionFile ("");
|
||||
int iLevelSetting = -1;
|
||||
|
||||
sDecParam.sVideoProperty.size = sizeof (sDecParam.sVideoProperty);
|
||||
|
||||
@@ -339,7 +339,7 @@ int32_t main (int32_t iArgC, char* pArgV[]) {
|
||||
strOutputFile = strTag[1];
|
||||
} else if (strTag[0].compare ("RestructionFile") == 0) {
|
||||
strReconFile = strTag[1];
|
||||
int32_t iLen = (int32_t)strReconFile.length();
|
||||
int32_t iLen = strReconFile.length();
|
||||
sDecParam.pFileNameRestructed = new char[iLen + 1];
|
||||
if (sDecParam.pFileNameRestructed != NULL) {
|
||||
sDecParam.pFileNameRestructed[iLen] = 0;
|
||||
@@ -349,7 +349,7 @@ int32_t main (int32_t iArgC, char* pArgV[]) {
|
||||
} else if (strTag[0].compare ("TargetDQID") == 0) {
|
||||
sDecParam.uiTargetDqLayer = (uint8_t)atol (strTag[1].c_str());
|
||||
} else if (strTag[0].compare ("OutColorFormat") == 0) {
|
||||
sDecParam.iOutputColorFormat = atoi (strTag[1].c_str());
|
||||
sDecParam.iOutputColorFormat = atol (strTag[1].c_str());
|
||||
} else if (strTag[0].compare ("ErrorConcealmentFlag") == 0) {
|
||||
sDecParam.uiEcActiveFlag = (uint8_t)atol (strTag[1].c_str());
|
||||
} else if (strTag[0].compare ("CPULoad") == 0) {
|
||||
@@ -384,14 +384,14 @@ int32_t main (int32_t iArgC, char* pArgV[]) {
|
||||
|
||||
if (!strcmp (cmd, "-options")) {
|
||||
if (i + 1 < iArgC)
|
||||
strOptionFile = pArgV[++i];
|
||||
strOptionFile = pArgV[i++];
|
||||
else {
|
||||
printf ("options file not specified.\n");
|
||||
return 1;
|
||||
}
|
||||
} else if (!strcmp (cmd, "-trace")) {
|
||||
if (i + 1 < iArgC)
|
||||
iLevelSetting = atoi (pArgV[++i]);
|
||||
WelsStderrSetTraceLevel (atoi (pArgV[i++]));
|
||||
else {
|
||||
printf ("trace level not specified.\n");
|
||||
return 1;
|
||||
@@ -418,9 +418,6 @@ int32_t main (int32_t iArgC, char* pArgV[]) {
|
||||
printf ("Create Decoder failed.\n");
|
||||
return 1;
|
||||
}
|
||||
if (iLevelSetting >= 0) {
|
||||
pDecoder->SetOption (DECODER_OPTION_TRACE_LEVEL, &iLevelSetting);
|
||||
}
|
||||
|
||||
if (pDecoder->Initialize (&sDecParam)) {
|
||||
printf ("Decoder initialization failed.\n");
|
||||
|
||||
120
codec/console/dec/src/read_config.cpp
Normal file
120
codec/console/dec/src/read_config.cpp
Normal file
@@ -0,0 +1,120 @@
|
||||
/*!
|
||||
* \copy
|
||||
* Copyright (c) 2008-2013, Cisco Systems
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* read_config.h
|
||||
*
|
||||
* Abstract
|
||||
* Class for reading parameter settings in a configure file.
|
||||
*
|
||||
* History
|
||||
* 08/18/2008 Created
|
||||
*
|
||||
*****************************************************************************/
|
||||
|
||||
#define _CRT_SECURE_NO_WARNINGS
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
|
||||
|
||||
|
||||
#include "read_config.h"
|
||||
|
||||
CReadConfig::CReadConfig (const char* kpConfigFileName)
|
||||
: m_pCfgFile (0)
|
||||
, m_strCfgFileName (kpConfigFileName)
|
||||
, m_ulLines (0) {
|
||||
if (strlen (kpConfigFileName) > 0) { // FIXME: To check validation in configure file name
|
||||
m_pCfgFile = fopen (kpConfigFileName, "r");
|
||||
}
|
||||
}
|
||||
|
||||
CReadConfig::~CReadConfig() {
|
||||
if (m_pCfgFile) {
|
||||
fclose (m_pCfgFile);
|
||||
m_pCfgFile = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
long CReadConfig::ReadLine (string* pStr, const int kiValSize/* = 4*/) {
|
||||
if (m_pCfgFile == NULL || pStr == NULL || kiValSize <= 1)
|
||||
return 0;
|
||||
|
||||
string* strTags = &pStr[0];
|
||||
int iTagNum = 0, iNum = 0;
|
||||
bool bCommentFlag = false;
|
||||
|
||||
while (iNum < kiValSize) {
|
||||
pStr[iNum] = "";
|
||||
++ iNum;
|
||||
}
|
||||
|
||||
do {
|
||||
const char kChar = (char)fgetc (m_pCfgFile);
|
||||
|
||||
if (kChar == '\n' || feof (m_pCfgFile)) {
|
||||
++ m_ulLines;
|
||||
break;
|
||||
}
|
||||
if (kChar == '#')
|
||||
bCommentFlag = true;
|
||||
if (!bCommentFlag) {
|
||||
if (kChar == '\t' || kChar == ' ') {
|
||||
if (iTagNum >= kiValSize)
|
||||
break;
|
||||
if (! (*strTags).empty()) {
|
||||
++ iTagNum;
|
||||
strTags = &pStr[iTagNum];
|
||||
}
|
||||
} else
|
||||
*strTags += kChar;
|
||||
}
|
||||
|
||||
} while (true);
|
||||
|
||||
return 1 + iTagNum;
|
||||
}
|
||||
|
||||
const bool CReadConfig::EndOfFile() {
|
||||
if (m_pCfgFile == NULL)
|
||||
return true;
|
||||
return feof (m_pCfgFile) ? true : false;
|
||||
}
|
||||
|
||||
const int CReadConfig::GetLines() {
|
||||
return m_ulLines;
|
||||
}
|
||||
|
||||
const bool CReadConfig::ExistFile() {
|
||||
return (m_pCfgFile != NULL);
|
||||
}
|
||||
|
||||
const string& CReadConfig::GetFileName() {
|
||||
return m_strCfgFileName;
|
||||
}
|
||||
@@ -2,6 +2,7 @@ H264DEC_SRCDIR=codec/console/dec
|
||||
H264DEC_CPP_SRCS=\
|
||||
$(H264DEC_SRCDIR)/src/d3d9_utils.cpp\
|
||||
$(H264DEC_SRCDIR)/src/h264dec.cpp\
|
||||
$(H264DEC_SRCDIR)/src/read_config.cpp\
|
||||
|
||||
H264DEC_OBJS += $(H264DEC_CPP_SRCS:.cpp=.$(OBJ))
|
||||
|
||||
|
||||
77
codec/console/enc/inc/read_config.h
Normal file
77
codec/console/enc/inc/read_config.h
Normal file
@@ -0,0 +1,77 @@
|
||||
/*!
|
||||
* \copy
|
||||
* Copyright (c) 2008-2013, Cisco Systems
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* read_config.h
|
||||
*
|
||||
* Abstract
|
||||
* Class for reading parameter settings in a configure file.
|
||||
*
|
||||
* History
|
||||
* 08/18/2008 Created
|
||||
*
|
||||
*****************************************************************************/
|
||||
#ifndef READ_CONFIG_H__
|
||||
#define READ_CONFIG_H__
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <string>
|
||||
#include "wels_const.h"
|
||||
using namespace std;
|
||||
|
||||
typedef struct tagFilesSet {
|
||||
string strBsFile;
|
||||
string strSeqFile; // for cmd lines
|
||||
string strLayerCfgFile[MAX_DEPENDENCY_LAYER];
|
||||
char sRecFileName[MAX_DEPENDENCY_LAYER][MAX_FNAME_LEN];
|
||||
} SFilesSet;
|
||||
|
||||
|
||||
class CReadConfig {
|
||||
public:
|
||||
CReadConfig();
|
||||
CReadConfig (const char* pConfigFileName);
|
||||
CReadConfig (const string& pConfigFileName);
|
||||
virtual ~CReadConfig();
|
||||
|
||||
void Openf (const char* strFile);
|
||||
long ReadLine (string* strVal, const int iValSize = 4);
|
||||
const bool EndOfFile();
|
||||
const int GetLines();
|
||||
const bool ExistFile();
|
||||
const string& GetFileName();
|
||||
|
||||
private:
|
||||
FILE* m_pCfgFile;
|
||||
string m_strCfgFileName;
|
||||
unsigned long m_iLines;
|
||||
};
|
||||
|
||||
#endif // READ_CONFIG_H__
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user