Skip to content
This repository was archived by the owner on Jul 29, 2024. It is now read-only.
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
106 commits
Select commit Hold shift + click to select a range
e2e977b
Add crf ratecontrol support
kirithika7 Jan 9, 2019
ac871ee
Merge branch 'master' into master
kirithika7 Jan 17, 2019
808457f
Add CLI support for vbv
bhavnahariMCW Dec 11, 2018
de97249
Enable vbv for abr mode
bhavnahariMCW Dec 18, 2018
488721b
Added VBV frame level support
dinesh0603 Jan 8, 2019
8f74ea2
1. Fixed Index comparision to compare with current Index + lookAheadD…
dinesh0603 Jan 22, 2019
8f3b2a4
Enforce vbv buffer update to happen in decode order
kirithika7 Jan 23, 2019
f1e1a17
Add new cli -hrd (default 0) + enable flags to signal hrd
kirithika7 Jan 23, 2019
8c2f324
Add support for HRD SEI signalling
kirithika7 Jan 24, 2019
bfd35f2
Add support for Active Parameter Set SEI
kirithika7 Jan 30, 2019
38b744d
Control VBV bufferFill access using mutex
arunaMathes Jan 25, 2019
853a45e
Add cli -vbv-init and remove hard-coded vbv buffer initialization
arunaMathes Jan 31, 2019
87f7729
If rate control is ON, base layer picture will not be processed until…
anaghdin Jan 27, 2019
708bd26
VBV Code clean up and made VBV as function call
dinesh0603 Feb 18, 2019
32dc411
Fix for the deadlock encoding frames fewer than 48
anaghdin Feb 18, 2019
88d1bef
Move vbv algorithm before using picture Qp for other RC context updates
kirithika7 Feb 22, 2019
f4d19b8
Fix Warning: When NAL Unit is non-VCL NAL, TemporalId shall be greate…
kirithika7 Feb 22, 2019
cddec5a
Fix bug:The value of rbsp_stop_one_bit shall be equal to 1 in vps
kirithika7 Feb 25, 2019
96524c4
Fix cbr signalling
kirithika7 Feb 26, 2019
a199b68
Fix Hrd Issue
kirithika7 Feb 27, 2019
e692a04
Fix uninitialized BPnumber value error when hrd is disabled
kirithika7 Feb 28, 2019
c8a7166
Fix Hrd signalling for fixed GOP length
kirithika7 Feb 28, 2019
54eceb4
-Fix 1. encoded bitrate will be within target Bitrate limit 2. previo…
dinesh0603 Mar 5, 2019
429edb5
Add code to copy the pcs context into the Packetization Reorder Queue…
kirithika7 Mar 12, 2019
d857190
Add code to splice the bitstream and insert pic timing SEI
kirithika7 Mar 12, 2019
0d74be5
Fix bugs and cleanup
kirithika7 Mar 12, 2019
22f80ea
Refactor byte shifting code with memcpy+cleanup
kirithika7 Mar 13, 2019
5f52a2f
Add support for strict cbr to prevent hrd buffer overflow
kirithika7 Mar 13, 2019
dd24050
Add code to consider filler bits for RC
kirithika7 Mar 13, 2019
713643e
Merged Master to VBV-DEV branch
dinesh0603 Mar 19, 2019
6311c66
Merge branch 'master' tip into vbv_dev
dinesh0603 Mar 20, 2019
f268574
Update the filler bit error in the packetization feedback to rate con…
kirithika7 Mar 21, 2019
f1cd4c5
Added feedback from packetization to picturemanager to address a dead…
anaghdin Mar 26, 2019
0b1103a
Fix the demux port
anaghdin Mar 27, 2019
494cb24
update the pictureDemuxResultsProducerFifoPtrArray ports
anaghdin Mar 27, 2019
7b70491
Revert the feedback of filler bits error to GOP's virtual Buffer level
kirithika7 Mar 27, 2019
07c3947
Fix for deadlock when vbv is not enabled
kirithika7 Mar 29, 2019
3df55f3
Fix compiler warnings
kirithika7 Mar 29, 2019
e3b304d
Fix for Final Bitrate is greater than TBR in Strict CBR
dinesh0603 Apr 4, 2019
603afa8
Fix:Remove the duplicated use of current frame bits for lookahead bas…
kirithika7 Apr 15, 2019
aa3d3f6
Add support for vbv-end and vbv-end-fr-adj
kirithika7 Apr 5, 2019
c82520c
Add proxy entropy coding call into Encdec process to support block le…
kirithika7 Feb 6, 2019
1397357
Create and initialize row stats structure
kirithika7 Feb 11, 2019
742a38e
Add code to assign baseqp for each LCU
kirithika7 Feb 12, 2019
6926341
Update rowstats based on the CU history
kirithika7 Feb 12, 2019
1d6bce7
Add code for Low level RC
kirithika7 Feb 26, 2019
c977220
Add code to estimate frame size at vbv checkpoints
kirithika7 Feb 13, 2019
9234146
Code clean up & removed warnings
dinesh0603 Mar 1, 2019
0560e9c
Add code to predict bits for each LCU
kirithika7 Mar 11, 2019
9703118
Fix Buffer Fill based on the lookahead buffer Fill for the current frame
kirithika7 Apr 22, 2019
01d52a4
Fix exception due to null frame rate
kirithika7 Apr 22, 2019
501e5a4
Move the low-level QP calculation after MD Fix the confromant part fo…
anaghdin Mar 12, 2019
037d7c2
Add cli support to enable/disable low level vbv
kirithika7 Mar 19, 2019
d1b7dea
Add additional checks for -low-level-vbv introduced
kirithika7 Mar 19, 2019
5a8dc53
Fix the run time error "No RC interval found" when
kirithika7 Apr 29, 2019
d55a18b
Fix: Reset encodedBitsSoFar to 0 before recomputing frame size
kirithika7 Apr 29, 2019
e337b62
Merge branch with Master (Commit:97eafda)
dinesh0603 May 30, 2019
f7ebfc3
-Modified code as per review comments and coding guidelines
dinesh0603 May 30, 2019
c5cdcfe
Fix for Deadlock
dinesh0603 May 31, 2019
beda1ec
Remove the macro PACK_FEEDBACK
anaghdin Mar 27, 2019
d1386a6
Implement 16x16 SATD C and AVX2 functions.
LuanZhanKuangGe Jun 6, 2019
2442880
Fix compiler errors on Linux.
LuanZhanKuangGe Jun 6, 2019
c8e2fcd
Fixed hrd 1 crash issues caused by writeUvlc long bits, memmove and S…
Jun 11, 2019
20e2bf9
Merge CRF branch with master
dinesh0603 Jun 13, 2019
6431e5c
Merge CRF with Master Tip(commit:054b1bf)
dinesh0603 Jun 13, 2019
80d1d8a
Modifed code as per coding guidelines
dinesh0603 Jun 14, 2019
8997bc3
Merge branch VBV Code with CRF
dinesh0603 Jun 20, 2019
8570171
Merge branch 'master' into master
tianjunwork Jun 25, 2019
ceb6347
Fix linux build errors
kavithasampath Jun 27, 2019
5bb446b
Merge branch 'master' of https://github.com/OpenVisualCloud/SVT-HEVC
kirithika7 Jul 10, 2019
c9ce68b
Cleanup unused variables
kirithika7 Jul 10, 2019
5f95710
Update CMakeLists.txt
kirithika7 Jul 10, 2019
015a2bc
Merge branch 'master' of https://github.com/OpenVisualCloud/SVT-HEVC
kirithika7 Jul 10, 2019
1165741
Revert "Update CMakeLists.txt "
kirithika7 Jul 10, 2019
5e6e924
Fix make error caught while linking math library
kirithika7 Jul 15, 2019
d3d530c
Fix SVT-HEVC ffmpeg integration error
kirithika7 Jul 15, 2019
85a36e2
Fix license header in newly added files
kirithika7 Jul 30, 2019
c5bd916
Fix initialization of Neighbor arrays in EstimateLcu()
kirithika7 Aug 1, 2019
e393fd0
Update Estimatelcu() to that of master
kirithika7 Aug 8, 2019
d499b4f
Fix the Encoder crash when Frames exceeds the CircularQueue length
kirithika7 Aug 9, 2019
c710fc5
Remove reassignment of lcu qp by Entropy process
kirithika7 Aug 9, 2019
84979ba
Fix reset of Row stats once per picture
kirithika7 Aug 9, 2019
b6ae721
Use Sad Interval Index updated by Motion Estimation Process for LCU b…
kirithika7 Aug 9, 2019
ce88bc4
Clean up
kirithika7 Aug 9, 2019
b07731f
Revert vbv-end and vbv end frame adjust option
kirithika7 Aug 10, 2019
1e85639
Merge branch 'master' of https://github.com/OpenVisualCloud/SVT-HEVC
kirithika7 Aug 10, 2019
ef9c29a
Cleanup unneccesary file changes
kirithika7 Aug 10, 2019
c849c55
Merge branch 'master' of https://github.com/OpenVisualCloud/SVT-HEVC
kirithika7 Aug 12, 2019
72a99e9
Cleanup the usage of a udeclared variable
kirithika7 Aug 12, 2019
c16092c
Enable Low level VBV only if frame level VBV is enabled and remove re…
kirithika7 Aug 12, 2019
c0b0ece
Fix inconsistent line endings in EbEncDecProcess.c
kirithika7 Aug 12, 2019
1335e73
Remove the SATD asm implementation
kirithika7 Aug 12, 2019
40a5f97
Move PredictBits() to a new file to remove redundant copy of it as Pr…
kirithika7 Aug 12, 2019
ce4672c
Remove unused variable rowIndex+Move tempCoeffPtr assignment after
kirithika7 Aug 13, 2019
3ee527f
Add Macro for Rc Tolerance and Step size values + Add VBV control to…
kirithika7 Aug 14, 2019
a5d6a00
Add code for planning VBV Buffer Fullness after lookahead VBV to use …
kirithika7 Aug 14, 2019
a984744
Restrict low level vbv when lookahead predictions are not done + enab…
kirithika7 Aug 14, 2019
8c2612f
Merge branch 'master' of https://github.com/OpenVisualCloud/SVT-HEVC
kirithika7 Aug 14, 2019
2e231e2
Fix build error + update BKC for frame level VBV
kirithika7 Aug 14, 2019
a218fa7
Remove -DPIC as it is not needed for SATD C implementation
kirithika7 Aug 15, 2019
93f6794
Merge branch 'master' into master
tianjunwork Oct 17, 2019
e93b4e9
Fixed the compiling errors/warnings for rebasing PR #70.
Austin-Hu Oct 17, 2019
b7effc8
Refined the CRF usage.
Austin-Hu Oct 17, 2019
8ba809c
Update EbEncHandle.c
Austin-Hu Oct 18, 2019
7135294
Fixed some rebasing errors in EbEncDecProcess.c
Austin-Hu Oct 24, 2019
79f187c
Merge branch 'master' into master
Austin-Hu Nov 4, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
# Conflicts:
#	Source/Lib/Codec/EbCodingLoop.c
#	Source/Lib/Codec/EbEncDecProcess.c
#	Source/Lib/Codec/EbEntropyCoding.h
#	Source/Lib/Codec/EbPacketizationProcess.c
#	Source/Lib/Codec/EbPictureControlSet.c
#	Source/Lib/Codec/EbSei.c
  • Loading branch information
