Ari Koivula
665b369164
Fix chroma problem in inter prediction.
...
There is still a separate problem, but this fixes the visible chroma problem
with motion vectors that have reference a chroma half-pixel.
2013-10-02 10:59:34 +03:00
Ari Koivula
61eb3b3b71
Improve cu-visualization by arranging them to picture dimensions and colors.
2013-10-01 20:46:10 +03:00
Ari Koivula
681975ad4b
Fix inter reconstruction for 8x8 blocks and enable 8x8 inter blocks again.
...
Inter reconstruction was modifying the movement in place when it shouldn't
have. This was causing issues only for the 8x8 blocks, because for larger
blocks the modified movement vector was too far away to be seen by the blocks
below it.
2013-09-30 18:01:21 +03:00
Ari Koivula
9bd35fcdb1
Remove split attribute from cu_info.
...
It is no longer used.
2013-09-30 16:42:23 +03:00
Ari Koivula
4a8088be20
Update cu visualization.
2013-09-30 16:42:23 +03:00
Ari Koivula
a6200860b7
Merge branch 'encoder-cleanup'
2013-09-30 10:48:39 +03:00
Ari Koivula
f58e418a1a
Fix out-of-bounds detection in mv-search.
...
All blocks were intra because no movement vectors could be found.
2013-09-30 10:47:05 +03:00
Ari Koivula
9ad8bf2915
Refactor: encoder.c full cleanup.
2013-09-28 23:31:26 +03:00
Ari Koivula
aee54cdcfa
Refactor: encoder.c fix []
2013-09-28 23:29:26 +03:00
Ari Koivula
36119985b5
Refactor: encoder.c variable renaming.
2013-09-28 20:27:36 +03:00
Ari Koivula
7e6aa31c6f
Refactor: encoder.h renaming and cleanup.
2013-09-28 20:20:15 +03:00
Ari Koivula
571fec7c39
Add a more general cost function to motion search.
2013-09-28 16:41:57 +03:00
Ari Koivula
562a43d541
Fix bug with initial prediction of motion vector.
2013-09-28 16:34:23 +03:00
Ari Koivula
8bce7c84a0
Disable early cutoff optimization for motion vector search.c
...
It probably doesn't work right and might cause issues.
2013-09-28 16:04:11 +03:00
Ari Koivula
7979a59168
Fix check for (0, 0) vector when searching for best movement vector.
2013-09-28 16:02:30 +03:00
Ari Koivula
9bad984f14
Add special case for the (0, 0) vector to the fast search.
2013-09-25 19:31:49 +03:00
Ari Koivula
224bda37e7
Make a define switch for full search vs fast search.
2013-09-25 19:20:31 +03:00
Ari Koivula
b1ada6bcd4
Take initial motion vector from last frame.
2013-09-25 19:09:08 +03:00
Ari Koivula
1d1bfd2a6f
Remove unused stuff from motion search.
...
- inter_set_block is no longer needed.
2013-09-25 18:43:16 +03:00
Ari Koivula
4cda086035
Add an early stop condition to motion estimation.
2013-09-25 18:37:37 +03:00
Ari Koivula
2c894b49bf
Disable cu-structure debug rendering.
...
- This can be enabled when needed. It doesn't have to be enabled in git.
2013-09-25 18:18:10 +03:00
Ari Koivula
6f13168285
Add faster motion estimation algorithm.
...
- New motion estimation does the same pattern as the old one, but centers the
search on the best candidate at each step.
2013-09-25 18:16:31 +03:00
Ari Koivula
04f1dde8a1
Fix overwriting of motion vectors during search.
...
- Makes everything besides search to only use the bottom most layer of the
picture.cu_array structure.
2013-09-25 16:21:51 +03:00
Marko Viitanen
91ff438238
Disabled deblocking filter and changed encoder to use P-slices after the first
2013-09-25 15:52:55 +03:00
Marko Viitanen
410d201e99
Fixed filter_inter_halfpel_chroma() sample rounding
2013-09-25 15:51:43 +03:00
Marko Viitanen
be6d658354
Merge branch 'interpolation'
2013-09-25 14:31:10 +03:00
Marko Viitanen
7cf8b1062b
minor style changes to inter_recon()
2013-09-25 14:28:00 +03:00
Marko Viitanen
90239a8bbd
fixed filter_inter_halfpel_chroma() by adding offset value
2013-09-25 14:27:26 +03:00
Marko Viitanen
37b0f45d80
Merge branch 'projects' of Z:/Work/HEVC_encoder into interpolation
2013-09-25 11:02:40 +03:00
Marko Viitanen
3d228278ef
Fixes and comments for inter_recon and filter_inter_halfpel_chroma
2013-09-25 11:01:08 +03:00
Ari Koivula
41170cb0f1
Merge branch 'projects'
2013-09-24 21:52:12 +03:00
Ari Koivula
cda681294c
Fix unsigned/signed mismatch warning.
2013-09-24 21:32:11 +03:00
Ari Koivula
e5cced6b4a
Move _CRT_SECURE_NO_WARNINGS to property sheet.
2013-09-24 21:31:48 +03:00
Ari Koivula
ca34dd4b3f
Fix .vcxproj files by hand.
...
- Remove stupid stuff.
- Reorder imports so that default settings are gathered correctly.
Microsoft.Cpp.props needs to be imported after ConfigurationType and
UseDebugLibraries have been set because it does different stuff depending
on their values.
2013-09-24 21:31:05 +03:00
Ari Koivula
2c19aa59b2
Fix build directories.
...
- Make all archs and confs use solution/bin/$conf. This was changed by
accident earlier.
- Change intermediate build directories to $arch-$conf form.
- Put libs in build/$arch-$conf-libs.
- Remove unnecessary options from individual confs.
2013-09-24 21:30:37 +03:00
Ari Koivula
aa2ee15060
Add a simple test for picture_list.
...
- Add solution/src to includes for all projects.
- Add solution/../../seatest to includes for all projects.
2013-09-24 21:29:56 +03:00
Ari Koivula
91e3d76aef
Fix configuration.
2013-09-24 21:03:48 +03:00
Ari Koivula
0df24a3a5b
Rename tests/main.c to tests_main.c.
2013-09-24 16:34:49 +03:00
Marko Viitanen
13e058abce
Fixed (some) bugs in filter_inter_halfpel_chroma and inter_recon
...
Optimizations for filter to only filter horizontal or vertical pixels
2013-09-24 15:43:20 +03:00
Ari Koivula
74b8bf8c0a
Add example unit tests.
2013-09-24 13:59:19 +03:00
Ari Koivula
2fc6696536
Add Visual Studio project for unit tests.
2013-09-24 13:58:00 +03:00
Ari Koivula
adf98f7876
Change HEVC_encoder into a static library and add HEVC_interface for the exe.
...
- Move more settings to property sheets.
2013-09-24 13:43:15 +03:00
Ari Koivula
28e0090bd2
Make cpu-id arch detection use our own macro.
2013-09-24 12:41:14 +03:00
Ari Koivula
d381ec234d
Move linker options into a property sheet.
2013-09-24 10:20:03 +03:00
Marko Viitanen
469644dd5b
Added interpolation filter for half-pel chroma, NOT WORKING
2013-09-23 18:07:16 +03:00
Ari Koivula
933c4a94fe
Move release compiler properties into a separate property sheet.
2013-09-23 17:59:00 +03:00
Ari Koivula
ddd37b6551
Move compiler properties into separate property sheet.
...
This is done in preparation for adding new projects to the solution.
2013-09-23 17:45:34 +03:00
Ari Koivula
ceac5bb580
Remove users.props from configurations.
2013-09-23 17:33:28 +03:00
Ari Koivula
e770f77564
Remove unnecessary preprocessor defines from project settings.
...
- _WIN32 and _WIN64 are defined by windows headers.
- _DEBUG is defined when debug libs are used.
- _CONSOLE does nothing.
2013-09-23 17:32:07 +03:00
Ari Koivula
a3f2e84587
Redo x64 detection to not rely on predefined macro.
2013-09-23 17:27:17 +03:00