Ari Koivula
91ff5ff086
Merge branch 'jeeb-cleanup'
...
Conflicts:
src/encoder.c
src/encoder.h
2014-02-03 17:13:13 +02:00
Jan Ekström
ac8fbc0519
Move initialization away from main()
2014-02-03 16:53:51 +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
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
Marko Viitanen
ac8141b328
Fixed a bug in intra search and some memory leaks, changed version to 0.2.1
...
Intra search was using faulty border data and selected modes were a bit random. Around -0.5% (LP) and -2% (AI) change in BD-rate was seen in limited testing conditions.
2014-01-31 16:54:43 +02:00
Jan Ekström
f1ff6a8274
encmain: Add rudimentary support for input via stdin
2014-01-31 14:32:41 +02:00
Marko Viitanen
5d5fbb8704
Added commandline configuration of intra period (-p <intra_period>)
2014-01-31 10:23:56 +02:00
Marko Viitanen
76f24408b6
Included x264asm abstraction layer -library and fixed Makefile
...
Name mangling is causing problems on different platforms (issues #2 and #3 ) and some of it was solved modifying the Makefile. Separate 32bit and 64bit assembly functions were also causing problems and since we were going to move to x264asm abstraction layer anyway, we decided to do it now before spending time on the old implementation.
2014-01-30 17:59:50 +02:00
Ari Koivula
5d12706510
Merge branch 'intra_NxN'
...
Conflicts:
src/encoder.c
- Chroma RDOQ changes conflicted because I had moved the chroma
quantization/dequantization to it's own function.
- Merged to master because I want my code to show up in github. =)
All the old stuff still works, even though NxN doesn't work, so there
is no reason not to merge anyway.
2014-01-29 17:04:41 +02:00
Ari Koivula
e33655fde5
Remove debug stuff and disable intra NxN in preparation for a merge.
...
- Re-enable intra search based on reconstructed image.
- This didn't have as much of an effect as I thought it would.
- Re-enable SAO and deblocking.
- Disable NxN searching. (4x4 luma coding is still broken)
2014-01-29 16:45:37 +02:00
Ari Koivula
71a996f50f
Work on reconstruction and searching.
...
- Set part-size for Inter.
- Change to Intra Only mode for testing.
- Many small changes here and there. Should have been separate commits probably, but too late.
- Disable SAO and deblocking to be able to see problems with reconstruction better.
2014-01-29 14:18:01 +02:00
Marko Viitanen
3a95d49484
Removed __cdecl from asm header files and corrected parameters printed by the program
2014-01-28 16:40:38 +02:00
Marko Viitanen
cbd4d16f25
Added commandline configuration of QP
2014-01-27 15:02:07 +02:00
Ari Koivula
77339efa57
Add COPYING file and add boilerplate for copyright and GPLv2 to every file.
2014-01-24 12:48:48 +02:00
Ari Koivula
00ece94613
Change the default encoder reconstruction file name.
...
YUV Toolkit parses the file name for frame size.
2014-01-03 13:03:46 +02:00
Marko Viitanen
60cb42735e
Fixed issues on compiling the encoder on linux
2013-11-13 08:46:31 +02:00
Ari Koivula
3eccdc0d7b
Move deblocking filtering to happen before SAO reconstruction.
...
-Re-enable deblocking.
2013-11-06 22:50:14 +02:00
Ari Koivula
91024a2095
Disable deblocking because it breaks sao.
2013-11-04 20:51:51 +02:00
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
291be9507b
Start adding Sample Adaptive Offset capability.
2013-10-25 10:39:42 +03:00
Marko Viitanen
dda53f48a7
Refactoring encoder transform/quant related functions, cu_info and picture
2013-10-18 11:41:52 +03:00
Marko Viitanen
d9e6d8413d
Added coeff data to picture-struct
2013-10-18 11:39:32 +03:00
Marko Viitanen
8b9c5d129a
Enabled deblocking by default
2013-10-08 12:12:43 +03:00
Marko Viitanen
91ff438238
Disabled deblocking filter and changed encoder to use P-slices after the first
2013-09-25 15:52:55 +03:00
Ari Koivula
e5cced6b4a
Move _CRT_SECURE_NO_WARNINGS to property sheet.
2013-09-24 21:31:48 +03:00
Ari Koivula
28e0090bd2
Make cpu-id arch detection use our own macro.
2013-09-24 12:41:14 +03:00
Ari Koivula
a3f2e84587
Redo x64 detection to not rely on predefined macro.
2013-09-23 17:27:17 +03:00
Ari Koivula
30c16fe299
Remove unused members from cabac_data.
...
- Removing them also makes cabac_init unnecessary.
2013-09-20 15:04:02 +03:00
Marko Viitanen
33df8e3db5
Refactor: encmain.c full cleanup
2013-09-19 12:48:45 +03:00
Ari Koivula
adf619f9dd
Refactor: Update file comments.
2013-09-18 18:01:20 +03:00
Marko Viitanen
a018567854
Refactor: picture.h renaming.
2013-09-18 14:58:46 +03:00
Marko Viitanen
0bf4f65a55
Refactor: encoder.h renaming
2013-09-18 14:49:01 +03:00
Marko Viitanen
beef362624
Implemented inter reconstruction inter_recon()
2013-09-12 18:50:11 +03:00
Marko Viitanen
10485ab51a
One reference picture is now kept on encoder->ref list
2013-09-12 17:38:08 +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
2426a4bc1f
Move file reading to encoder module.
2013-09-09 21:19:49 +03:00
Ari Koivula
5acb280407
Change "ToDo" to "TODO".
...
Visual Studio recognized only TODO.
2013-09-09 14:22:53 +03:00
Marko Viitanen
06fd1d6fa9
Fix for sign bit hiding, not working yet
2013-06-12 15:41:57 +03:00
Marko Viitanen
d32f06b4e6
Fixed chroma QP scaling on filtering, this version produces bit-perfect output
2013-06-03 14:22:50 +03:00
Marko Viitanen
1d7d411709
Added chroma deblocking, bugs with 4x4 blocks
2013-05-29 14:50:03 +03:00
Marko Viitanen
4c1e015c5f
Work on Deblocking filter
2013-05-22 17:27:15 +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
58ba4b306c
Fixes for search-tree, almost working, some visible errors
2013-04-18 14:04:15 +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
01c7f267d7
Added CPUID fetch assembly functions (x86 and x64)
2013-04-10 16:55:31 +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
f85db78fe2
Fixed PSNR calculation
2013-04-05 16:27:18 +03:00
Marko Viitanen
d5ab9f0437
Fixed partsize context model initialization
2013-04-04 15:08:28 +03:00
Marko Viitanen
ff5652609e
Fixed intra filtering process for future use-cases
2013-03-19 17:12:43 +02:00
Marko Viitanen
08cc0e97ab
Intra angular fixed, intra filtering. This version produces bit-perfect output.
2013-03-19 15:45:50 +02:00
Marko Viitanen
725101b447
Added intra planar prediction and more work in intra predictions
...
Added PSNR calculation for each picture
2013-03-12 17:06:21 +02:00
Marko Viitanen
77945183dc
Fixed scaling list usage, now using default scaling list
2013-03-11 17:15:11 +02:00
Marko Viitanen
892a31eeaf
Added chroma compression
2013-03-11 16:26:09 +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
3a53654cf4
Added intra prediction, image reconstruction and iTr and iQ. Fixed a bug with negative SE values
2013-03-07 17:42:00 +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
a7855f8103
Updated bitstream headers to HM10.0
2013-02-06 16:31:01 +02:00
Marko Viitanen
3b5e40e7af
Added encode_CoeffNxN code and transform functions
...
Modified contexts
2013-02-05 15:48:06 +02:00
Marko Viitanen
43354b412b
Added new function init_tables() and new global tables
2012-08-15 17:18:58 +03:00
Marko Viitanen
620541a7fc
More context models and work on the intra coding
2012-06-12 17:35:45 +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
e202eb2f91
byte-order fix
2012-06-05 17:45:17 +03:00
Marko Viitanen
a56a1c9aa6
NAL writing and dummy SPS/PPS generation
2012-06-05 15:38:54 +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
8507aa0c9a
Added some encoder control structures
2012-06-01 15:31:06 +03:00
Marko Viitanen
ef9784c107
Added VS2010 project files and fixed compilation
2012-05-30 15:26:39 +03:00
Marko Viitanen
adce16c03f
Initial commit with working config functions
2012-05-30 15:10:23 +03:00