FFMS / ffms2

An FFmpeg based source library and Avisynth/VapourSynth plugin for easy frame accurate access
Other
579 stars 105 forks source link

Access violation for FFMS 2.20+ #262

Closed tvasenin closed 7 years ago

tvasenin commented 8 years ago

I get access violation when trying to open my 8Mb sample using VapourSynth x86/x64 on Win10 x64 (didn't try other Windows versions).

My original samples: test-LAGS.avi: http://rghost.net/8CpZWhTvc test-ULY2.avi: http://rghost.net/6vtBFTCqG

Same sample with audio stripped and without dropped frames (the original one has one such frame): test-ULY2-nodrop.avi: http://rghost.net/6VwR5Sg6M

ce-dot commented 8 years ago

I can confirm this with FFMS 2.22 and AviSynth 2.6 on Windows 7 64-bit opening an FFV1-encoded video in .avi (I'll provide a sample if necessary). This also happens with the CPlugin version.

Errors look like: Avisynth read error: CAVIStreamSynth: System exception - Access Violation at , reading from and happen on the very first frame (indexing finishes ok)

18fps commented 8 years ago

I have the same problem with large PRORES 4444 mov files. They can be opened without trouble with ffms2 2.18 .

dswned commented 8 years ago

FFMS2 2.20+ crash and output incorrect frames 1-3-.. / zero-.. when CodecContext->codec->flush == 0 (ffv1, huff). Access violation because FlushBuffers before OutputFrame in lavf.cpp (I tryed remove it). AviSynth avs: ffmpegsource2("ffv1.mkv").trim(1,0) = ffmpegsource2("x264.mkv").trim(1,0) ffmpegsource2("ffv1.mkv") != ffmpegsource2("x264.mkv") or access violation x264 or ffv/huff with seekmode=-1 work

myrsloik commented 7 years ago

https://dl.dropboxusercontent.com/u/73468194/ffms2-2016-10-07.7z <- try this build and see if it works

Coacher commented 7 years ago

@myrsloik, a build from dropbox is good for users. Could you please reference a commit that fixes this problem so distros can fix this too?

myrsloik commented 7 years ago

Yes, there'll be a new release soon. I guess. Just going to let the latest changes get tested for a week or two so there are no major regressions.