Laurent Fasnacht
76ec605b72
SAO works with tiles now
2014-04-28 06:29:21 +02:00
Yusuke Nakamura
0214d4ffcc
Makefile: Remove unneeded arguments in CCFLAGS.
...
This fixes a compilation on clang.
2014-04-27 00:41:10 +09:00
Yusuke Nakamura
03da39e229
config: Use built-in getopt on non-MSVC environments.
2014-04-27 00:40:52 +09:00
Yusuke Nakamura
c5a4e7b52c
encmain: Remove a warning on MinGW.
2014-04-26 23:56:50 +09:00
Ari Koivula
145816cfb5
Move printing of CLI stuff to stderr.
...
- Printing to stdout corrupts the stream when used with "-o -".
2014-04-26 12:56:39 +03:00
Ari Koivula
f348532bae
Merge branch 'tiles_working_with_p_frames'
2014-04-25 12:15:47 +03:00
Ari Koivula
cf75937b65
Add preprocessor define passing to scons build script.
2014-04-25 11:44:13 +03:00
Laurent Fasnacht
5e7945888a
Inter-frame prediction with tiles works.
...
Many thanks to Jean-Hugues Recolin for the insightful comments about shifts!
2014-04-25 09:28:00 +02:00
Laurent Fasnacht
7719837f17
Simple OpenMP parallelization
2014-04-25 09:11:10 +02:00
Ari Koivula
4b861deacd
Merge branch 'tiles_working_only_with_intra'
2014-04-24 11:28:07 +03:00
Laurent Fasnacht
bd7237bd31
Added copyright (and changed tab to spaces)
2014-04-24 09:52:28 +02:00
Laurent Fasnacht
4e34859e66
Fix compilation error with USE_TILES=1 and -Werror=maybe-uninitialized
2014-04-24 08:41:05 +02:00
Laurent Fasnacht
59392c4a62
Fix compilation issue with USE_TILES=0
2014-04-24 08:38:24 +02:00
Laurent Fasnacht
571a373f69
Use tile offset in search
2014-04-24 08:38:24 +02:00
Laurent Fasnacht
2e7d958af3
Picture and reference may have different sizes
2014-04-24 08:38:24 +02:00
Laurent Fasnacht
af9a1c0fbb
Use same reference images for all subencoders
2014-04-24 08:38:23 +02:00
Laurent Fasnacht
73c574fb45
P-frame: first try...
2014-04-24 08:38:22 +02:00
Laurent Fasnacht
03361dcf2c
sao try... still not working
2014-04-24 08:38:22 +02:00
Laurent Fasnacht
3db4c59478
Recontruct full frame from tiles
2014-04-24 08:38:21 +02:00
Laurent Fasnacht
35d5d22ccc
Fix tile size not to go outside of the original picture
2014-04-24 08:38:20 +02:00
Laurent Fasnacht
985630b8b2
Add a check to fix picture_blit_pixels when width > orig_stride
2014-04-24 08:38:20 +02:00
Laurent Fasnacht
b36e154c38
Some cleanup
2014-04-24 08:38:19 +02:00
Laurent Fasnacht
01580a93c3
Encoding with tiles now more or less works with -p 1 --no-sao --no-deblock
2014-04-24 08:38:19 +02:00
Laurent Fasnacht
fd89b9af76
New functions: bitstream_append and bitstream_clear
2014-04-24 08:38:18 +02:00
Laurent Fasnacht
356c17e0de
Add missing break in bitstream_writebyte
2014-04-24 08:38:18 +02:00
Laurent Fasnacht
5fb4d9c36e
substream_encode function
2014-04-24 08:38:17 +02:00
Laurent Fasnacht
e292b2c274
allocate subencoders
2014-04-24 08:38:17 +02:00
Laurent Fasnacht
12e3900fd1
( ) for preprocessor directives...
2014-04-24 08:38:16 +02:00
Laurent Fasnacht
fba4f5432a
Fix debug code
2014-04-24 08:38:16 +02:00
Laurent Fasnacht
b255133460
Debug for tiles
2014-04-24 08:38:15 +02:00
Laurent Fasnacht
066ce6c9f4
Remove unused prototype
2014-04-24 08:38:15 +02:00
Laurent Fasnacht
11629ce811
Use tile scan order in encode_one_frame()
2014-04-24 08:38:14 +02:00
Laurent Fasnacht
0036afa056
Write tiles related information picture parameter set and slice header
2014-04-24 08:38:14 +02:00
Laurent Fasnacht
1e9c894eba
Coding tree block raster and tile scanning conversion process, according to ITU-T Rec. H.265 (04/2013) 6.5.1
2014-04-24 08:38:13 +02:00
Laurent Fasnacht
7bd6aa2e9c
encoder_control_input_init call moved to encoder_control_init
2014-04-24 08:38:13 +02:00
Laurent Fasnacht
ff318ae0e9
Tiles in encoder_control
2014-04-24 08:38:12 +02:00
Laurent Fasnacht
9353f14792
Parameters for using tiles in command line arguments.
...
--tiles-width-split
--tiles-height-split
2014-04-24 08:38:11 +02:00
Laurent Fasnacht
61c67dc485
Allow -DUSE_TILES=1 to be specified in Makefile; define MAX_TILES_PER_DIM.
2014-04-24 08:38:11 +02:00
Laurent Fasnacht
19b1642aa2
Removed all cabac parameters (cabac is part of encoder_state)
2014-04-22 11:46:53 +02:00
Ari Koivula
a539ae7e08
Address clang-analyzer warning.
...
- The assert needs to be before the initialization.
2014-04-22 11:55:28 +03:00
Laurent Fasnacht
a44a396ba2
Add Laurent to CREDITS :-)
2014-04-22 10:40:00 +02:00
Laurent Fasnacht
5fea5875a5
Huge refactoring
...
Split some parts of encoder_control into encoder_state
(idea: encoder_control is immutable)
Goal is to allow multiple substreams in the future.
2014-04-22 10:39:12 +02:00
Ari Koivula
88a67a4e49
Fix faulty assert that stops the program from working with inter frames.
...
- The assert would be true after the next if block, but in it's current place
it's false.
2014-04-22 10:57:38 +03:00
Ari Koivula
54270f271d
Fix c89 problem to allow compilation with VS2010.
2014-04-17 19:12:39 +03:00
Ari Koivula
1b437a5989
Address clang-analyzer warnings about garbage values.
...
- False alarm, but surprisingly difficult to convince clang of that. It
doesn't seem to understand bit shifts very well.
- Only assert and changing LCU_WIDTH>>depth to width was necessary to satisfy
clang.
- Closes #35 .
2014-04-17 18:43:09 +03:00
Ari Koivula
11509c68dc
Address clang-analyzer warnings about unused values.
...
- Related to issue #35 .
2014-04-17 18:43:08 +03:00
Ari Koivula
0704c43836
Address clang-analyzer warning about undefined behavior in intra.
...
- Related to issue #35 .
2014-04-17 18:43:08 +03:00
Ari Koivula
32da12f653
Address a clang-analyzer warning about undefined behavior in filter.
...
- Analyzer didn't see that code is never called with MAX_DEPTH as it doesn't
know the properties of width, height, x and y. Following would also
silence the error:
assert(cur_pic->width > 0 && cur_pic->height > 0);
assert(cur_pic->width % 8 == 8 && cur_pic->height % 8 == 0);
assert(x > 0 && y > 0);
assert(x % 8 == 0 && y % 8 == 0);
- Related to issue #35 .
2014-04-17 18:43:08 +03:00
Laurent Fasnacht
3396264f3c
Moved g_cur_lambda_cost into encoder_control.cur_lambda_cost
2014-04-17 12:00:21 +02:00
Laurent Fasnacht
534013be77
Remove g_lambda_cost
2014-04-17 11:49:27 +02:00