Arttu Ylä-Outinen
c856a6b598
Output frame info from encoder_encode.
...
Adds a new output parameter info_out to encoder_encode. It returns
a struct containing information about the encoded frame, including POC,
QP and slice type.
2015-09-28 10:30:57 +03:00
Arttu Ylä-Outinen
173b70b53f
Rename SLICE_* enum constants to KVZ_SLICE_*.
2015-09-28 10:30:56 +03:00
Ari Lemmetti
9051fbf593
Fix function names in speed tests
2015-09-18 17:15:59 +03:00
Ari Koivula
e9f1fdf6f2
Update the unit test lib to newest version
2015-09-18 15:38:55 +03:00
Ari Koivula
09baa6bd5e
Fix intra_sad and satd_tests
...
The tests were not being run, because the names have changed.
2015-09-18 15:26:37 +03:00
Ari Koivula
63ab4068be
Clean up the makefile a bit
...
Use the existing TARGET_CPU_ARCH and TARGET_CPU_BITS instead of filtering
ARCH over and over again.
Comment some of the more obscure parts.
2015-09-18 15:13:13 +03:00
Ari Koivula
eb12fe0d98
Re-enable disabled -m32 and -m64 flags.
2015-09-18 12:13:31 +03:00
Ari Koivula
9537b996e7
Make makefile work on arm
...
Only compile x86 specific optimizations for x86 and don't give
-m32 or -m64 on arm.
2015-09-18 00:23:49 +03:00
Ari Koivula
d76890bbff
Bump version to 0.6.1
2015-09-16 18:42:20 +03:00
Ari Koivula
1d5cfbdcc2
Remove unused variable.
2015-09-16 18:39:46 +03:00
Ari Koivula
513e80bcca
Fix bug causing unnecessary copying of memory
...
This bug caused a single tiles worth of lcu_info_t structs to be copied
unnecessarily for every LCU in the frame. This obviously caused huge
memory bandwidth issues when coding large frames without tiles. The
effect was minimized somewhat with a large number of tiles, because
only the current tile was copied.
From context it is clear that this piece of code was supposed to copy
a single tile or frame, once the frame was done, but because it was
placed in a function which is called for every LCU, it copied the data
for the LCU, but also lots of extra stuff.
The fix is to copy only the current LCU instead of the whole tile.
2015-09-16 18:23:44 +03:00
Marko Viitanen
d8b50d6951
Bump version to 0.6.0
2015-09-15 15:44:55 +03:00
Marko Viitanen
5b3f2a6229
Merge branch 'pkgconfig-fix'
2015-09-15 15:37:49 +03:00
Ari Koivula
f1ac0e6bc2
Rename _DEBUG to KVZ_DEBUG
2015-09-15 13:04:03 +03:00
Ari Koivula
ec2d8d6ad7
Rename _DEBUG_PERF macros to KVZ_PERF
...
And move them to threadqueue.h, where the things that use them are.
2015-09-15 13:03:32 +03:00
Arttu Ylä-Outinen
4db06bcf07
Use correct version in kvazaar.pc.
...
Changes kvazaar.pc to use kvazaar version instead of the library
version. The version number is extracted from global.h using sed.
2015-09-15 12:57:34 +03:00
Marko Viitanen
d70362978e
Merge branch 'idr_fix'. Fixes #100
2015-09-14 15:43:18 +03:00
Marko Viitanen
3217e70f99
Revert "Revert "Fix keeping of reference frames over IDR boundary.""
...
This reverts commit 87936eb99f
.
Conflicts:
src/encoderstate.c
2015-09-14 14:31:58 +03:00
Arttu Ylä-Outinen
e12612e938
Merge branch 'pts-and-dts'
2015-09-14 14:21:29 +03:00
Arttu Ylä-Outinen
b4ec664fc9
Set DTS values of output pictures.
...
Adds field dts to struct kvz_picture and rewrites kvz_encoder_feed_frame
to set the DTS when returning pictures.
2015-09-14 14:16:56 +03:00
Arttu Ylä-Outinen
25c23aa298
Remove static variables from kvz_encoder_feed_frame.
...
Adds struct input_frame_buffer_t for storing the input buffer state.
2015-09-14 14:12:19 +03:00
Arttu Ylä-Outinen
1d2a398197
Move function kvz_encoder_feed_frame to a separate module.
...
Adds module input_frame_buffer.
2015-09-14 14:12:18 +03:00
Arttu Ylä-Outinen
009717bf7c
Remove unused field bitstream_length from kvz_encoder.
2015-09-14 14:12:18 +03:00
Arttu Ylä-Outinen
97913cee40
Add pts field to kvz_picture.
...
The pts field can be used to set the presentation timestamp of the input
frames. The timestamps are copied to the reconstructed frames.
2015-09-14 14:12:00 +03:00
Ari Koivula
24618c90ce
Fix wrong type in debug code.
...
- This type is expected by outside debug scripts. It does not have to
match the function name.
2015-09-10 16:07:18 +03:00
Ari Koivula
0ac2bc31a3
Put parenthesis around _DEBUG.
...
- To protect against precedence issues.
2015-09-10 16:06:19 +03:00
Ari Koivula
3958e8b6f7
Handle VS warnings with _DEBUG.
...
- Conditional expression is constant was being triggered by debug code.
2015-09-10 14:16:42 +03:00
Ari Koivula
cb1a206c74
Dump threading data structures only with _DEBUG_PRINT_THREADING_INFO.
...
- They are usually not needed when using _DEBUG.
2015-09-10 14:16:42 +03:00
Arttu Ylä-Outinen
b75bd12e81
Merge branch 'fix-owf-gop'
2015-09-07 15:46:31 +03:00
Arttu Ylä-Outinen
70b3e10e27
Fix a crash with owf=4, gop=8, frames=10.
...
A call to kvz_threadqueue_waitfor caused the tqj_bitstream_written field
of the previous encoder state to become a dangling pointer, subsequently
causing an assertion to fail. This would only occur when the encoder
state used for a new frame was not the last finished one.
Fixed by setting tqj_bitstream_written to NULL after the job is done and
removing unnecessary calls to kvz_threadqueue_waitfor.
2015-09-07 15:37:04 +03:00
Arttu Ylä-Outinen
ac37a0f42b
Add a travis test demonstrating a bug.
2015-09-07 15:36:22 +03:00
Arttu Ylä-Outinen
3c35f470a1
Fix get_ctx_cu_split_model.
2015-09-02 11:47:03 +03:00
Ari Koivula
9a23ae3d92
Resolve remaining Visual Studio warnings.
...
- Ignore most of them and fix the ones that can't be ignored.
2015-08-31 15:02:25 +03:00
Ari Koivula
721002c10a
Merge pull request #104 from lu-zero/master
...
build: Drop the gnu-only option Deterministic
2015-08-29 17:20:44 +03:00
Luca Barbato
efe5291427
build: Drop the gnu-only option Deterministic
...
Unbreak building on MacOSX and possibly other BSDs.
2015-08-29 10:38:10 +02:00
Ari Koivula
ba32d389cd
Merge branch 'rbsp-cleanup'
2015-08-27 20:21:19 +03:00
Ari Koivula
c52f7858ab
Use long start code in picture_timing_sei if it's first NAL in AU.
2015-08-27 15:23:34 +03:00
Ari Koivula
69d1059602
Fix access unit delimiter.
...
- The nal header was written after the pic_type.
2015-08-27 15:18:25 +03:00
Ari Koivula
9584cd7352
Move rbsp_trailing_bits elements to encapsulating functions.
...
- Also add missing bitstream align. It's unnecessary as the version can't not
be byte aligned.
2015-08-27 15:18:18 +03:00
Ari Koivula
207367f317
Add new kvz_bitstream_align which only aligns when needed.
...
- Changing picture_timing_sei_message to align doesn't change anything, but
protects against future changes if more data is added there in future.
2015-08-27 15:16:20 +03:00
Ari Koivula
b2fb1b6d4a
Rename kvz_bitstream_align to kvz_bitstream_rbsp_trailing_bits.
...
- The syntax is called rbsp_trailing_bits in spec and 1 byte is added
even when the bitstream is already aligned, so align is a bad name.
2015-08-27 14:33:30 +03:00
Arttu Ylä-Outinen
3a10e9e3e0
Prefix all non-static symbols with "kvz_".
2015-08-26 13:02:28 +03:00
Arttu Ylä-Outinen
bfe2b31cee
Make generic satd functions static.
2015-08-26 12:10:27 +03:00
Arttu Ylä-Outinen
d0bc58a874
Document the library API in more detail.
2015-08-26 12:10:27 +03:00
Arttu Ylä-Outinen
04ba5dca41
Make config_destroy accept a NULL pointer.
2015-08-26 12:10:26 +03:00
Arttu Ylä-Outinen
8bdcd7629c
Merge pull request #102 from darealshinji/patch-1
...
Makefile: add $(CPPFLAGS), use -Wl,-z,noexecstack and install development files on Linux
2015-08-24 15:35:32 +03:00
darealshinji
87a4e53c35
Makefile: add $(CPPFLAGS), use -Wl,-z,noexecstack and install development files on Linux
2015-08-22 16:00:26 +02:00
Ari Lemmetti
3661f3f3f5
Fix incorrect free on error
2015-08-21 18:26:12 +03:00
Ari Lemmetti
4103bd2786
Add missing padding for frame allocation
2015-08-21 17:25:54 +03:00
Ari Lemmetti
d6c3363dc8
Merge branch 'interlacing_experimental'
2015-08-21 15:50:24 +03:00