kirithika7 authored and satvikk31 committed Jul 10, 2019
commit 5bb446b0d333ce58c5c4ab1f87ac2bfc4d3ad1e7
223 changes: 179 additions & 44 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,54 +1,189 @@
language: c
cache: ccache
os:
- linux
- osx
dist: xenial

osx_image: xcode10.2
compiler:
- clang
- gcc
addons:
apt:
packages:
- cmake
- yasm
- cmake
- yasm
- valgrind
- libgstreamer-plugins-base1.0-dev
- libgstreamer1.0-dev
- llvm
- clang
homebrew:
packages:
- ccache
- yasm

jobs:
notifications:
webhooks:
- https://coveralls.io/webhook
env:
- build_type=release
stages:
- name: style
- name: test
- name: Coveralls And Valgrind
if: type != pull_request
before_install:
- "sudo chown -R travis: $HOME/.ccache"
- export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib PKG_CONFIG_PATH=${PKG_CONFIG_PATH}:/usr/local/lib/pkgconfig PATH="/usr/local/opt/ccache/libexec:$PATH"
- wget -nc https://raw.githubusercontent.com/OpenVisualCloud/SVT-AV1-Resources/master/video.tar.gz || wget -nc http://randomderp.com/video.tar.gz
- tar xf video.tar.gz
- mkdir -p $TRAVIS_BUILD_DIR/Build/linux/$build_type
install:
- pip install --user cpp-coveralls
- export PATH=/Users/travis/Library/Python/2.7/bin:${PATH}
- if [ $TRAVIS_OS_NAME = osx ]; then ulimit -n 512; fi
#- if [ $TRAVIS_OS_NAME = osx ]; then brew install --HEAD valgrind; fi
script:
- &base_script |
cd $TRAVIS_BUILD_DIR/Build/linux/$build_type
cmake $TRAVIS_BUILD_DIR -G"Unix Makefiles" -DCMAKE_BUILD_TYPE=$build_type ${CMAKE_EFLAGS[@]}
cmake -j $(if [ $TRAVIS_OS_NAME = osx ]; then sysctl -n hw.ncpu; else nproc; fi) --build . &&
sudo cmake --build . --target install && cd $TRAVIS_BUILD_DIR
- SvtHevcEncApp -encMode 9 -i akiyo_cif.y4m -b test1.h265
before_cache:
- "sudo chown -R travis: $HOME/.ccache"
matrix:
fast_finish: true
allow_failures:
- name: Style check
- name: Binary Identical?
- os: osx
- name: Valgrind
- env: COVERALLS_PARALLEL=true build_type=debug CMAKE_EFLAGS="-DCOVERAGE=ON"
exclude:
- os: osx
compiler: gcc # gcc = clang in macOS, unecessary duplicate
include:
# General Linux build job
- name: Build
script:
- cd Build/linux
- ./build.sh release
# General macOS build job
- name: macOS build
os: osx
script:
- cd Build/linux
- ./build.sh release
# Coveralls test job
- name: Test & Coveralls
before_install:
- pip install --user cpp-coveralls
script:
- cd Build/linux
- ./build.sh release
after_success:
- coveralls

