Laurent Fasnacht
6c6adf18c7
Refactor encoder_state
2014-05-07 11:47:31 +02:00
Laurent Fasnacht
19b1642aa2
Removed all cabac parameters (cabac is part of encoder_state)
2014-04-22 11:46:53 +02:00
Laurent Fasnacht
5fea5875a5
Huge refactoring
...
Split some parts of encoder_control into encoder_state
(idea: encoder_control is immutable)
Goal is to allow multiple substreams in the future.
2014-04-22 10:39:12 +02:00
Laurent Fasnacht
3396264f3c
Moved g_cur_lambda_cost into encoder_control.cur_lambda_cost
2014-04-17 12:00:21 +02:00
Laurent Fasnacht
534013be77
Remove g_lambda_cost
2014-04-17 11:49:27 +02:00
Laurent Fasnacht
4a9c239027
Remove g_bitdepth
2014-04-17 11:13:13 +02:00
Laurent Fasnacht
9901c38dd5
scalinglist in independent file
2014-04-16 10:25:16 +02:00
Laurent Fasnacht
960f2cb4b0
g_sig_last_scan -> const uint32_t*
2014-04-15 16:09:52 +02:00
Laurent Fasnacht
486768fc79
scalinglist privatization
2014-04-14 13:39:28 +02:00
Laurent Fasnacht
78c579053a
encoder_control should be const in nearly all the code
2014-04-14 10:56:06 +02:00
Marko Viitanen
43ae0a3b9a
Implemented RDO cost calculation to Intra modes
2014-04-10 10:25:20 +03:00
Marko Viitanen
6558c92020
Clean up get_coeff_cost()
...
Since contexts were moved to cabac struct, there's no need to store contexts one by one
2014-04-09 11:50:17 +03:00
Ari Koivula
92ac5025f9
Take intra mode based coeff scan mode into account for coeff bit cost.
...
- Previously only diagonal scan mode, the most common one, would be used.
- This improved bdrate by 0.1-0.5 % for p0 and 0-0.2 % for p60.
2014-04-09 10:44:44 +03:00
Marko Viitanen
e15a86268d
Clean up tabs and whitespaces
2014-04-04 16:04:44 +03:00
Laurent Fasnacht
816ae13b1d
Moved context information inside cabac_data.
...
This is required in order to be able to work on parallelism.
2014-04-04 14:28:50 +02:00
Marko Viitanen
7484dafd82
Fix for get_coeff_cost() scan mode selection
...
Small BD-rate improvement with this fix
2014-04-04 15:16:04 +03:00
Marko Viitanen
c5ba5eb3c8
Use RDO in final_cost
2014-04-04 14:10:49 +03:00
Marko Viitanen
b09854d964
Implemented RDO function to calculate bits used for coefficient coding
2014-04-04 13:09:42 +03:00
Ari Koivula
d44d1837bb
Remove unreferenced parameters.
...
- Working towards issue #11 .
2014-04-04 12:56:24 +03:00
Ari Koivula
9563b50a34
Refactor coefficient group scan mapping lists.
...
The relation between coefficients positions and coefficient group positions
was a big confusing due to the use of 16x16 diagonal coefficient mappings
also as coefficient group mappings.
- Moved all coefficient group mappings to their own const arrays and added
a new array the select the correct coefficient group mapping. This removes
special cases for 8x8 and 32x32 transform sizes.
- Removed all coefficient group mapping initialization from init_sig_last_scan.
- Removed 128x128 and 64x64 from regular coefficient group array as those
transform sizes don't exist anymore in HEVC.
2014-03-14 16:56:49 +02:00
Ari Koivula
47af5207c5
Remove dead code and fix white space.
2014-03-06 18:35:17 +02:00
Luca Barbato
6fec5ff25e
rdo: Drop now unused variables
2014-02-21 15:07:15 +01:00
Luca Barbato
4796675731
rdo: Staticize
2014-02-21 15:07:15 +01:00
Luca Barbato
934a4e3b88
whitespace: Drop trailing spaces
2014-02-21 15:03:35 +01:00
Marko Viitanen
11bf11f33a
Changed duplicate scaled QP calculations to use a function
2014-02-21 15:41:55 +02:00
Ari Koivula
f4d5370e8b
Fix compiler warnings for VS2010 /W4 in context.c and rdo.c.
...
- Working towards issue #11 .
- Moved all const arrays from .h to the .c. These are not used anywhere else.
- Moved entropy_bits array and its helper macro to rdo.c. They are not used
anywhere else.
- Implicit conversions to explicit ones.
2014-02-06 17:57:41 +02:00
Ari Koivula
2614aa0fe4
Fix compiler warnings for VS2010 /W3.
...
- Working towards issue #11 .
- Change lambda cost multiplier for intra NxN to from 256 to 4.
- Add 0.5 to the lambda multipliers so it's rounded instead of truncated.
2014-02-06 11:04:23 +02:00
Marko Viitanen
5e759b8e1d
Fix for RDOQ, added missing cost function
2014-01-28 11:01:46 +02:00
Marko Viitanen
0cdd9d032f
Added GPLv2 headers to rdo.c/.h
2014-01-27 14:39:56 +02:00
Marko Viitanen
80b3b4a6e0
Added missing lambda parameter to some RDOQ costs and moved go_rice arrays from header file
2014-01-27 14:34:58 +02:00
Marko Viitanen
144d5293b1
Implemented RDOQ function get_rate_last()
2014-01-27 14:34:58 +02:00
Marko Viitanen
9f70bf74f0
Imported and converted RDOQ from HM 12.0, NOT WORKING YET
2014-01-27 14:34:58 +02:00