bbc / vc2hqencode

Optimised VC-2 HQ Profile Encoder Library
GNU General Public License v2.0
14 stars 4 forks source link

Crash for long movies #6

Open NEOAdvancedTechnology opened 4 years ago

NEOAdvancedTechnology commented 4 years ago

Working with 1920x1080 frames of yuv422p10le yuv files, at 1000 frames the number of bytes displayed on the output goes negative:

$vc2encode -n=1000 -t=48 /raid/movies/1-0-M-20-0.yuv test1000.vc2
INFO: Processor Features:
INFO:   SSE4.2 [X]
INFO:   AVX    [X]
INFO:   AVX2   [X]
INFO: VC2Encoder.cpp:281: Configuring for 48 threads, 256 jobs

Read 1000 frames in -147767296bytes of input data
Encoded 1000 frames in 4.062s -- 246.184 fps
Wrote 1000 pictures in -1702945266 bytes

and decoding 1000 frames crashes crashes:

$vc2decode -n=1000 -t=16 test1000.vc2 test1000.yuv
INFO: Processor Features:
INFO:   SSE4.2 [X]
INFO:   AVX    [X]
INFO:   AVX2   [X]
Read 2147479552bytes of input data
INFO: Processing Sequence Header
WARN: VC2Decoder.cpp:371: Expected 3 or 6, got 0 when reading level

INFO: Configuring for 1920 x 1080
INFO: Processing Transform Params
INFO: Configuring for 16 threads, 64 jobs
ERROR: VC2Decoder.cpp:312:  Parse Info header runs off end of stream
Error decoding:
  VC2DECODER_CODEROVERRUN

at 2000 frames, encoding crashes as well:

$vc2encode -n=2000 -t=48 /raid/movies/1-0-M-20-0.yuv test2000.vc2
INFO: Processor Features:
INFO:   SSE4.2 [X]
INFO:   AVX    [X]
INFO:   AVX2   [X]
INFO: VC2Encoder.cpp:281: Configuring for 48 threads, 256 jobs

Read 2000 frames in -295534592bytes of input data
Encoded 2000 frames in 8.180s -- 244.498 fps
Wrote 2000 pictures in 889076734 bytes
munmap_chunk(): invalid pointer
Aborted (core dumped)