Is there any chance the patch can be updated to apply to a more recent svn revision of ffmpeg?
There seems to be a bug in ffmpeg rev. 6543 that has since been fixed. If I try encoding a file with blank video (just plain black frames), but with audio then the output is severely truncated (from 30 mins down to 7 secs). It's not a ty issue as it happens with mpg being the destination format as well. The problem also appears on regular videos: a few seconds from the start and end get cut off, presumably because of the black frames at the start and end of the video. I tested with a rev 7165 build and the problem was no longer there.
I've made a patch that applies to the current ffmpeg svn, it compiles and runs fine but it spits out
whenever you run it. I'm told that using gcc 4.1 and up will fix this message, which I do not have.Compiler did not align stack variables. Libavcodec has been miscompiled and may be very slow or crash. This is not a bug in libavcodec, but in the compiler. Do not report crashes to FFmpeg developers.
Apply the patch with "patch -p2 < ffmpeg-diffs-1.6.txt".
The patch also includes a different fix for the llrint problem: I added this small implementation of llrint.
Last edited by joeybubbabob; 12-16-2006 at 06:01 PM. Reason: add note about applying the patch
Hey, I tried your patch and got:
did I do something wrong? also, I had to run the configure script first with this patch or I would get another error about config.h missing. (the instructions in the first post say to run the patch first.)Code:[dre@localhost ffmpeg]$ patch -p2 < ffmpeg-diffs-1.6.txt patching file config.h patching file ffmpeg.c patching file libavcodec/mpegaudiodec.c Reversed (or previously applied) patch detected! Assume -R? [n] n Apply anyway? [n] y Hunk #1 FAILED at 295. 1 out of 1 hunk FAILED -- saving rejects to file libavcodec/mpegaudiodec.c.rej patching file libavformat/Makefile patching file libavformat/allformats.c patching file libavformat/allformats.h patching file libavformat/file.c patching file libavformat/mpeg.c patching file libavformat/mpeg.h patching file libavformat/ty-enc.c patching file libavformat/ty.c patching file libavformat/tydefs.h patching file libavformat/tyexterns.h patching file libavformat/tymaster.c patching file libavformat/tyos.h patching file libavformat/typrotocol.h patching file libavformat/tyutils.c patching file libavformat/utils.c patching file libavformat/xmladd.c
deleted the folder, checked out the latest svn (7323) again, ran configure, and said yes this time. i started compiling it.. got a lot of warnings (way too many to list... I'll have to increase my scrollback,) it stopped here:
This is on FC6 / gcc version 4.1.1 20061011 (Red Hat 4.1.1-30)Code:gcc -L"/home/dre/Desktop/tyffmpeg/ffmpeg"/libavformat -L"/home/dre/Desktop/tyffmpeg/ffmpeg"/libavcodec -L"/home/dre/Desktop/tyffmpeg/ffmpeg"/libavutil -Wl,--warn-common -rdynamic -export-dynamic -Wl,--as-needed -Wl,-rpath-link,"/home/dre/Desktop/tyffmpeg/ffmpeg"/libavcodec -Wl,-rpath-link,"/home/dre/Desktop/tyffmpeg/ffmpeg"/libavformat -Wl,-rpath-link,"/home/dre/Desktop/tyffmpeg/ffmpeg"/libavutil -g -o ffmpeg_g ffmpeg.o cmdutils.o -lavformat -lavcodec -lavutil -lm -ldl ffmpeg.o: In function `opt_input_xml': /home/dre/Desktop/tyffmpeg/ffmpeg/ffmpeg.c:2563: undefined reference to `xml_buf' /home/dre/Desktop/tyffmpeg/ffmpeg/ffmpeg.c:2568: undefined reference to `xml_size' /home/dre/Desktop/tyffmpeg/ffmpeg/libavformat/libavformat.a(allformats.o): In function `av_register_all': /home/dre/Desktop/tyffmpeg/ffmpeg/libavformat/allformats.c:113: undefined reference to `mpegty_muxer' collect2: ld returned 1 exit status make: *** [ffmpeg_g] Error 1
Last edited by drez; 12-16-2006 at 06:49 PM.
Sorry about that, I'm new to this patching process.
Here is a new patch and instructions to patch and build.
1. svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
If the patch does not apply cleanly to the current svn, then checkout revision 7323 with the command line
svn checkout -r 7323 svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
2. cd ffmpeg
3. patch -p2 < ffmpeg-diffs-1.6a.txt
4. ./configure --enable-gpl --enable-a52 --disable-v4l --disable-dv1394 --disable-ffplay --disable-ffserver --enable-avisynth
5. make
6. make install
The patch worked fine with r7328. I compiled it in FC6.
I had to drop --enable-avisynth because you can only use that option when building in Cygwin/MinGW.
I'm going to try MinGW once I reboot into XP. If that fails, I'll try Cygwin..
Drez - New binary doesn't work on FC4 box that the 1.5 version did work on.
Code:$ ./ffmpeg-ty -h Floating point exception
--
Lowlight
Philips DSR7000 - 120GB, encryption off, 6.2 DTivo, tivowebplus, endpadplus, vserver, MRV, HMO
Hughes SDVR40 - 300GB, encryption off, 6.2 DTivo, tivowebplus, endpadplus, vserver, MRV, HMO
Hughes HR10-250 250GB, encryption off, 6.3c, tivowebplus 1.4, endpadplus, vserver, mfs_ftp, HME on
and I use tivotool.linux.pl for extraction and tivoserver for MRV reinsertion
It seems to be an issue with FC6 having a newer glibc. Somebody will have to compile it in an older environment.
http://www.x-tend.be/~raskas/blog/20...0/perl-binary/
http://forums.fedoraforum.org/showthread.php?t=141402
Regular ffmpeg compiled fine in MinGW but ty-ffmpeg would fail on ty-enc.o.... So I tried Cygwin.
Like joeybubbabob mentioned, if you didn't compile ffmpeg in GCC 4.1.1+, you'd get a "Compiler did not align stack variables" warning when you ran ffmpeg (ffmpeg would work correctly with that error though.)
So I looked for GCC 4.1.1 for Cygwin... After trying to compile gcc 4.1.1 myself, I eventually found this: http://www.generic-programming.org/s...C/download.php. It has a regular GCC 4.1.1 Cygwin binary and its own variant of GCC, ConceptGCC.
I've attached a Cygwin binary of ty-ffmpeg 1.6 (r7329) and the latest Cygwin DLLs (cygwin1.dll and cygz.dll).
Last edited by drez; 12-18-2006 at 03:47 PM.
Ok I built an new version on FC4 from SVN-r7332. Hope this helps.Code:$ ./ffmpeg-ty-1.5 --version FFmpeg version SVN-r6543, Copyright (c) 2000-2006 Fabrice Bellard, et al. configuration: --enable-gpl --enable-a52 --disable-v4l --disable-dv1394 --disable-ffplay --disable-ffserver libavutil version: 49.0.1 libavcodec version: 51.16.0 libavformat version: 50.5.0 built on Oct 5 2006 21:38:15, gcc: 4.1.0 20060304 (Red Hat 4.1.0-3) ./ffmpeg-ty-1.5: missing argument for option '--version' $ ./ffmpeg-ty-1.6 --version Floating point exception $ ./ffmpeg-ty-1.6b --version FFmpeg version SVN-r7332, Copyright (c) 2000-2006 Fabrice Bellard, et al. configuration: --enable-gpl --enable-a52 --disable-v4l --disable-dv1394 --disable-ffplay --disable-ffserver libavutil version: 49.1.0 libavcodec version: 51.27.0 libavformat version: 51.6.0 built on Dec 18 2006 18:11:36, gcc: 4.0.2 20051125 (Red Hat 4.0.2-8) ./ffmpeg-ty-1.6b: missing argument for option '--version'
--
Lowlight
Philips DSR7000 - 120GB, encryption off, 6.2 DTivo, tivowebplus, endpadplus, vserver, MRV, HMO
Hughes SDVR40 - 300GB, encryption off, 6.2 DTivo, tivowebplus, endpadplus, vserver, MRV, HMO
Hughes HR10-250 250GB, encryption off, 6.3c, tivowebplus 1.4, endpadplus, vserver, mfs_ftp, HME on
and I use tivotool.linux.pl for extraction and tivoserver for MRV reinsertion
I recompiled the linux version with --enable-pthreads but haven't had a chance to test it so I will wait to upload that until it's tested. I figured those of us with SMP/dualcore systems would like to have pthreads. I would also like to try to get AAC support compiled in to make transcoding quicktime movie trailers possible without having to first run it through my non-ty ffmpeg.
--
Lowlight
Philips DSR7000 - 120GB, encryption off, 6.2 DTivo, tivowebplus, endpadplus, vserver, MRV, HMO
Hughes SDVR40 - 300GB, encryption off, 6.2 DTivo, tivowebplus, endpadplus, vserver, MRV, HMO
Hughes HR10-250 250GB, encryption off, 6.3c, tivowebplus 1.4, endpadplus, vserver, mfs_ftp, HME on
and I use tivotool.linux.pl for extraction and tivoserver for MRV reinsertion
What would be the command line usage to convert ty to dvd using ffmpeg-ty? I tried:
ffmpeg-ty-1.6b -i myshow.ty -target dvd myshow.mpg
but I get:
FFmpeg version SVN-r7332, Copyright (c) 2000-2006 Fabrice Bellard, et al.
configuration: --enable-gpl --enable-a52 --disable-v4l --disable-dv1394 --disable-ffplay --disable-ffserver
libavutil version: 49.1.0
libavcodec version: 51.27.0
libavformat version: 51.6.0
built on Dec 18 2006 18:11:36, gcc: 4.0.2 20051125 (Red Hat 4.0.2-8)
myshow.ty: could not find codec parameters
ty enabled ffmpeg can encode ty files, not decode them. I think you want tytompg.
Dang.
gcc -L./libavformat -L./libavcodec -L./libavutil -Wl,--warn-common -rdynamic -export-dynamic -Wl,--as-needed -Wl,-rpath-link,/home/dan/ffmpeg/libavcodec -Wl,-rpath-link,/home/dan/ffmpeg/libavformat -Wl,-rpath-link,/home/dan/ffmpeg/libavutil -g -o ffmpeg_g ffmpeg.o cmdutils.o -lavformat -lavcodec -lavutil -lm -lz -ldl
ffmpeg.o: In function `opt_input_xml':
/home/dan/ffmpeg/ffmpeg.c:2580: undefined reference to `xml_buf'
/home/dan/ffmpeg/ffmpeg.c:2585: undefined reference to `xml_size'
collect2: ld returned 1 exit status
make: *** [ffmpeg_g] Error 1