Menu

Different timings between animated GIF and APNG output.

Main Forum
a64vern
2014-03-12
2014-03-13
  • a64vern

    a64vern - 2014-03-12

    The frame timings are different between animated GIF and APNG output created by VirtualDub APNG Mod 1.9.11.1

    Some file information given by plain VirtualDub 1.10.4

    Video:
    Frame size, fps (µs per frame): 240x180, 29.970 fps (33367 µs)
    Length: 80 frames (0:02.66)

    It's an edited video saved as Uncompressed RGB/YCbCr. I'm using Windows 7 x64.

    TweakPNG reports that all the APNG frames have a delay of 0.033s.
    Imagemagick reports the GIF's frame delays in a 40, 30, 30, 40 millisecond pattern.

    Both images' time delays add up to 2.64s, but for whatever reason, the APNG finishes its animation faster. You can see the animated images at http://imgur.com/a/8W45x (top gif, bottom png)

    I believe the GIF's timings are more true to the video's pacing.

    A snippet of TweakPNG's stats on the APNG

    APNG frame control, seq#=0,240x180+0+0, delay=0.033s, dispose=none, blend=source

    Imagemagick's stats on the animated GIF

    0cs
    3cs
    4cs
    3cs
    3cs
    4cs
    3cs
    3cs
    4cs
    3cs
    3cs
    4cs
    3cs
    3cs
    4cs
    3cs
    3cs
    4cs
    3cs
    3cs
    4cs
    3cs
    3cs
    4cs
    3cs
    3cs
    4cs
    3cs
    3cs
    4cs
    3cs
    3cs
    4cs
    3cs
    3cs
    4cs
    3cs
    3cs
    4cs
    3cs
    3cs
    4cs
    3cs
    3cs
    4cs
    3cs
    3cs
    4cs
    3cs
    3cs
    4cs
    3cs
    4cs
    3cs
    3cs
    4cs
    3cs
    3cs
    4cs
    3cs
    3cs
    4cs
    3cs
    3cs
    4cs
    3cs
    3cs
    4cs
    3cs
    3cs
    4cs
    3cs
    3cs
    4cs
    3cs
    3cs
    4cs
    3cs
    3cs
    4cs

     

    Last edit: a64vern 2014-03-12
  • Max Stepin

    Max Stepin - 2014-03-12

    Yes, I see both adds up to 2.64s just like they should (0.033*80=2.64)

    But the first delay in GIF is zero, and Firefox assumes zero delay is incorrect (many old GIFs from the 1990s have zero for all frames), and forcibly assigns 100ms for those frames.

    So after 10 loops the GIF is 1 second behind.

    It seems the bug is in GIF export module in VirtualDub proper.
    Ask here to be sure:
    http://forums.virtualdub.org/

     
  • a64vern

    a64vern - 2014-03-13

    I tested the same video, and outputted an animated GIF in both the current, stable version, VirtualDub 1.10.4, and VirtualDub 1.9.11.32842 stable.

    Vanilla 1.9.11 version always outputs a 0 delay on the first frame, whereas 1.10.4 is fine, so the problem is with VirtualDub 1.9.11, and not with your modifications.

    The VirtualDub-1.10.1-test20 build on the test threads on forums.virtualdub.org were still producing the 1st frame 0-delay GIF's, but not VirtualDub-1.10.3-test13

    The notes given on that build, relating to GIF creation is

    (test-9) Animated GIF encoder now emits clear codes before the LZW table fills up to work around buggy decoders
    (test-9) Improvements to animated GIF encoder to use subrects, reduced local color table depths, improved color table generation for CG input with static areas, and elimination of empty delta frames.
     

    Last edit: a64vern 2014-03-13

Log in to post a comment.