# valgrind --tool=memcheck --leak-check=yes --show-reachable=yes ./SvtHevcEncApp -help
# Coding style check
- name: Style check
stage: style
addons: skip
before_install: skip
install: skip
script:
- git grep -InP --heading "\t|\r| $" -- . && IS_FAIL=true || true
- git grep -I -l -z "" -- . | while IFS= read -r -d '' i; do
if [ -n "$(tail -c 1 "$i")" ]; then
echo "No newline at end of $i";
IS_FAIL=true;
fi;
done
- git remote rm upstream 2> /dev/null || true
- git remote add upstream https://github.com/OpenVisualCloud/SVT-HEVC.git
- git fetch -q upstream master
- for i in $(git rev-list HEAD ^upstream/master); do
echo "Checking commit message of $i";
msg="$(git log --format=%B -n 1 $i)";
if [ -n "$(echo "$msg" | awk "NR==2")" ]; then
echo "Malformed commit message in $i, second line must be empty";
IS_FAIL=true;
fi;
if echo "$msg" | head -1 | grep -q '\.$'; then
echo "Malformed commit message in $i, trailing period in subject line";
IS_FAIL=true;
fi;
done
- test -z "$IS_FAIL"
# FFmpeg interation build
- name: FFmpeg patch
script:
# Build and install SVT-HEVC
- cd $TRAVIS_BUILD_DIR
- cd Build
- cmake ..
- make -j$(nproc)
- sudo make install
# Apply SVT-HEVC plugin and enable libsvthevc to FFmpeg
- git clone https://github.com/FFmpeg/FFmpeg ffmpeg
- cd ffmpeg
- git checkout release/4.1
- git apply $TRAVIS_BUILD_DIR/ffmpeg_plugin/0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch
- git apply $TRAVIS_BUILD_DIR/ffmpeg_plugin/0002-doc-Add-libsvt_hevc-encoder-docs.patch
- export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib
- export PKG_CONFIG_PATH=${PKG_CONFIG_PATH}:/usr/local/lib/pkgconfig
- ./configure --enable-libsvthevc
- make --quiet -j$(nproc)
- name: FFmpeg patch
stage: test
compiler: gcc
env: build_type=release
script:
# Build and install SVT-HEVC
- *base_script
# Apply SVT-HEVC plugin and enable libsvthevc to FFmpeg
- git clone https://github.com/FFmpeg/FFmpeg --branch release/4.1 --depth=1 ffmpeg && cd ffmpeg
- git am $TRAVIS_BUILD_DIR/ffmpeg_plugin/0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch
- git am $TRAVIS_BUILD_DIR/ffmpeg_plugin/0002-doc-Add-libsvt_hevc-encoder-docs.patch
- export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib PKG_CONFIG_PATH=${PKG_CONFIG_PATH}:/usr/local/lib/pkgconfig
- "sudo chown -R travis: $HOME/.ccache"
- ./configure --enable-libsvthevc || less ffbuild/config.log
- make --quiet -j$(nproc) && sudo make install
# GStreamer interation build
- name: GStreamer patch
stage: test
compiler: gcc
env: build_type=release
script:
# Build and install SVT-HEVC
- *base_script
# Build GST-SVT-HEVC plugin
- cd $TRAVIS_BUILD_DIR/gstreamer-plugin
- "sudo chown -R travis: $HOME/.ccache"
- cmake .
- make --quiet -j$(nproc)
- sudo make install
# Tests if .h265 files are identical on binary level
- name: Binary Identical?
stage: test
script:
- mv -t $HOME akiyo_cif.y4m
- *base_script
- cd $HOME
- SvtHevcEncApp -encMode 9 -i akiyo_cif.y4m -n 120 -b test-pr-m9.h265
- SvtHevcEncApp -encMode 0 -i akiyo_cif.y4m -n 3 -b test-pr-m0.h265
- rm -rf $TRAVIS_BUILD_DIR
- git clone --depth 1 https://github.com/OpenVisualCloud/SVT-HEVC.git $TRAVIS_BUILD_DIR && cd $TRAVIS_BUILD_DIR
- *base_script
- mkdir -p $TRAVIS_BUILD_DIR/Build/linux/$build_type
- cd $HOME
- SvtHevcEncApp -encMode 9 -i akiyo_cif.y4m -n 120 -b test-master-m9.h265
- SvtHevcEncApp -encMode 0 -i akiyo_cif.y4m -n 3 -b test-master-m0.h265
- diff test-pr-m9.h265 test-master-m9.h265
- diff test-pr-m0.h265 test-master-m0.h265
- name: Coveralls Linux+gcc
stage: Coveralls And Valgrind
os: linux
compiler: gcc
env: COVERALLS_PARALLEL=true build_type=debug CMAKE_EFLAGS="-DCOVERAGE=ON"
script:
- *base_script
- &coveralls_script |
SvtHevcEncApp -encMode 9 -i akiyo_cif.y4m -b test1.h265
git clone https://github.com/FFmpeg/FFmpeg ffmpeg --depth=1 --branch release/4.1
cd ffmpeg
git am $TRAVIS_BUILD_DIR/ffmpeg_plugin/0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch &&
git am $TRAVIS_BUILD_DIR/ffmpeg_plugin/0002-doc-Add-libsvt_hevc-encoder-docs.patch
sudo chown -R travis: $HOME/.ccache
./configure --enable-libsvthevc || cat ffbuild/config.log
make -s -j$(if [ $TRAVIS_OS_NAME = osx ]; then sysctl -n hw.ncpu; else nproc; fi) >/dev/null &&
sudo make install
cd $TRAVIS_BUILD_DIR
ffmpeg -i akiyo_cif.y4m -c:v libsvt_hevc test.h265
SvtHevcEncApp -i stdin -w 352 -h 288 -fps 30 -n 150 -b test2.h265 < akiyo_cif.y4m
after_script: &after_coveralls_script |
if [ $CC = "clang" ] && [ $TRAVIS_OS_NAME = linux ]; then
GCOV_FILE=llvm-cov GCOV_OPTIONS='gcov -pl'
else
GCOV_FILE=gcov GCOV_OPTIONS='\-lp'
fi
coveralls --root $TRAVIS_BUILD_DIR -i Source -E ".*CMakeFiles.*" -E ".*ffmpeg.*" --gcov $GCOV_FILE --gcov-options "$GCOV_OPTIONS"
- name: Coveralls osx+clang
stage: Coveralls And Valgrind
os: osx
compiler: clang
env: COVERALLS_PARALLEL=true build_type=debug CMAKE_EFLAGS="-DCOVERAGE=ON"
script:
- *base_script
- *coveralls_script
after_script: *after_coveralls_script
- name: Valgrind
stage: Coveralls And Valgrind
compiler: gcc
os: linux
env: build_type=debug
script:
- *base_script
- valgrind -- SvtHevcEncApp -encMode 9 -i akiyo_cif.y4m -n 150 -b test1.h265
10 changes: 8 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,13 @@ if(NOT DEFINED CMAKE_INSTALL_INCLUDEDIR)
endif()

