Commit graph

139 commits

Author SHA1 Message Date
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