transform skip vs. normal transform selection criteria might need more work, currently both are calculated for each 4x4 block and SAD+coeff_SSE is compared.
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.
- Remove _ from the beginning of include guards because that prefix is
for the implementation.
- Move include guards to the beginning of file.
- Unify the syntax.
- Includes of global.h have been moved to headers because most headers
require stdint.h.
- Includes required by the header have been moved from the .c to the header.
- Spaces have been added between includes to distinguish classes of includes.
- Reimplement bit filling routines to copy bits form the edge, instead of
using a constant.
- Add real_width and real_height to encoder_input and store the actual input
resolution in them instead of in encoder_input.width and height. This fixed
a crash. It's also clearer.
- Correctly scale conf_win offsets to be in terms of chroma.