Marko Viitanen
2d38612e9a
Inter deblocking changes, not working!
2013-10-02 18:09:22 +03:00
Marko Viitanen
13bbd2fb37
Fixed inter_get_mv_cand() candidate selection of B0 CU
2013-10-02 15:10:40 +03:00
Ari Koivula
36fe88caef
Fix rounding errors in chrome half pel prediction.
...
The spec speaks nothing about rounding these values, but HM12 rounds the final
values. HM might be based on an old version of the spec that does all this rounding and clipping.
- Also fixes erroneous indexing when both horizontal and vertical are half pel.
2013-10-02 14:49:23 +03:00
Ari Koivula
c753f6bac6
Fix boundary checking in CU visualization.
2013-10-02 11:11:21 +03:00
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
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
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
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
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
Marko Viitanen
469644dd5b
Added interpolation filter for half-pel chroma, NOT WORKING
2013-09-23 18:07:16 +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
Ari Koivula
30c16fe299
Remove unused members from cabac_data.
...
- Removing them also makes cabac_init unnecessary.
2013-09-20 15:04:02 +03:00
Ari Koivula
6dd049a238
Refactor: picture.h remaining renames.
2013-09-20 12:49:44 +03:00
Ari Koivula
8d5dd67f76
Refactor: Change name of CU_info.CU to cu_array.
2013-09-20 12:47:53 +03:00
Ari Koivula
5233c417df
Refactor: search.c/.h full cleanup.
2013-09-20 12:18:23 +03:00
Marko Viitanen
03ab259a9e
Refactor: transform.c/.h full cleanup.
2013-09-20 11:51:09 +03:00
Ari Koivula
d09e2bd214
Refactor: picture.c/.h full cleanup.
2013-09-20 11:15:18 +03:00
Ari Koivula
86b4ee475a
Refactor: picture.c remove leading whitespace.
...
Changing indentation like this really messes with diff, so I did it in
a separate commit.
2013-09-20 11:08:27 +03:00
Marko Viitanen
3a9449e5e0
Refactor: intra.c full cleanup
2013-09-19 16:21:53 +03:00
Ari Koivula
f750c24948
Refactor: nal.c/.h full cleanup.
...
- Move constant from the signature of calc_checksum into a macro.
2013-09-19 16:03:02 +03:00