set(CMAKE_POSITION_INDEPENDENT_CODE ON)
set(CMAKE_C_STANDARD 99)
if(CMAKE_VERSION VERSION_LESS "3.1")
if(CMAKE_C_COMPILER_ID MATCHES "GNU|Clang")
set(CMAKE_C_FLAGS "--std=gnu99 ${CMAKE_C_FLAGS}")
endif()
else()
set(CMAKE_C_STANDARD 99)
endif()
set(CAN_USE_ASSEMBLER TRUE)
set(CMAKE_INCLUDE_CURRENT_DIR ON)

Expand Down Expand Up @@ -91,7 +97,7 @@ if(MSVC)
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /O2")
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /Od")
else()
option(NATIVE "Build for native performance (march=native)" ON)
option(NATIVE "Build for native performance (march=native)")
list(INSERT flags_to_test 0 -Wall)
#for Mingw64 support, see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65782
if(MINGW)
Expand Down
2 changes: 0 additions & 2 deletions Source/API/EbApi.h
Original file line number Diff line number Diff line change
Expand Up @@ -324,11 +324,9 @@ typedef struct EB_H265_ENC_CONFIGURATION
* Default is null.*/
uint8_t useQpFile;

#if 1//TILES
uint8_t tileColumnCount;
uint8_t tileRowCount;
uint8_t tileSliceMode;
#endif

