I experienced a bug with the former x264vfw versions and hoped it would be gone now with release 40 but it is still there. Seems hoping alone does not help... :-)
I want to use x264vfw to encode and decode video files. Maybe this is not a surprise but I also want to see the same frame at the same index before and after encoding and decoding. Unfortunately, this does not work, the frames are not displayed in their original order. I am not sure if the encoder or decoder causes the problem because for both tasks I used x264vfw.
I tested with VirtualDub 1.10.4. As long as the video file is played forward only, the frame index is just constantly wrong by 2 frames. But when stepping backwards or seeking to random frames, there are more issues. These are examples for the actually decoded frame indexes:
Hi.
This sounds like decoder lag (because encoder lag when not using "VirtualDub Hack" usually results in much more than 2 frames) due the B-frames. I wouldn't call this bug but more the limitation of VFW interface with its rule of "one in, one out". I can't really fix (overcome) this decoder limitation in x264vfw (there is no support for decoder hacks similar to encoding "VirtualDub Hack"). So the only thing I can suggest is to disable B-frames during encoding ("--bframes 0" in "Extra command line" field) or use "Zero Latency" check (which among other changes also disables B-frames).
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi,
I experienced a bug with the former x264vfw versions and hoped it would be gone now with release 40 but it is still there. Seems hoping alone does not help... :-)
I want to use x264vfw to encode and decode video files. Maybe this is not a surprise but I also want to see the same frame at the same index before and after encoding and decoding. Unfortunately, this does not work, the frames are not displayed in their original order. I am not sure if the encoder or decoder causes the problem because for both tasks I used x264vfw.
I tested with VirtualDub 1.10.4. As long as the video file is played forward only, the frame index is just constantly wrong by 2 frames. But when stepping backwards or seeking to random frames, there are more issues. These are examples for the actually decoded frame indexes:
Open and step forward:
black black 0 1 2 3
Stepping backward:
3 2 1 0 3 0
Stepping backward (happens at every I-frame):
65 64 63 62 61 60 64 60 57 56
35 34 33 32 31 30 33 30 27 26
95 94 93 92 91 90 94 90 87 86
I encoded with "-I 30", this is the reason for an I-frame every 30 frames. :-)
Is there a chance that this will be fixed? Otherwise x264vfw is unfortunately quite useless for me.
Thanks,
Toni
Hi.
This sounds like decoder lag (because encoder lag when not using "VirtualDub Hack" usually results in much more than 2 frames) due the B-frames. I wouldn't call this bug but more the limitation of VFW interface with its rule of "one in, one out". I can't really fix (overcome) this decoder limitation in x264vfw (there is no support for decoder hacks similar to encoding "VirtualDub Hack"). So the only thing I can suggest is to disable B-frames during encoding ("--bframes 0" in "Extra command line" field) or use "Zero Latency" check (which among other changes also disables B-frames).
Hi,
thank you for the quick answer. You are right, without B-frames it works!
I also tried encoding directly to an MPEG file, this file is being correctly encoded including B-frames.
Thanks again!