Marko Viitanen
c202c8caac
Fixed motion vector cost calculation a bit
...
Cost was calculated a bit wrong causing non-zero motion vectors on totally black video.
2014-02-10 20:30:55 +02:00
Marko Viitanen
0ac12e72f6
Added init value for encoder->ref_list to fix valgrind warnings
...
This might help with issue #16
Thanks again to ps-auxw for pointing this out ;)
2014-02-10 20:06:54 +02:00
Marko Viitanen
4bd6131499
Fixed array overflow causing segfault, fixes #17
...
Should also solve issue #16
Thanks to ps-auxw @ IRC for finding this stupid bug!
2014-02-10 19:40:43 +02:00
Ari Koivula
75f3ba5b2f
Fix compiler warnings for VS2010 /W4 in nal.c.
...
- Working towards issue #11 .
- Leaving this as a separate commit in case there is a regression.
2014-02-10 17:46:38 +02:00
Ari Koivula
ea600ec980
Fix some compiler warnings for VS2010 /W4 in encoder.c.
...
- Working towards issue #11 .
- There is a lot in this module so I'm fixing only ~half in this commit.
2014-02-10 17:31:52 +02:00
Ari Koivula
e0cf09bc6b
Fix compiler warnings for VS2010 /W4 in nal.c.
...
- Working towards issue #11 .
- Removed todo about luma margin. The code should work even with margin.
2014-02-10 17:07:22 +02:00
Ari Koivula
e66fe65f8b
Fix compiler warnings for VS2010 /W4 in picture.c.
...
- Working towards issue #11 .
2014-02-10 16:50:53 +02:00
Ari Koivula
6dbae48268
Remove debug module.
...
- It hasn't been very useful lately and I don't want to maintain it.
2014-02-10 16:50:53 +02:00
Ari Koivula
bc3b80b9e4
Fix compiler warnings for VS2010 /W4 in intra.c.
...
- Working towards issue #11 .
2014-02-10 16:50:10 +02:00
Ari Koivula
09b742796f
Simplify intra reference border construction.
...
Doesn't change anything but makes the control flow more clear.
2014-02-10 16:19:17 +02:00
Ari Koivula
b440c48d07
Fix intra reconstruction on the bottom of the frame.
...
When the CU was both at the bottom of frame and at the bottom of LCU,
uninitialized pixels were being used as reference.
2014-02-10 14:31:47 +02:00
Marko Viitanen
5f79f30b8c
Added preliminary support for multiple reference frames
...
L0 reference list is being updated and sent to bitstream but actual usage of other than default reference might break something.
2014-02-10 11:32:48 +02:00
Marko Viitanen
241aa9155c
Fixed crash-bug when using NxN Intra mode (array index overflow)
...
In NxN mode, chroma predictions were pushed to buffer when chroma should not have been used at all. (Because it is processed only on first of the four NxN luma blocks)
2014-02-07 17:24:58 +02:00
Marko Viitanen
d106b21954
Removed redundant function call from encode_block_residual()
...
intra_set_block_mode() was called twice with the same parameters.
2014-02-07 15:33:58 +02:00
Marko Viitanen
27ffb98d08
Fixed an issue with NxN using uninitialized y_recdata
...
NxN is still disabled by default as it's being fixed.
2014-02-07 15:33:58 +02:00
Ari Koivula
526e3f9790
Fix interpolated_sad not working with vectors pointing far outside the frame.
2014-02-07 14:24:18 +02:00
Ari Koivula
b48d1c9ca2
Fixes to version sei message.
...
- Fixed the last 16 characters of the url string being cut of.
- Added some guards against the message overwriting the stack.
2014-02-07 11:43:38 +02:00
Yusuke Nakamura
3e96df2a81
Write Kvazaar's version and encoding options in an user data unregistered SEI.
2014-02-07 10:53:18 +09:00
Yusuke Nakamura
430e475954
config: Add --aud to use access unit delimiters.
2014-02-07 07:35:15 +09:00
Yusuke Nakamura
a29b6f7c92
Add some options to specify VUI parameters.
2014-02-07 06:50:43 +09: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
40ed25de7e
Fix compiler warnings for VS2010 /W4 in sao.c.
...
- Working towards issue #11 .
2014-02-06 16:06:24 +02:00
Ari Koivula
0188aa8631
Fix compiler warnings for VS2010 /W4 in search.c.
...
- Working towards issue #11 .
- Implicit conversions to explicit ones.
2014-02-06 14:40:18 +02:00
Marko Viitanen
4704a6adf4
Added deblock beta/tc checking and allowed range to usage, closes issue #13
2014-02-06 14:33:13 +02:00
Ari Koivula
4184818322
Fix compiler warnings for VS2010 /W4 in tranform.c.
...
- Working towards issue #11 .
- Lots of implicit conversions to explicit ones.
2014-02-06 14:02:56 +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
Ari Koivula
1d730bd248
Update usage information and version string.
...
- Change stderr back to text mode. Can't see what harm it should allow us to print
correct newlines for different platforms.
- Remove copy-pasted function calls from usage printing.
2014-02-05 19:16:44 +02:00
Ari Koivula
355340067f
Modify search_tree to take a pixel coordinate instead of CU coordinate.
...
I need at least 4x4 resolution for NxN. It's simpler to just use pixel
coordinates.
2014-02-05 18:43:34 +02:00
Ari Koivula
ea312082a4
Simplify the prediction mode search recursion.
...
No need to be so clever for something this simple.
I moved the cost initialization outside the recursing function because it
relied on the clever recursion to work. It should eventually be moved to its
own function that also initializes all the other fields just to be safe. I
didn't do that yet because I want to do it per-LCU and these functions are
still working on per-frame basis.
2014-02-05 18:43:34 +02:00
Marko Viitanen
337a565232
Better lambda cost implementation (from HM12)
...
- Lambda array changed to double as in HM
- Needs updating when GOP / B-pictures are used
2014-02-05 15:57:16 +02:00
Marko Viitanen
2438386f4b
Merge pull request #10 from VFR-maniac/fix
...
Avoid reading one extra frame at the end of the input file.
2014-02-04 07:35:47 -08:00
Marko Viitanen
a4cd709fc7
Fixed missing includes in MSVC caused by the deletion of stdint.h
2014-02-04 17:23:50 +02:00
Yusuke Nakamura
42908076c2
config: Add --no-sao to disable sample adaptive offset filter.
2014-02-04 23:19:17 +09:00
Yusuke Nakamura
f40d9a3e2f
config: Add --deblock to specify deblocking parameter offsets divided by
...
2.
2014-02-04 23:19:17 +09:00
Yusuke Nakamura
89800d3690
config: Add --no-deblock to disable deblocking filter.
2014-02-04 23:19:16 +09:00
Yusuke Nakamura
4286c0f988
Support long option names by getopt_long().
2014-02-04 23:19:16 +09:00
Yusuke Nakamura
de2c4ab78e
Avoid reading one extra frame at the end of the input file.
2014-02-04 21:55:08 +09:00
Marko Viitanen
39a45936a6
Fixed crash bug on QP < 15 caused by division with zero lambda cost
2014-02-04 09:39:27 +02:00
Ari Koivula
7bb9c25447
Remove duplicate implementation of intra_build_reference_border.
...
The search_buildReferenceBorder was an ugly hack and a place for bugs to hide
that should never have existed. Now it doesn't.
The change reduces PSNR a little, but also reduces the bitrate, when the
expected result was to have no change in either. I'm guessing there was still
some bug in the search_buildReferenceBorder, but the bug could also be in
intra_build_reference_border. Will have to do more testing to be sure, but
having one place to look at will be better than having two.
2014-02-03 18:35:11 +02:00
Marko Viitanen
d1b093c2ee
Merge branch 'master' of https://github.com/ultravideo/kvazaar
2014-02-03 17:20:36 +02:00
Ari Koivula
91ff5ff086
Merge branch 'jeeb-cleanup'
...
Conflicts:
src/encoder.c
src/encoder.h
2014-02-03 17:13:13 +02:00
Yusuke Nakamura
4ffdb358ed
nal: Add the writing of an additional zero_byte before the start code.
...
Enables the output of spec-compliant byte streams, as the specification
notes that an additional zero_byte has to be added under certain
circuimstances.
2014-02-03 17:00:55 +02:00
Ari Koivula
478740cf21
Add missing new lines to ends of files.
2014-02-03 16:54:03 +02:00
Jan Ekström
ac8fbc0519
Move initialization away from main()
2014-02-03 16:53:51 +02:00
Marko Viitanen
d69f97cb90
Fixed level and profile sent to bitstream, for issue #5 b
2014-02-03 16:08:25 +02:00
Marko Viitanen
57d5f2fb93
Changes in Makefile for better 32/64bit detection
...
- Addresses issue #6
- Added -m64/-m32 flags for linker to allow 32bit compiling on 64bit platform
2014-02-03 15:53:21 +02:00
Marko Viitanen
47d85f8cd5
Modified Makefile to allow building on windows and defaulting to elf-binary
...
- Addresses issues #3 and #6
- Included make clean option
2014-02-03 14:27:19 +02:00
Marko Viitanen
ffd00695c7
Better cleanup of allocated memory at exit
...
Using valgrind all the leaks were tracked and fixed.
2014-02-03 11:52:43 +02:00
Jan Ekström
007986974a
config: Make config_alloc() no longer crash if allocation fails
2014-01-31 17:30:27 +02:00
Jan Ekström
7db28fad84
encmain: Make the main function more resilient to allocation failures
...
Application will no longer crash if config or encoder_control
allocation fails.
2014-01-31 17:26:09 +02:00