// Deblock Filter

Expand Down
10 changes: 0 additions & 10 deletions Source/App/EbAppConfig.c
Original file line number Diff line number Diff line change
Expand Up @@ -37,11 +37,9 @@
#define BASE_LAYER_SWITCH_MODE_TOKEN "-base-layer-switch-mode" // no Eval
#define QP_TOKEN "-q"
#define USE_QP_FILE_TOKEN "-use-q-file"
#if 1//TILES
#define TILE_ROW_COUNT_TOKEN "-tile_row_cnt"
#define TILE_COL_COUNT_TOKEN "-tile_col_cnt"
#define TILE_SLICE_MODE_TOKEN "-tile_slice_mode"
#endif
#define TUNE_TOKEN "-tune"
#define FRAME_RATE_TOKEN "-fps"
#define FRAME_RATE_NUMERATOR_TOKEN "-fps-num"
Expand Down Expand Up @@ -206,11 +204,9 @@ static void SetCfgPredStructure (const char *value, EbConfig_t *
static void SetCfgQp (const char *value, EbConfig_t *cfg) {cfg->qp = strtoul(value, NULL, 0);};
static void SetCfgCrf (const char *value, EbConfig_t *cfg) {cfg->crf = strtoul(value, NULL, 0); };
static void SetCfgUseQpFile (const char *value, EbConfig_t *cfg) {cfg->useQpFile = (EB_BOOL)strtol(value, NULL, 0); };
#if 1//TILES
static void SetCfgTileColumnCount (const char *value, EbConfig_t *cfg) { cfg->tileColumnCount = (EB_BOOL)strtol(value, NULL, 0); };
static void SetCfgTileRowCount (const char *value, EbConfig_t *cfg) { cfg->tileRowCount = (EB_BOOL)strtol(value, NULL, 0); };
static void SetCfgTileSliceMode (const char *value, EbConfig_t *cfg) { cfg->tileSliceMode = (EB_BOOL)strtol(value, NULL, 0); };
#endif
static void SetDisableDlfFlag (const char *value, EbConfig_t *cfg) {cfg->disableDlfFlag = (EB_BOOL)strtoul(value, NULL, 0);};
static void SetEnableSaoFlag (const char *value, EbConfig_t *cfg) {cfg->enableSaoFlag = (EB_BOOL)strtoul(value, NULL, 0);};
static void SetEnableHmeFlag (const char *value, EbConfig_t *cfg) {cfg->enableHmeFlag = (EB_BOOL)strtoul(value, NULL, 0);};
Expand Down Expand Up @@ -305,11 +301,9 @@ config_entry_t config_entry[] = {
{ SINGLE_INPUT, USE_QP_FILE_TOKEN, "UseQpFile", SetCfgUseQpFile },
{ SINGLE_INPUT, QP_FILE_TOKEN, "QpFile", SetCfgQpFile },

#if 1//TILES
{ SINGLE_INPUT, TILE_ROW_COUNT_TOKEN, "TileRowCount", SetCfgTileRowCount },
{ SINGLE_INPUT, TILE_COL_COUNT_TOKEN, "TileColumnCount", SetCfgTileColumnCount },
{ SINGLE_INPUT, TILE_SLICE_MODE_TOKEN, "TileSliceMode", SetCfgTileSliceMode },
#endif

// Encoding Presets
{ SINGLE_INPUT, ENCMODE_TOKEN, "EncoderMode", SetencMode },
Expand Down Expand Up @@ -468,11 +462,9 @@ void EbConfigCtor(EbConfig_t *configPtr)
configPtr->useQpFile = EB_FALSE;
configPtr->qpFile = NULL;

#if 1//TILES
configPtr->tileColumnCount = 1;
configPtr->tileRowCount = 1;
configPtr->tileSliceMode = 0;
#endif
configPtr->sceneChangeDetection = 1;
configPtr->rateControlMode = 0;
configPtr->lookAheadDistance = (uint32_t)~0;
Expand Down Expand Up @@ -972,7 +964,6 @@ static EB_ERRORTYPE VerifySettings(EbConfig_t *config, uint32_t channelNumber)
return_error = EB_ErrorBadParameter;
}

#if 1//TILES

#define MAX_LCU_SIZE 64

Expand Down Expand Up @@ -1021,7 +1012,6 @@ static EB_ERRORTYPE VerifySettings(EbConfig_t *config, uint32_t channelNumber)
}

}
#endif

