Ari Koivula
b6c5c87fb7
Merge branch 'master' into sao
...
SAO needs to be coded before LCU data has been searched. Searching
has already been moved to happen before encoding in the master branch.
Conflicts:
src/encoder.c
src/picture.c
src/picture.h
2013-11-04 12:44:01 +02:00
Ari Koivula
7bd0902727
Implement fast distortion estimation for sao.
...
Add function for blitting pixels from one buffer to another.
Several commits have been squashed to this one.
2013-11-04 12:37:37 +02:00
Ari Koivula
291be9507b
Start adding Sample Adaptive Offset capability.
2013-10-25 10:39:42 +03:00
Marko Viitanen
4cec2963ac
Fixed transform splitting to allow 64x64 inter blocks
2013-10-22 12:33:11 +03:00
Marko Viitanen
c44f0ff540
Refactoring: all int16_t pixel info in intra to pixel typedef
2013-10-18 16:19:17 +03:00
Marko Viitanen
dda53f48a7
Refactoring encoder transform/quant related functions, cu_info and picture
2013-10-18 11:41:52 +03:00
Ari Koivula
202aec69f2
Change more 8-bit pixels to pixel typedef.
2013-10-15 16:02:06 +03:00
Ari Koivula
b8dd664026
Move all 8-bit pixels into new pixel typedef.
2013-10-15 14:36:30 +03:00
Marko Viitanen
1b2b3c19bb
Added option to enable residual coding skip when residual under threshold
2013-10-10 16:31:00 +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
b1ada6bcd4
Take initial motion vector from last frame.
2013-09-25 19:09:08 +03:00
Ari Koivula
a3f2e84587
Redo x64 detection to not rely on predefined macro.
2013-09-23 17:27:17 +03:00
Ari Koivula
627762dcd8
Refactor: Fix include guards.
...
- 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.
2013-09-19 10:36:24 +03:00
Ari Koivula
adf619f9dd
Refactor: Update file comments.
2013-09-18 18:01:20 +03:00
Ari Koivula
19e9b95a71
Refactor: global.h renaming.
2013-09-18 14:51:24 +03:00
Ari Koivula
4f360fcb80
Split MAX_SEARCH_DEPTH to inter and intra versions.
2013-09-18 12:29:23 +03:00
Marko Viitanen
c87d3870ce
Fixed inter_get_mv_cand and added new define ENABLE_TEMPORAL_MVP
2013-09-18 10:15:05 +03:00
Ari Koivula
fa0bab47f9
Fix MV search bugs.
...
- Calculate motion vector from the source instead of origo.
- Don't return without searching deeper.
2013-09-16 22:44:44 +03:00
Ari Koivula
82e2299b38
Add motion vector search.
...
- Add SAD calculation for arbitrary shape and size blocks.
2013-09-16 17:39:12 +03:00
Marko Viitanen
81f584742c
Added picture_init() and changed cur_pic to pointer in encoder_input struct
...
Also contains few inter coding changes
2013-09-12 16:28:40 +03:00
Ari Koivula
2b9e2485db
Add handling of resolutions that are not multiples of the smallest block size.
...
- When resolution is not a multiple of 8, increase the size of the picture.
- Add conformance window information to the SPS NAL. Thested to work in all
dimensions with YUVplayer.
2013-09-09 20:43:14 +03:00
Marko Viitanen
e4a8aaa8eb
Added and fixed some functionality to support inter frames
2013-09-02 09:53:36 +03:00
Marko Viitanen
b3a724afb0
Added codes for inter coding
2013-08-02 16:35:30 +03:00
Marko Viitanen
06fd1d6fa9
Fix for sign bit hiding, not working yet
2013-06-12 15:41:57 +03:00
Marko Viitanen
d33304e5ec
Fixed 4x4 chroma deblocking and cleaned deblocking functions
2013-05-30 10:37:47 +03:00
Marko Viitanen
4c1e015c5f
Work on Deblocking filter
2013-05-22 17:27:15 +03:00
Marko Viitanen
fd2e25727c
Fixed transform split bug by moving intra prediction to the transform-quant loop
2013-05-21 15:57:22 +03:00
Marko Viitanen
2a70231c06
Fixed Chroma 4x4
2013-05-20 17:26:57 +03:00
Marko Viitanen
1b007efe43
Fixed bug with 8x8 split_flag coding. 4x4 chroma still produces wrong data.
2013-05-16 15:27:54 +03:00
Marko Viitanen
3942bbda51
Added short-term ref list parameters to allow HM10.0 to decode it properly
2013-05-07 10:36:04 +03:00
Marko Viitanen
8054b8ccb4
Bugfix for coeff scan order == 2 (with 8x8 CU's)
2013-04-25 16:29:44 +03:00
Marko Viitanen
ae506ceaf5
Moved all the intra-search functionalities to search-tree, does not work completely.
2013-04-17 17:08:52 +03:00
Marko Viitanen
a737e8660c
New search.c/.h files and changed department name on all files
2013-04-16 11:23:03 +03:00
Marko Viitanen
560917a532
Fixed 8x8 luma encoding and some of 4x4 chroma by disabling modes using different scanning order and changing 4x4 DST to DCT in chroma
2013-04-09 15:59:12 +03:00
Marko Viitanen
05bbd4daee
Added support for 16x16 luma coeff coding and disabled PCM
2013-03-20 17:27:47 +02:00
Marko Viitanen
57f892f1d8
encode_CoeffNxN() taken into use and moved the functionality there
2013-03-11 12:06:08 +02:00
Marko Viitanen
f8b1be2388
Fixed scaling list, coding of zero-coeff blocks and intra-DC-prediction
2013-03-09 01:49:42 +02:00
Marko Viitanen
a34ba7389b
Fixed intra luma/chroma predictors to work as they should in all cases
2013-03-08 11:42:22 +02:00
Marko Viitanen
10fe0f8018
Added new function to free/clear pointers and added new types of SLICE_TRAIL_N NAL units to get multiple I-pictures in the stream.
2013-02-21 16:45:22 +02:00
Marko Viitanen
3b5e40e7af
Added encode_CoeffNxN code and transform functions
...
Modified contexts
2013-02-05 15:48:06 +02:00
Marko Viitanen
6b9f5a7282
Added border detection to allow input width and height to be divisible by minimum CU size instead of max.
2012-08-15 15:23:44 +03:00
Marko Viitanen
bf11aad827
Cleaned up and fixed split_flag reading and writing to the CU_info array
2012-06-11 15:39:18 +03:00
Marko Viitanen
ee3a2744ef
Encoding of IPCM sequences working (only for input sequence with width and height divisible with 64)
2012-06-11 15:26:32 +03:00
Marko Viitanen
925f4020cd
Fixed some CABAC bugs and more work on coding tree
2012-06-07 17:38:28 +03:00
Marko Viitanen
953c04d896
More work on the slice encoding, trying to send some dummy data
2012-06-06 16:20:29 +03:00
Marko Viitanen
ef5d210b18
More bitstream functions and better initialization
...
+ picture.c/.h
2012-06-05 14:01:47 +03:00
Marko Viitanen
92ebb2cd6d
CABAC tables and functions
2012-06-04 13:47:12 +03:00
Marko Viitanen
adce16c03f
Initial commit with working config functions
2012-05-30 15:10:23 +03:00