Opened 8 years ago
Last modified 8 years ago
#5559 new defect
IFF ANIM: fix decoding artefacts (ANIM-J)
Reported by: | ami_stuff | Owned by: | |
---|---|---|---|
Priority: | normal | Component: | avcodec |
Version: | git-master | Keywords: | |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | yes | |
Analyzed by developer: | no |
Description
attached files decodes correctly with "cvtmovie" from
http://www.etwright.org/getstuff/source/
D:\>ffmpegx -i D:\anim\LASERBOING out.avi ffmpeg version N-79991-g86e493a Copyright (c) 2000-2016 the FFmpeg developers built with gcc 4.5.0 (GCC) 20100414 (Fedora MinGW 4.5.0-1.fc14) configuration: --prefix=/var/www/users/research/ffmpeg/snapshots/build --arch= x86 --target-os=mingw32 --cross-prefix=i686-pc-mingw32- --cc='ccache i686-pc-min gw32-gcc' --enable-pthreads --enable-memalign-hack --enable-runtime-cpudetect -- enable-cross-compile --enable-static --disable-shared --extra-libs='-lws2_32 -lw inmm -lpthread' --extra-cflags='--static -I/var/www/users/research/ffmpeg/snapsh ots/build/include' --extra-ldflags='-static -L/var/www/users/research/ffmpeg/sna pshots/build/lib' --enable-bzlib --enable-zlib --enable-gpl --enable-version3 -- enable-nonfree --enable-libx264 --enable-libspeex --enable-libtheora --enable-li bvorbis --enable-libfaac --enable-libxvid --enable-libopencore-amrnb --enable-li bopencore-amrwb --enable-libmp3lame --enable-libfreetype --enable-libvpx --disab le-decoder=libvpx libavutil 55. 24.100 / 55. 24.100 libavcodec 57. 41.102 / 57. 41.102 libavformat 57. 36.100 / 57. 36.100 libavdevice 57. 0.101 / 57. 0.101 libavfilter 6. 45.100 / 6. 45.100 libswscale 4. 1.100 / 4. 1.100 libswresample 2. 0.101 / 2. 0.101 libpostproc 54. 0.100 / 54. 0.100 Input #0, iff, from 'D:\anim\LASERBOING': Duration: N/A, bitrate: N/A Stream #0:0: Video: iff_ilbm (ANIM / 0x4D494E41), rgb0, 320x400, SAR 10:11 D AR 8:11, 30 fps, 60 tbr, 60 tbn File 'out.avi' already exists. Overwrite ? [y/N] y [avi @ 0x24b04a0] Using AVStream.codec to pass codec parameters to muxers is dep recated, use AVStream.codecpar instead. Output #0, avi, to 'out.avi': Metadata: ISFT : Lavf57.36.100 Stream #0:0: Video: mpeg4 (FMP4 / 0x34504D46), yuv420p, 320x400 [SAR 10:11 D AR 8:11], q=2-31, 200 kb/s, 60 fps, 60 tbn Metadata: encoder : Lavc57.41.102 mpeg4 Side data: cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1 Stream mapping: Stream #0:0 -> #0:0 (iff_ilbm (iff) -> mpeg4 (native)) Press [q] to stop, [?] for help frame= 5 fps=0.0 q=5.0 Lsize= 187kB time=00:00:00.28 bitrate=5417.3kbits/ s speed=16.4x video:181kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing o verhead: 3.324340%
Attachments (4)
Change History (10)
by , 8 years ago
Attachment: | LASERBOING added |
---|
by , 8 years ago
Attachment: | NotBoingAgain added |
---|
by , 8 years ago
comment:1 by , 8 years ago
comment:2 by , 8 years ago
anim/laserboing ... 320 x 400 x 6 Movie oneway, 4 frames. anim/notboingagain ... 352 x 440 x 6 Movie reversible, 146 frames. anim/spigot ... 352 x 440 x 6 Movie reversible, 54 frames.
read also readme file from this archive:
https://ftp.fau.de/aminet/misc/fish/fish-0116.lha
DILBM ----- This program calculates the differences between two images and stores the result as a delta file. The program is called with the names of three files: dilbm image1 image2 delta The two image files must exist. The delta file will be created. The delta file represents the data required to convert image1 into image2. It is not reversible. There is an alternate delta format that is reversible, to generate it, add an 'x' at the end of the command: dilbm image1 image2 delta x Normally, dilbm will display a picture of the differences between the images. To suppress this picture, add a 'q' at the end of the command, this will make dilbm run slightly faster. PILBM ----- This program packs delta files together to create an animation. It takes a single argument that is the name of a text file that contains a description of the animation. The following format must be followed: line 1 a The name of the animation that is to be produced. 2 i The name of the initial image. 3 d0 The name of the initial delta file. 4 d1 The name of the first delta file. 5 d2 The name of the second delta file. ... n+3 dn The name of the last delta file. n+4 * An asterisk to denote the start of sequence control n+5 m t m is a delta number and t is a time delay n+6 m t ... m t The animation works by double buffering, so you must specify two images. The file 'i' specifies the first image. The delta file 'd0' defines the second image in terms of the first. The delta file 'd0' is discarded after the second image file is constructed. The remaining delta files, d1 to dn are stored in memory. When the animation is replayed, the following actions take place: The first image is displayed on the screen. Then the second image is displayed. While the second image is displayed, the first image is changed with a delta file. Then it is displayed while the second image is modified with another delta file. This process is repeated. The sequence control determines the order in which the delta files are used. The value 'm' determines which delta file is to be used. The value t specifies how much time (in jiffies) is to be used for the change. If t is negative, then m is used to indicate a transfer to the m'th m-t pair. Thus the following sequence * 3 2 5 2 9 2 12 2 2 -1 would stand for the following sequence of delta files: d3 d5 d9 d12 d5 d9 d12 d5 d9 d12 d5 d9 d12 etc. Not all delta files need to be used (although that would be wasteful) and some may be used many times, if the sequence control specifies a loop. Deciding which images to use to construct delta files, and the correct sequence of delta files is complicated because of the nature of double buffering. Here is an example, suppose that we wish to display images in the following sequence: 15 14 13 12 11 10 9 8 7 8 9 10 11 12 13 14 15 14 13 12 11 etc then we can use the 'x' type of reversible deltas and compute the following files (it is a good idea to place the dilbm commands in a text file and use an 'execute' command). dilbm pic15.image pic14.image dx15-14 x q dilbm pic15.image pic13.image dx15-13 x q dilbm pic14.image pic12.image dx14-12 x q dilbm pic13.image pic11.image dx13-11 x q dilbm pic12.image pic10.image dx12-10 x q dilbm pic11.image pic9.image dx11-9 x q dilbm pic10.image pic8.image dx10-8 x q dilbm pic9.image pic7.image dx9-7 x q dilbm pic8.image pic8.image dx8-8 x q pilbm buildx.script The file buildx.script contains the following: picx.anim phongm15.image dx15-14 dx15-13 dx14-12 dx13-11 dx12-10 dx11-9 dx10-8 dx9-7 dx8-8 * 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 8 2 1 -1 Note that the delta file dx8-8 causes no action to take place, so it is also used in place of dx14-14.
comment:5 by , 8 years ago
MoviePro from this package:
http://aminet.net/package/util/libs/iff.library-23
also creates ~350 frames (see attached log file with enabled VERBOSE option)
by , 8 years ago
Attachment: | moviepro_notboingagain.txt added |
---|
comment:6 by , 8 years ago
Component: | undetermined → avcodec |
---|---|
Reproduced by developer: | set |
Version: | unspecified → git-master |
Note:
See TracTickets
for help on using tickets.
ffmpeg thinks that there are 147 frames while cvt decodes 352