if (config->separateFields > 1) {
fprintf(config->errorLogFile, "SVT [Error]: Instance %u: Invalid SeperateFields Input\n", channelNumber + 1);
Expand Down
2 changes: 0 additions & 2 deletions Source/App/EbAppConfig.h
Original file line number Diff line number Diff line change
Expand Up @@ -242,11 +242,9 @@ typedef struct EbConfig_s
unsigned char y4m_buf[9];

EB_BOOL useQpFile;
#if 1//TILES
uint8_t tileColumnCount;
uint8_t tileRowCount;
uint8_t tileSliceMode;
#endif
int32_t frameRate;
int32_t frameRateNumerator;
int32_t frameRateDenominator;
Expand Down
2 changes: 0 additions & 2 deletions Source/App/EbAppContext.c
Original file line number Diff line number Diff line change
Expand Up @@ -189,11 +189,9 @@ EB_ERRORTYPE CopyConfigurationParameters(
callbackData->ebEncParameters.vbvEndFrameAdjust = config->vbvEndFrameAdjust;
callbackData->ebEncParameters.lowLevelVbv = config->lowLevelVbv;
callbackData->ebEncParameters.useQpFile = (EB_BOOL)config->useQpFile;
#if 1//TILES
callbackData->ebEncParameters.tileColumnCount = (EB_BOOL)config->tileColumnCount;
callbackData->ebEncParameters.tileRowCount = (EB_BOOL)config->tileRowCount;
callbackData->ebEncParameters.tileSliceMode = (EB_BOOL)config->tileSliceMode;
#endif
callbackData->ebEncParameters.disableDlfFlag = (EB_BOOL)config->disableDlfFlag;
callbackData->ebEncParameters.enableSaoFlag = (EB_BOOL)config->enableSaoFlag;
callbackData->ebEncParameters.hrdFlag = (EB_BOOL)config->hrdFlag;
Expand Down
15 changes: 15 additions & 0 deletions Source/Lib/ASM_AVX2/EbComputeSAD_AVX2.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,13 @@ EB_U32 Compute32xMSad_AVX2_INTRIN(
EB_U32 height, // input parameter, block height (M)
EB_U32 width); // input parameter, block width (N)

EB_U32 Compute40xMSad_AVX2_INTRIN(
EB_U8 *src, // input parameter, source samples Ptr
EB_U32 srcStride, // input parameter, source stride
EB_U8 *ref, // input parameter, reference samples Ptr
EB_U32 refStride, // input parameter, reference stride
EB_U32 height, // input parameter, block height (M)
EB_U32 width); // input parameter, block width (N)

EB_U32 Compute48xMSad_AVX2_INTRIN(
EB_U8 *src, // input parameter, source samples Ptr
Expand All @@ -37,6 +44,14 @@ EB_U32 Compute48xMSad_AVX2_INTRIN(
EB_U32 height, // input parameter, block height (M)
EB_U32 width); // input parameter, block width (N)

EB_U32 Compute56xMSad_AVX2_INTRIN(
EB_U8 *src, // input parameter, source samples Ptr
EB_U32 srcStride, // input parameter, source stride
EB_U8 *ref, // input parameter, reference samples Ptr
EB_U32 refStride, // input parameter, reference stride
EB_U32 height, // input parameter, block height (M)
EB_U32 width); // input parameter, block width (N)

EB_U32 Compute64xMSad_AVX2_INTRIN(
EB_U8 *src, // input parameter, source samples Ptr
EB_U32 srcStride, // input parameter, source stride
Expand Down
Loading