Ari Koivula
051484f8d8
Remove unused old mode cost estimation from SAO.
2014-04-16 11:19:23 +03:00
Ari Koivula
33b9594fec
Take into account the coding cost of not using SAO.
2014-04-15 21:32:24 +03:00
Ari Koivula
880d09b27a
Add sao_type_idx to SAO mode cost estimation.
2014-04-15 21:29:09 +03:00
Ari Koivula
280a946269
Apply bit cost fixes to edge band band sao search.
...
- Increases bdrate slightly. It's still a cleaner solution though and further
improvements to bit cost estimation might improve things.
2014-04-15 21:28:16 +03:00
Ari Koivula
c968253eb3
Estimate SAO merge coding costs better.
...
- This doesn't seem to have very much of an effect. I guess the difference
between 1 and 2 bits isn't that important.
2014-04-15 21:27:16 +03:00
Ari Koivula
ef7840c623
Add SAO coding costs for sao_eo_class, band position and offset sign.
...
- This reduces bdrate a little bit.
- It seems like increasing the bit cost of using SAO in general
increases bdrate.
2014-04-15 21:24:44 +03:00
Ari Koivula
9ff32c566c
Adjust SAO mode coding cost for zero offsets.
...
- Coding zero with TR only takes one bit.
- Even though offset 0 should be fairly common, this doesn't seem to help very
much and actually increases bdrate on some sequences.
2014-04-15 21:21:31 +03:00
Ari Koivula
67a3d5542c
Add better delta distortion calculation to sao.
2014-04-15 21:17:29 +03:00
Ari Koivula
8c4796e56e
Calculate edge and band sao separately.
2014-04-15 21:16:55 +03:00
Ari Koivula
1017c6639c
Move band and edge sao to their own functions.
2014-04-15 21:14:59 +03:00
Laurent Fasnacht
9f3aeed6be
Fix pixel access in sao
2014-04-14 15:40:06 +02:00
Laurent Fasnacht
78c579053a
encoder_control should be const in nearly all the code
2014-04-14 10:56:06 +02:00
Ari Koivula
d44d1837bb
Remove unreferenced parameters.
...
- Working towards issue #11 .
2014-04-04 12:56:24 +03:00
Ari Koivula
953aef0379
Move rest of LCU encoding inside the LCU loop.
...
- Move SAO search inside the LCU loop.
- Move CU coding inside the LCU loop.
- Move SAO frame reconstruction loop to sao module.
2014-03-21 12:41:44 +02:00
Ari Koivula
db4402e8d6
Fix for SAO band offset merge cost calculation.
...
Gives a tiny improvement to both bit rate and psnr.
2014-02-22 16:08:39 +02:00
Marko Viitanen
34f558ddd7
Fixed SAO cost checking, disabling SAO when RD-cost is 0
...
Decreases overall BD-rate a bit more, this fix prevents coding zero offsets to the bitstream
2014-02-21 17:43:15 +02:00
Luca Barbato
d07e12dbf0
sao: Add correct header
...
abs is part of stdlib.h
2014-02-21 15:07:56 +01:00
Luca Barbato
ba494e19c5
sao: Constantize *_list
2014-02-21 15:07:15 +01:00
Luca Barbato
8fbb26975e
sao: Drop unused variable
2014-02-21 15:07:15 +01:00
Luca Barbato
f314c9b8c0
sao: Staticize
2014-02-21 15:07:11 +01:00
Luca Barbato
934a4e3b88
whitespace: Drop trailing spaces
2014-02-21 15:03:35 +01:00
Marko Viitanen
e3a528df2e
Added rate cost to SAO mode selection calculations
...
Decreased BD-rate 1% on LP configuration with 600 frames of BQMall, QP 22,27,32,37
Merge check is now performed in a function to ease the checking
2014-02-21 15:54:56 +02:00
Marko Viitanen
f1f293ae0c
Implemented SAO merging
2014-02-21 13:20:54 +02:00
Marko Viitanen
13dc95a164
Implemented band SAO reconstruction
2014-02-21 11:52:41 +02:00
Marko Viitanen
e4880aa4b7
Fixed SAO bitstream generation and band offset a bit
2014-02-20 17:22:33 +02:00
Marko Viitanen
5d946c774a
Implemented draft SAO band offset functions
2014-02-20 16:08:09 +02:00
Ari Koivula
40ed25de7e
Fix compiler warnings for VS2010 /W4 in sao.c.
...
- Working towards issue #11 .
2014-02-06 16:06:24 +02:00
Ari Koivula
77339efa57
Add COPYING file and add boilerplate for copyright and GPLv2 to every file.
2014-01-24 12:48:48 +02:00
Ari Koivula
80064d3834
Streamline SAO to have less duplicated code.
2013-11-14 15:38:19 +02:00
Ari Koivula
61232b466c
Move types to more appropriate places.
2013-11-12 12:44:58 +02:00
Ari Koivula
3af65b8477
Add SAO searching and reconstruction for chroma.
...
One I frame and 99 P frames encoded with SAO off and on.
Processed 100 frames, 6693224 bits AVG PSNR: 30.7248 37.8978 37.8287
Processed 100 frames, 6295072 bits AVG PSNR: 32.2511 38.9373 38.9818
2013-11-12 11:55:39 +02:00
Ari Koivula
84cd618daf
Add calculation of SAO-offsets for non-LCU sized CUs. Luma SAO works now.
2013-11-11 09:49:49 +02:00
Ari Koivula
692ef3e9d9
Add guard against illegal SAO edge offsets.
2013-11-08 16:13:48 +02:00
Ari Koivula
22d21ffac2
Enable SAO search.
...
-Add guard to reconstruction to avoid reconstructing LCUs with no sao type.
-Add temporary guard to SAO search to skip LCUs can't be handled yet.
2013-11-08 15:39:01 +02:00
Ari Koivula
8b0eb66555
Fix bug in SAO reconstruction.
2013-11-08 15:04:53 +02:00
Ari Koivula
43ae719ddb
Tweak implementation of SAO reconstruction to be a bit more clear.
2013-11-08 15:04:06 +02:00
Ari Koivula
ef8a984d4f
Fix incorrect blitting of top row during SAO reconstruction.
2013-11-08 11:02:18 +02:00
Ari Koivula
f9061d322a
Fix handling of incomplete LCU's in SAO reconstruction.
2013-11-06 23:09:56 +02:00
Ari Koivula
1c03471d57
Fix for leftmost LCUs being offset by one pixel during SAO reconstruction.
2013-11-06 22:26:00 +02:00
Ari Koivula
98f2a1aedc
Fix LCU borders in sao reconstruction.
2013-11-06 11:23:01 +02:00
Ari Koivula
5791301c2b
Fix moving of rightmost LCUs during sao reconstruction.
...
Now the leftmost LCUs move though.
2013-11-04 21:37:04 +02:00
Ari Koivula
f21df00386
Save a copy of luma for sao.
2013-11-04 20:33:29 +02:00
Ari Koivula
a57b938270
Add new module sao.
...
- Move sao-stuff not directly related to encoding to sao-module.
- Calculate sao for all LCUs before encoding any of them. This is in
preparation to doing the reconstruction line at a time instead of
LCU at a time.
2013-11-04 19:41:01 +02:00