Commit graph

4354 commits

Author SHA1 Message Date
Marko Viitanen 7f504b7808 Added a commandline parameter --bipred to enable bi-pred search 2015-04-21 14:35:16 +03:00
Marko Viitanen fb74f86a5b Bi-pred search now actually does cost calculations 2015-04-21 14:16:06 +03:00
Marko Viitanen e12ba7c80f Created function inter_recon_lcu_bipred() and moved bipred recon there 2015-04-21 12:05:21 +03:00
Marko Viitanen 50fce975d9 Clamp bi-pred motion vectors because ipol filtering requires modifications 2015-04-21 11:24:07 +03:00
Ari Koivula 13924a2057 Add --no-info parameter.
- Stops encoder information from being added to bitstream.
- The version information overhead is too big when doing comparisons with
  very short sequences.
2015-04-16 17:30:36 +03:00
Ari Koivula 7028846423 Fix bug in intra mode search.
- The cost of the first mode in the mode list was returned instead of cost of
  the selected mode, as this used to be the best mode when the list was
  sorted. Should only matter when doing inter coding.
- This pretty much affects only --rd=1 in inter frames.
2015-04-09 16:05:53 +03:00
Marko Viitanen da3fe9f199 Fixed rounding in bi-pred reconstruction 2015-04-02 15:55:13 +03:00
Marko Viitanen c7a17cf1c4 Changed motion vector candidate derivation to work with bi-pred case 2015-04-02 14:05:24 +03:00
Marko Viitanen 73db9fec83 Fixed asserts for intra PU-depth configurations 2015-04-02 10:31:56 +03:00
Marko Viitanen 5d71fb3136 Fixed leaf aligning 2015-04-01 08:49:22 +03:00
Marko Viitanen d26b89174b Fixed intra chroma search ref_v pointer 2015-03-31 15:43:22 +03:00
Marko Viitanen 4b7db2e014 Added a dummy bi-pred search, always selects bi-pred block when possible 2015-03-31 15:02:43 +03:00
Marko Viitanen 2c676927f0 Fixed a bug in bipred reconstruction causing an overflow 2015-03-31 15:02:10 +03:00
Marko Viitanen 06bc4f3d5e Fixed duplicate checking for merge cand and some cleanup 2015-03-31 12:23:46 +03:00
Marko Viitanen 004e8082ab Fixed deblocking after L0/L1 mv changes 2015-03-31 12:22:48 +03:00
Marko Viitanen c02e3b8e26 Fixed inter_get_mv_cand() reference picture checking 2015-03-30 15:22:56 +03:00
Marko Viitanen f881d6bf8a Modified structures and mv handling to use L0/L1 vectors 2015-03-30 14:40:29 +03:00
Marko Viitanen d6f68d0950 Force clearing of references when GOP not used and I-slice 2015-03-30 10:21:41 +03:00
Marko Viitanen f28ebbcd41 Moved GOP defining to config.c and added parameter --gop
* Checking that intra period and gop_len match
2015-03-30 10:09:54 +03:00
Marko Viitanen c82915761f Enabled insertion of I-slices when GOP is used 2015-03-30 10:09:49 +03:00
Marko Viitanen 815e0b8897 Moved reference list printing to encoder_compute_stats() 2015-03-30 10:09:32 +03:00
Marko Viitanen 2243d139bf Fixed GOP reference usage when using owf 2015-03-26 14:11:13 +02:00
Marko Viitanen 1dc53be8fc Fixed leaf aligning 2015-03-26 13:54:17 +02:00
Marko Viitanen bbeb85f9ee Fixed case when cfg->frames is zero 2015-03-26 11:24:41 +02:00
Marko Viitanen 5c04603421 Remove unused ref frames on GOP case even when number of ref frames is within limits 2015-03-26 11:14:13 +02:00
Marko Viitanen 5071b5c990 Moved reference list sorting and parsing to encoder_state_new_frame()
* fixed a bug in reference verification and added an error state
2015-03-26 10:58:56 +02:00
Marko Viitanen c40ca49b6c When GOP is used, verify the references are available 2015-03-26 10:38:21 +02:00
Marko Viitanen fe581b881e Changed GOP structure to enable coding sequences not divisible by gop_len 2015-03-25 16:00:20 +02:00
Marko Viitanen 42e02dbfd9 Fixed tr-skip cost calculation 2015-03-24 13:35:28 +02:00
Marko Viitanen a7328ab008 Fixed tr-skip cost calculation 2015-03-24 12:40:01 +02:00
Marko Viitanen c649c90f3a Changes to enable adaptation to any GOP len 2015-03-24 12:01:57 +02:00
Marko Viitanen 9a828ae5da Fixed merge candidate scaling in hexbs and excluded weighted pred candidates in cost calc 2015-03-24 09:38:24 +02:00
Marko Viitanen 2d8552d0d6 Fixed merge candidate usage by skipping weighted prediction candidate 2015-03-23 15:17:41 +02:00
Marko Viitanen 7952f892fc Fixed GOP reference usage 2015-03-23 14:17:44 +02:00
Marko Viitanen 34e8f70c8c Fixed temporal MV predictor offset 2015-03-23 09:22:47 +02:00
Marko Viitanen eccf1c1a16 Fixed temporal MV predictor offset 2015-03-23 09:21:52 +02:00
Marko Viitanen 164b7a7743 Merge remote-tracking branch 'remotes/origin/master' into GOP 2015-03-20 11:40:15 +02:00
Marko Viitanen 5ae9a70e38 Disable usage of P-slices when GOP 2015-03-20 10:43:59 +02:00
Marko Viitanen 26082d5328 Zero merge candidate fix for B-frames 2015-03-20 10:33:05 +02:00
Marko Viitanen 0c1aa6f73c Better reference picture removal function encoder_state_remove_refs() 2015-03-20 10:28:17 +02:00
Marko Viitanen 7dab3ea0f6 Replaced temporary reference lists with the ones in gop configurations 2015-03-20 10:25:40 +02:00
Marko Viitanen f166d25dd0 Added positive and negative reference frames to the gop config 2015-03-20 10:22:53 +02:00
Arttu Ylä-Outinen 3f31e7bf47 Merge branch 'tz-search' 2015-03-19 19:04:44 +02:00
Arttu Ylä-Outinen 176dbb6a5b Add --me parameter.
Selects the integer motion estimation algorithm (hexbs or tz).
2015-03-19 18:48:10 +02:00
Marko Viitanen d72c560880 Generate sorted reference list for L0 and L1 2015-03-19 12:26:59 +02:00
Marko Viitanen c761a6beb3 Added encoder state as an input parameter to inter_get_merge_cand() 2015-03-18 12:35:47 +02:00
Marko Viitanen c56b4d5747 Added combined merge candidates on B-slices and struct inter_merge_cand_t 2015-03-18 10:03:06 +02:00
Ari Koivula 6ec177f75c Improve handling of input vector to inter search. 2015-03-17 17:16:15 +02:00
Ari Koivula 55ae02f367 Copy cu_info from tiles to main state.
- Main states cu_array can be accessed through state->global->ref, which
  allows the use of cu_info data from reference frames.
- This was already used by giving previous frames movement vector to next
  frame as a starting point candidate, but that functionality was broken at
  some point because the data wasn't being moved from child tiles cu_array
  to the main cu_array.
- Alternative would be to access the child tiles array directly, but
  currently there isn't a mechanism to preserve those arrays for reference
  frames.
2015-03-17 13:24:20 +02:00
Ari Koivula 4bec6cec93 Simplify wavefront handling.
- Move the reconstruction status assignment out of the main for job loop.
2015-03-17 13:23:27 +02:00