Hi folks,
I hope someone might be able to advise me with a solution: I'm getting a
segfault when converting some DivX files. It appears to happen near the
end of the program, in the AVI_close() function and I think is caused by
a dodgy pointer somewhere. I've included the following details:
1. These are the system details:
*transcode*: Version 1.0.3 (downloaded from
http://transcode.kabewm.com/transcode-1.0.3.tar.bz2 - off the main
transcode downloads page),
*OS:* SuSE Linux 10.2 (32-bit).
*Kernel (uname -a):* Linux prod01 2.6.18.2-34-default #1 SMP Mon Nov
27 11:46:27 UTC 2006 i686 i686 i386 GNU/Linux
*CPUs*: Dual Core Intel(R) Pentium(R) D CPU 3.40GHz
*RAM:* 2Gb (and 600Gb of free HD space).
2. This is the command I'm running:
transcode run -i /home/paul/test/content/test.avi -o
/home/paul/test/raw/test.raw -y raw -N 0x01 -Z 320x240
3. The output of the ./configure command is attached to this email in
the file "my-configure-output.txt".
4. The output of the recommended gdb commands is also attached to this
email in the file in the file "my-gdb-transcode-output.txt".
If anyone can offer me any advice or further things I can check, I'd be
most grateful.
Many thanks,
Paul.
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking whether gcc needs -traditional... no
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking for gawk... (cached) gawk
checking how to run the C preprocessor... gcc -E
checking for a BSD-compatible install... /usr/bin/install -c
checking whether ln -s works... yes
checking whether make sets $(MAKE)... (cached) yes
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking dependency style of gcc... (cached) gcc3
checking for gawk... /usr/bin/gawk
checking for dlopen in -ldl... yes
checking for dlopen... yes
checking for ANSI C header files... yes
checking for dirent.h that defines DIR... yes
checking for library containing opendir... none required
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking errno.h usability... yes
checking errno.h presence... yes
checking for errno.h... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking for unistd.h... (cached) yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking for inttypes.h... (cached) yes
checking malloc.h usability... yes
checking malloc.h presence... yes
checking for malloc.h... yes
checking alloca.h usability... yes
checking alloca.h presence... yes
checking for alloca.h... yes
checking for an ANSI C-conforming const... yes
checking whether time.h and sys/time.h may both be included... yes
checking for inline... inline
checking for size_t... yes
checking whether byte ordering is bigendian... no
checking for off_t... yes
checking __attribute__ ((aligned ())) support... 64
checking for stdlib.h... (cached) yes
checking for GNU libc compatible malloc... yes
checking for working alloca.h... yes
checking for alloca... yes
checking for vprintf... yes
checking for _doprnt... no
checking whether lstat dereferences a symlink specified with a trailing
slash... yes
checking whether stat accepts an empty string... no
checking for working strcoll... yes
checking return type of signal handlers... void
checking for strtol... yes
checking for memalign... yes
checking for ftruncate... yes
checking for gettimeofday... yes
checking for memset... yes
checking for strerror... yes
checking for strncasecmp... yes
checking for stat... yes
checking for floor... no
checking for atexit... yes
checking for getpagesize... yes
checking for memmove... yes
checking for mkfifo... yes
checking for vsscanf... yes
checking for strptime... yes
checking for alloca... no
checking for strlcat... no
checking for strlcpy... no
checking for lrint in -lm... yes
checking for getopt_long_only... yes
checking whether support lib is needed... no
checking for pthreads in -lpthread... yes
checking for build architecture... Intel Pentium architecture (IA32)
checking if $CC groks MMX inline assembly... yes
checking for support of 3DNow in assembly code... yes
checking if $CC groks SSE inline assembly... yes
checking if $CC can handle SSE2 inline asm... yes
checking if $CC groks AltiVec inline assembly... no
checking if $CC groks AltiVec C extensions... no
checking if linker needs -framework vecLib...
checking if gcc supports -fomit-frame-pointer flags... yes
checking for a sed that does not truncate output... /usr/bin/sed
checking for ld used by gcc... /usr/i586-suse-linux/bin/ld
checking if the linker (/usr/i586-suse-linux/bin/ld) is GNU ld... yes
checking for /usr/i586-suse-linux/bin/ld option to reload object files... -r
checking for BSD-compatible nm... /usr/bin/nm -B
checking how to recognise dependent libraries... pass_all
checking dlfcn.h usability... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking how to run the C++ preprocessor... g++ -E
checking for g77... no
checking for xlf... no
checking for f77... no
checking for frt... no
checking for pgf77... no
checking for cf77... no
checking for fort77... no
checking for fl32... no
checking for af77... no
checking for xlf90... no
checking for f90... no
checking for pgf90... no
checking for pghpf... no
checking for epcf90... no
checking for gfortran... no
checking for g95... no
checking for xlf95... no
checking for f95... no
checking for fort... no
checking for ifort... no
checking for ifc... no
checking for efc... no
checking for pgf95... no
checking for lf95... no
checking for ftn... no
checking whether we are using the GNU Fortran 77 compiler... no
checking whether accepts -g... no
checking the maximum length of command line arguments... 32768
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for objdir... .libs
checking for ar... ar
checking for ranlib... ranlib
checking for strip... strip
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC
checking if gcc PIC flag -fPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking whether the gcc linker (/usr/i586-suse-linux/bin/ld) supports shared
libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking for shl_load... no
checking for shl_load in -ldld... no
checking for dlopen... (cached) yes
checking whether a program can dlopen itself... yes
checking whether a statically linked program can dlopen itself... no
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
configure: creating libtool
appending configuration tag "CXX" to libtool
checking for ld used by g++... /usr/i586-suse-linux/bin/ld
checking if the linker (/usr/i586-suse-linux/bin/ld) is GNU ld... yes
checking whether the g++ linker (/usr/i586-suse-linux/bin/ld) supports shared
libraries... yes
checking for g++ option to produce PIC... -fPIC
checking if g++ PIC flag -fPIC works... yes
checking if g++ static flag -static works... yes
checking if g++ supports -c -o file.o... yes
checking whether the g++ linker (/usr/i586-suse-linux/bin/ld) supports shared
libraries... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
appending configuration tag "F77" to libtool
checking if gcc supports -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
-D_FILE_OFFSET_BITS=64 -g -O2 flags... yes
checking if g++ supports -g -O2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
-D_FILE_OFFSET_BITS=64 flags... yes
checking if fast integers are available... yes
checking for pkg-config... /usr/bin/pkg-config
checking for X... libraries , headers
checking for gethostbyname... yes
checking for connect... yes
checking for remove... yes
checking for shmat... yes
checking for IceConnectionNumber in -lICE... yes
checking for XvQueryExtension in -lXv... yes
checking X11/Xaw/Simple.h usability... yes
checking X11/Xaw/Simple.h presence... yes
checking for X11/Xaw/Simple.h... yes
checking for XpmFreeAttributes in -lXpm... yes
checking for gzopen in -lz... yes
checking for sin in -lm... yes
checking for pkgconfig support for libavcodec... no
checking how to determine LIBAVCODEC_CFLAGS... default
checking ffmpeg/avcodec.h usability... yes
checking ffmpeg/avcodec.h presence... yes
checking for ffmpeg/avcodec.h... yes
checking how to determine LIBAVCODEC_LIBS... default
checking for avcodec_thread_init in -lavcodec... yes
VER=51.40.4
BUILD=3352580
checking for pkgconfig support for libmpeg2... no
checking how to determine LIBMPEG2_CFLAGS... default
checking mpeg2dec/mpeg2.h usability... yes
checking mpeg2dec/mpeg2.h presence... yes
checking for mpeg2dec/mpeg2.h... yes
checking how to determine LIBMPEG2_LIBS... default
checking for mpeg2_init in -lmpeg2... yes
checking for internal static framebuffer support... yes
checking for network streaming support... no
checking whether v4l support is requested... no
checking whether bktr support is requested... no
checking whether sunau support is requested... no
checking whether OSS support is requested... no
checking decore.h usability... no
checking decore.h presence... no
checking for decore.h... no
checking encore2.h usability... no
checking encore2.h presence... no
checking for encore2.h... no
checking for default xvid... xvid4
checking whether ibp and lors support is requested... no
checking whether libpostproc support is requested... no
checking whether freetype2 support is requested... no
checking whether avifile support is requested... no
checking whether lame support is requested... yes
checking for pkgconfig support for lame... no
checking how to determine LAME_CFLAGS... default
checking how to determine LAME_LIBS... default
checking for lame_init in -lmp3lame... yes
checking lame/lame.h usability... yes
checking lame/lame.h presence... yes
checking for lame/lame.h... yes
checking lame version... 397
checking whether ogg support is requested... no
checking whether vorbis support is requested... no
checking whether theora support is requested... no
checking whether libdvdread support is requested... yes
checking for pkgconfig support for libdvdread... no
checking how to determine LIBDVDREAD_CFLAGS... default
checking how to determine LIBDVDREAD_LIBS... default
checking for DVDOpen in -ldvdread... yes
checking dvdread/dvd_reader.h usability... yes
checking dvdread/dvd_reader.h presence... yes
checking for dvdread/dvd_reader.h... yes
checking whether pvm3 support is requested... no
checking whether libdv support is requested... no
checking whether libquicktime support is requested... no
checking whether lzo support is requested... no
checking whether a52 support is requested... no
checking use libac3 as default decoder... yes
checking whether libmpeg3 support is requested... no
checking whether libxml2 support is requested... no
checking whether mjpegtools support is requested... no
checking whether sdl support is requested... no
checking whether gtk support is requested... no
checking whether libfame support is requested... no
checking whether imagemagick support is requested... no
checking whether libjpegmmx support is requested... no
checking whether libjpeg support is requested... yes
checking for pkgconfig support for libjpeg... no
checking how to determine LIBJPEG_CFLAGS... default
checking jpeglib.h usability... yes
checking jpeglib.h presence... yes
checking for jpeglib.h... yes
checking how to determine LIBJPEG_LIBS... default
checking for jpeg_CreateCompress in -ljpeg... yes
checking whether bsdav support is requested... no
checking whether iconv support is requested... yes
checking for pkgconfig support for iconv... no
checking how to determine ICONV_CFLAGS... default
checking iconv.h usability... yes
checking iconv.h presence... yes
checking for iconv.h... yes
checking how to determine ICONV_LIBS... default
checking for iconv_open in -liconv... no
checking for libiconv_open in -liconv... no
checking for iconv_open in -lc... yes
checking whether internal libxio support is requested... no
checking if gcc supports -Wall -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
-D_FILE_OFFSET_BITS=64 -g -O2 flags... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating aclib/Makefile
config.status: creating avilib/Makefile
config.status: creating contrib/Makefile
config.status: creating contrib/pnmpvn/Makefile
config.status: creating docs/Makefile
config.status: creating docs/html/Makefile
config.status: creating docs/man/Makefile
config.status: creating docs/release-notes/Makefile
config.status: creating export/Makefile
config.status: creating filter/Makefile
config.status: creating filter/divxkey/Makefile
config.status: creating filter/extsub/Makefile
config.status: creating filter/pp/Makefile
config.status: creating filter/preview/Makefile
config.status: creating filter/subtitler/Makefile
config.status: creating filter/tomsmocomp/Makefile
config.status: creating filter/yuvdenoise/Makefile
config.status: creating import/Makefile
config.status: creating import/nuv/Makefile
config.status: creating import/v4l/Makefile
config.status: creating libac3/Makefile
config.status: creating libdldarwin/Makefile
config.status: creating libioaux/Makefile
config.status: creating libsupport/Makefile
config.status: creating libtc/Makefile
config.status: creating libvo/Makefile
config.status: creating libxio/Makefile
config.status: creating pvm3/Makefile
config.status: creating src/Makefile
config.status: creating testsuite/Makefile
config.status: creating tools/Makefile
config.status: creating transcode.spec
config.status: creating filter/parse_csv.awk
config.status: creating filter/filter_list.awk
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
----------------------------------------
Summary for transcode 1.0.3:
----------------------------------------
core options
----------------------------------------
static AV-frame buffering yes
network (sockets) streams no
experimental xio no
Default xvid export xvid4
A52 default decoder no
libavcodec
----------------------------------------
headers -I/usr/include
libraries -L/usr/lib -lavcodec -lm -lz -lpthread
build 3352580
version 51.40.4
statically linked no
hardware support
----------------------------------------
v4l/v4l2 no
OSS no
bktr no
sunau no
optional package support
----------------------------------------
IBP no
X11 yes
libmpeg2 yes
libpostproc no
freetype2 no
avifile no
lame yes
ogg no
vorbis no
theora no
libdvdread yes
pvm3 no
libdv no
libquicktime no
lzo no
a52 no
libmpeg3 no
libxml2 no
mjpegtools no
sdl no
gtk no
libfame no
imagemagick no
libjpeg yes
bsdav no
iconv yes
# gdb -q transcode
Using host libthread_db library "/lib/libthread_db.so.1".
(gdb) run -i /home/paul/test/content/test.avi -o /home/paul/test/raw/test.raw
-y raw -N 0x01 -Z 320x240 -q 2
Starting program: /usr/local/bin/transcode -i /home/paul/test/content/test.avi
-o /home/paul/test/raw/test.raw -y raw -N 0x01 -Z 320x240 -q 2
Failed to read a valid object file image from memory.
[Thread debugging using libthread_db enabled]
[New Thread -1210435904 (LWP 13105)]
[New Thread -1210438768 (LWP 13108)]
transcode v1.0.3 (C) 2001-2003 Thomas Oestreich, 2003-2004 T. Bitterberg
libdvdread: Using libdvdcss version 1.2.8 for DVD access
libdvdread: Can't open file VIDEO_TS.IFO.
[tcprobe] RIFF data, AVI video
[transcode] (probe) suggested AV correction -D 0 (0 ms) | AV 0 ms | 0 ms
(probe.c) V magic=0x17, A magic=0x17, V codec=0x51b6, A codec=0x1
(probe.c) V magic=RIFF data, AVI, A magic=RIFF data, AVI, V codec=DivX5, A
codec=PCM
[transcode] auto-probing source /home/paul/test/content/test.avi (ok)
[transcode] V: import format | DivX5 RIFF data, AVI (V=ffmpeg|A=avi)
[transcode] V: import frame | 320x240 1.33:1
[transcode] V: zoom | 320x240 1.33:1 (Lanczos3)
[transcode] V: bits/pixel | 0.782
[transcode] V: decoding fps,frc | 29.970,4
[transcode] V: Y'CbCr | YV12/I420
[transcode] A: import format | 0x1 PCM [44100,16,2] 1411 kbps
[transcode] A: export format | 0x1 PCM [44100,16,2] 1411 kbps
[transcode] V: encoding fps,frc | 29.970,4
[transcode] A: bytes per frame | 5884 (5885.880000)
[transcode] A: adjustment | [EMAIL PROTECTED]
[transcode] V: IA32/AMD64 accel | sse2 (sse2 sse mmxext mmx asm C)
tc_memcpy: using sse for memcpy
[transcode] encoder delay = decode=40000 encode=40000 usec
[transcode] V: video buffer | 10 @ 320x240
[transcode] allocating 10 framebuffer (static)
loading audio import module /usr/local/lib/transcode/import_avi.so
loading video import module /usr/local/lib/transcode/import_ffmpeg.so
[import_avi.so] v0.4.2 (2002-05-24) (video) * | (audio) *
Audio capability flag 0x233 | 0x1
[import_ffmpeg.so] v0.1.12 (2004-05-07) (video) ffmpeg: MS MPEG4v1-3/MPEG4/MJPEG
Video capability flag 0x2a | 0x2
loading audio export module /usr/local/lib/transcode/export_raw.so
loading video export module /usr/local/lib/transcode/export_raw.so
[export_raw.so] v0.3.12 (2003-08-04) (video) * | (audio) MPEG/AC3/PCM
(encoder.c) audio capability flag 0x33f | 0x1
(encoder.c) video capability flag 0x33f | 0x2
[transcode] starting 1 frame processing thread(s)
[New Thread -1236927600 (LWP 13110)]
[transcode] starting 1 frame processing thread(s)
[New Thread -1245320304 (LWP 13111)]
[import_avi.so] format=0x1, rate=44100 Hz, bits=16, channels=2, bitrate=1411
[New Thread -1254835312 (LWP 13112)]
(decoder.c) audio thread id=-1254835312
[New Thread -1263228016 (LWP 13115)]
[export_raw.so] max AVI-file size limit = 4278188031 bytes
(aud_aux.c) Debug: Audio submodule in=0x1 out=0x1
(aud_aux.c) Debug: PCM -> PCM
[export_raw.so] codec=YV12, fps=29.970, width=320, height=240
(aud_aux.c) Debug: AVI stream: format=0x1, rate=44100 Hz, bits=16, channels=2,
bitrate=1408
(decoder.c) video thread id=-1263228016
[mpeg4 @ 0xb6924028]frame skip 8
(frame_threads.c) internal error (A|1)3 fps, EMT: 0:03:10, ( 3| 1| 0)
(frame_threads.c) internal error (A|1)2 fps, EMT: 0:03:38, ( 1| 1| 0)
(dl_loader.c) video import module error fps, EMT: 0:06:02, ( 6| 1| 2)
(decoder.c) video data read failed - end of stream
[Thread -1263228016 (zombie) exited].95 fps, EMT: 0:06:02, ( 6| 1| 0)
(encoder.c) export terminated - buffer(s) emptyT: 0:06:02, ( 0| 0| 0)
(encoder.c) encoder closed
(decoder.c) import stop requested by client=-1210435904 (main=-1210435904)
import status=0
(decoder.c) video thread already terminated
(decoder.c) A/V import canceled (-1210435904) (-1210435904)
(decoder.c) video thread exit (ret_code=0) (status_code=13)
[Thread -1254835312 (zombie) exited]
(decoder.c) audio thread exit (ret_code=0) (status_code=4294967295)
(decoder.c) vframe_list_lock=0
(decoder.c) aframe_list_lock=0
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1210435904 (LWP 13105)]
0x0808aaab in AVI_close (AVI=0x80b2a18) at avilib.c:1913
1913 if (AVI->video_superindex->stdindex[j]) {
(gdb) where
#0 0x0808aaab in AVI_close (AVI=0x80b2a18) at avilib.c:1913
#1 0xb7f35e95 in import_ffmpeg_close (param=0xbfaaa60c) at import_ffmpeg.c:791
#2 0xb7f34172 in tc_import (opt=23, para1=0xbfaaa60c, para2=0x0) at
import_def.h:97
#3 0x0805f86b in tcv_import (opt=23, para1=0xbfaaa60c, para2=0x0) at
dl_loader.c:104
#4 0x0805d28f in import_close () at decoder.c:389
#5 0x0805b39c in main (argc=13, argv=0xbfaab454) at transcode.c:4045
(gdb) bt full
#0 0x0808aaab in AVI_close (AVI=0x80b2a18) at avilib.c:1913
ret = 0
j = 0
k = 134954568
#1 0xb7f35e95 in import_ffmpeg_close (param=0xbfaaa60c) at import_ffmpeg.c:791
No locals.
#2 0xb7f34172 in tc_import (opt=23, para1=0xbfaaa60c, para2=0x0) at
import_def.h:97
No locals.
#3 0x0805f86b in tcv_import (opt=23, para1=0xbfaaa60c, para2=0x0) at
dl_loader.c:104
ret = -1208906880
#4 0x0805d28f in import_close () at decoder.c:389
ret = 40000
import_para = {flag = 1, fd = 0x0, size = 0, buffer = 0x0, buffer2 =
0x0, attributes = 0}
#5 0x0805b39c in main (argc=13, argv=0xbfaab454) at transcode.c:4045
chanid = -1
station_id = '\0' <repeats 34 times>, "2.6.18.2-34-default", '\0'
<repeats 46 times>, "#1 SMP Mon Nov 27 11:46:27 UT"
audio_in_file = 0x0
audio_out_file = 0x0
video_in_file = 0xbfaad3c0 "/home/paul/test/content/test.avi"
video_out_file = 0xbfaad3e4 "/home/paul/test/raw/test.raw"
nav_seek_file = 0x0
n = 1
ch1 = -1
ch2 = 0
fa = 0
fb = 0
hh = 0
mm = 0
ss = 0
psu_frame_threshold = 12
no_vin_codec = 1
no_ain_codec = 1
no_v_out_codec = 0
no_a_out_codec = 1
frame_a = 0
frame_b = 2147483647
frame_asec = 0
frame_bsec = 0
splitavi_frames = 0
psu_mode = 0
base =
"\000\000���P\001PM\000\000\000\000\000\000\000�6ڷ\024�����������ױ�
ݱ���6ڷ\024��������H��ױ������\000\000\000\000����\030���Linux",
'\0' <repeats 46 times>
buf =
"\000\000\000\000\034���\000\000\000\000�\001\000\000\030\000\000\000?���8���4���8����\201\022\000�\201\022\000�E��\b\000\000\000����\000\000\000\000�����������\002\000\000\000\000\000\000\0000���5G��\b\000\000\000\024\000\000\000����L��������\"���\"��\b\000\000\000d���\026���\001\000\000\000\000
��", '\0' <repeats 12 times>,
"�4��D����E��\034���\000\000\000\000GNU\000\000\000\000\000?���8�������\003\000\000\000\000\000\000\000��"...
chbase = 0x0
psubase = 0x0
---Type <return> to continue, or q <return> to quit---
dirbase = 0x0
abuf1 =
"\000\000\000\000y\177��0���&���\034���\000\000\000\000\005\000\000\000\000\020\000\000�E��8���4���8����'\000\000�S\000\000\000\000\000\000����\003\000\000\000\000\000\000\000����5G��\b\000\000\000\034\000\000\000����L��������\"���\"��\f",
'\0' <repeats 12 times>, " �� ���"
vbuf1 =
"&���\034���\000\000\000\000\177ELF\001\001\001\000?���\232���4���8����`\001\0004\000\000\000\\���
�������\a\000\000\000\000\000\000\000\034���5G������\a\000\000\000\\���L�������\030#��8#��\034\000\000\000P���\026���\001\000\000\000\000\000\000\000
���\000\000\000"
abuf2 =
"\000\000\000\000�c������?���8���4���8���\200�������\000\000\000\000\000\000\000\000����\000\000\000\000w]۷\034���D���\t���\000\000\000\000\000\000\000\000��������\000\000\000\000\034���ī��\026���\001",
'\0' <repeats 19 times>, "\0237����"
vbuf2 =
"raw\000\000\000\000\000\a����4��\000\020\000\000��\022\000
���\000\000\000\000\000\000\000\000(����\201\000\000\001", '\0'
<repeats 11 times>,
"!7��\000\000\000\000\000\000\000\000��\026\000����\000\000\000\000\034���<���\026���\001",
'\0' <repeats 19 times>, "w]۷\034���&���\034���"
accel = 0x0
vlogfile =
"\000\000\000\000����\000\000\000\000\000\000\000\000����\224���!7��\200���
���P�����\006\000\000\000#�\004\b�a\003\000,���\000
��ԫ��\b���\003\000\000\000Bs�����������4��l\006������
���\034���D���P\203���4��!7��\000���"
alogfile = "ܩ��
���\b\000\000\000\000\000\000\000`���$���ƪ��x\"��\200���!7��\001\000\000\000#�\004\b\200�����������h\"������\000
�����P\203������!7��\\���\fs��\006\000\000\000\000\000\000\000����\000\000\000\000����
���\fs��"
vob_logfile =
"\000\000\000\000����\000\000\000\000\000\200\022\000Lr\022\000Lr\022\000!7��\005\000\000\000\000\200\022\000\000�\022\000\234�\022\000��\022\000\000\200\022\000\003\000\000\000r\002\000\000\000\020\000\000����y\177��h\"������\000
��y\177��0���P\203��y\177��!7��\000\000\000\000\000\000\000\000������y\177��\\\"��"
aux_str = 0xbfaad40f ""
endptr = (char **) 0xbfaaa944
dir_name = 0x0
dir_fname = 0x0
dir_fcnt = 0
dir_audio = 0
export_para = {flag = 2, fd = 0x0, size = -1209190637, buffer = 0x0,
buffer2 = 0x0, attributes = -1208631264}
fch = 5885.8800000000001
asr = 1.3333333333333333
leap_bytes1 = 1880
leap_bytes2 = 2120
preset_flag = 0
auto_probe = 1
seek_range = 1
thread_status = (void *) 0xffffffff
option_index = 0
zoom_filter = 0x8096774 "Lanczos3"
tstart = (struct fc_time *) 0x0
fc_ttime_separator = 0x809677d ","
fc_ttime_string = 0x0
sync_seconds = 0
no_audio_adjust = 0
no_split = 0
sret = -1209195656
long_options = {{name = 0x80962ae "version", has_arg = 0, flag = 0x0,
val = 118}, {name = 0x80962b6 "help", has_arg = 0,
flag = 0x0, val = 104}, {name = 0x80962bb "resize_up", has_arg = 1, flag =
0x0, val = 88}, {name = 0x80962c5 "resize_down",
has_arg = 1, flag = 0x0, val = 66}, {name = 0x80962d1 "input_file", has_arg
= 1, flag = 0x0, val = 105}, {
name = 0x80962dc "output_file", has_arg = 1, flag = 0x0, val = 111}, {name
= 0x80962e8 "probe", has_arg = 2, flag = 0x0, val = 72}, {
---Type <return> to continue, or q <return> to quit---
name = 0x80962ee "astream_file_in", has_arg = 1, flag = 0x0, val = 112},
{name = 0x80962fe "extract_track", has_arg = 1, flag = 0x0,
val = 97}, {name = 0x809630c "dvd_title", has_arg = 1, flag = 0x0, val =
84}, {name = 0x8096316 "vob_seek", has_arg = 1, flag = 0x0,
val = 76}, {name = 0x809631f "pcm_astream", has_arg = 1, flag = 0x0, val =
101}, {name = 0x809632b "frame_size", has_arg = 1,
flag = 0x0, val = 103}, {name = 0x8096336 "buffer", has_arg = 1, flag =
0x0, val = 117}, {name = 0x809633d "import_mods",
has_arg = 1, flag = 0x0, val = 120}, {name = 0x8096349 "astream_file_out",
has_arg = 1, flag = 0x0, val = 109}, {
name = 0x809635a "export_mods", has_arg = 1, flag = 0x0, val = 121}, {name
= 0x8096366 "audio_swap_bytes", has_arg = 0, flag = 0x0,
val = 100}, {name = 0x8096377 "increase_volume", has_arg = 1, flag = 0x0,
val = 115}, {name = 0x8096387 "use_ac3", has_arg = 0,
flag = 0x0, val = 65}, {name = 0x809638f "use_yuv", has_arg = 0, flag =
0x0, val = 86}, {name = 0x8096397 "use_rgb", has_arg = 0,
flag = 0x0, val = 49}, {name = 0x809639f "external_filter", has_arg = 1,
flag = 0x0, val = 74}, {name = 0x80963af "pass-through",
has_arg = 1, flag = 0x0, val = 80}, {name = 0x80963bc "av_sync_offset",
has_arg = 1, flag = 0x0, val = 68}, {
name = 0x80963cb "demux_mode", has_arg = 1, flag = 0x0, val = 77}, {name =
0x80963d6 "flush_lame_buffer", has_arg = 0, flag = 0x0,
val = 79}, {name = 0x80963e8 "av_rate", has_arg = 1, flag = 0x0, val =
102}, {name = 0x80963f0 "flip", has_arg = 0, flag = 0x0,
val = 122}, {name = 0x80963f5 "mirror", has_arg = 0, flag = 0x0, val =
108}, {name = 0x80963fc "video_swap_bytes", has_arg = 0,
flag = 0x0, val = 107}, {name = 0x809640d "reduce_height_width", has_arg =
1, flag = 0x0, val = 114}, {name = 0x8096421 "resize",
has_arg = 1, flag = 0x0, val = 90}, {name = 0x8096428 "anti-alias", has_arg
= 1, flag = 0x0, val = 67}, {
name = 0x8096433 "de-interlace", has_arg = 1, flag = 0x0, val = 73}, {name
= 0x8096440 "bw", has_arg = 0, flag = 0x0, val = 75}, {
name = 0x8096443 "gamma", has_arg = 1, flag = 0x0, val = 71}, {name =
0x8096449 "pre_clipping", has_arg = 1, flag = 0x0, val = 106},
{name = 0x8096456 "post_clipping", has_arg = 1, flag = 0x0, val = 89}, {name
= 0x8096464 "video_bitrate", has_arg = 1, flag = 0x0,
val = 119}, {name = 0x8096472 "multi-pass", has_arg = 1, flag = 0x0, val =
82}, {name = 0x809647d "quality", has_arg = 1,
flag = 0x0, val = 81}, {name = 0x8096485 "audio_bitrate", has_arg = 1, flag
= 0x0, val = 98}, {
name = 0x8096493 "import_audio_format", has_arg = 1, flag = 0x0, val =
110}, {name = 0x80964a7 "export_audio_format", has_arg = 1,
flag = 0x0, val = 78}, {name = 0x80964bb "re-sample", has_arg = 1, flag =
0x0, val = 69}, {name = 0x80964c5 "codec", has_arg = 1,
flag = 0x0, val = 70}, {name = 0x80964cb "encode_frames", has_arg = 1, flag
= 0x0, val = 99}, {name = 0x80964d9 "split_output",
has_arg = 1, flag = 0x0, val = 116}, {name = 0x80964e6 "chapter_mode",
has_arg = 1, flag = 0x0, val = 85}, {
name = 0x80964f3 "auto_split", has_arg = 1, flag = 0x0, val = 87}, {name =
0x80964fe "program_stream", has_arg = 1, flag = 0x0,
val = 83}, {name = 0x809650d "verbosity", has_arg = 1, flag = 0x0, val =
113}, {name = 0x8096517 "zoom_filter", has_arg = 1,
flag = 0x0, val = 128}, {name = 0x8096523 "cluster_percentage", has_arg =
0, flag = 0x0, val = 129}, {
name = 0x8096536 "cluster_chunks", has_arg = 1, flag = 0x0, val = 130},
{name = 0x8096545 "export_asr", has_arg = 1, flag = 0x0,
val = 131}, {name = 0x8096550 "import_asr", has_arg = 1, flag = 0x0, val =
132}, {name = 0x809655b "export_frc", has_arg = 1,
flag = 0x0, val = 133}, {name = 0x8096566 "export_fps", has_arg = 1, flag =
0x0, val = 134}, {name = 0x8096571 "divx_quant",
has_arg = 1, flag = 0x0, val = 136}, {name = 0x809657c "divx_rc", has_arg =
1, flag = 0x0, val = 137}, {
name = 0x8096584 "import_v4l", has_arg = 1, flag = 0x0, val = 138}, {name =
0x809658f "record_v4l", has_arg = 1, flag = 0x0,
val = 139}, {name = 0x809659a "pulldown", has_arg = 0, flag = 0x0, val =
140}, {name = 0x80965a3 "antialias_para", has_arg = 1,
flag = 0x0, val = 141}, {name = 0x80965b2 "more_help", has_arg = 1, flag =
0x0, val = 142}, {name = 0x80965bc "keep_asr",
has_arg = 0, flag = 0x0, val = 143}, {name = 0x80965c5 "no_audio_adjust",
has_arg = 0, flag = 0x0, val = 144}, {
name = 0x80965d5 "no_bitreservoir", has_arg = 0, flag = 0x0, val = 145},
{name = 0x80965e5 "av_fine_ms", has_arg = 1, flag = 0x0,
val = 146}, {name = 0x80965f0 "duration", has_arg = 1, flag = 0x0, val =
147}, {name = 0x80965f9 "nav_seek", has_arg = 1,
flag = 0x0, val = 148}, {name = 0x8096602 "psu_mode", has_arg = 0, flag =
0x0, val = 149}, {name = 0x809660b "psu_chunks",
has_arg = 1, flag = 0x0, val = 150}, {name = 0x8096616 "no_split", has_arg
= 0, flag = 0x0, val = 151}, {
name = 0x809661f "pre_clip", has_arg = 1, flag = 0x0, val = 152}, {name =
0x8096628 "post_clip", has_arg = 1, flag = 0x0,
val = 153}, {name = 0x8096632 "a52_drc_off", has_arg = 0, flag = 0x0, val =
154}, {name = 0x809663e "a52_demux", has_arg = 0,
flag = 0x0, val = 155}, {name = 0x8096648 "a52_dolby_off", has_arg = 0,
flag = 0x0, val = 156}, {name = 0x8096656 "dir_mode",
has_arg = 1, flag = 0x0, val = 157}, {name = 0x809665f "frame_interval",
has_arg = 1, flag = 0x0, val = 158}, {
name = 0x809666e "encode_fields", has_arg = 1, flag = 0x0, val = 159},
{name = 0x809667c "print_status", has_arg = 1, flag = 0x0,
val = 160}, {name = 0x8096689 "write_pid", has_arg = 1, flag = 0x0, val =
161}, {name = 0x8096693 "nice", has_arg = 1, flag = 0x0,
val = 162}, {name = 0x8096698 "progress_off", has_arg = 0, flag = 0x0, val
= 163}, {name = 0x80966a5 "debug_mode", has_arg = 0,
flag = 0x0, val = 164}, {name = 0x80966b0 "accel_mode", has_arg = 1, flag =
0x0, val = 165}, {name = 0x80966bb "avi_limit",
has_arg = 1, flag = 0x0, val = 167}, {name = 0x80966c5 "ts_pid", has_arg =
1, flag = 0x0, val = 166}, {name = 0x80966cc "socket",
---Type <return> to continue, or q <return> to quit---
has_arg = 1, flag = 0x0, val = 168}, {name = 0x80966d3 "dv_yuy2_mode",
has_arg = 0, flag = 0x0, val = 169}, {
name = 0x80966e0 "lame_preset", has_arg = 1, flag = 0x0, val = 170}, {name
= 0x80966ec "color", has_arg = 1, flag = 0x0, val = 171},
{name = 0x80966f2 "colour", has_arg = 1, flag = 0x0, val = 171}, {name =
0x80966f9 "video_max_bitrate", has_arg = 1, flag = 0x0,
val = 172}, {name = 0x809670b "avi_comments", has_arg = 1, flag = 0x0, val
= 173}, {name = 0x8096718 "divx_vbv_prof", has_arg = 1,
flag = 0x0, val = 174}, {name = 0x8096726 "divx_vbv", has_arg = 1, flag =
0x0, val = 175}, {name = 0x809672f "hard_fps",
has_arg = 0, flag = 0x0, val = 135}, {name = 0x8096738 "config_dir",
has_arg = 1, flag = 0x0, val = 176}, {name = 0x8096743 "uyvy",
has_arg = 0, flag = 0x0, val = 177}, {name = 0x8096748 "dvd_access_delay",
has_arg = 1, flag = 0x0, val = 178}, {
name = 0x8096759 "ext", has_arg = 1, flag = 0x0, val = 179}, {name =
0x809675d "export_par", has_arg = 1, flag = 0x0, val = 180}, {
name = 0x8096768 "export_prof", has_arg = 1, flag = 0x0, val = 181}, {name
= 0x0, has_arg = 0, flag = 0x0, val = 0}}
(gdb) disass $pc-32 $pc+32
Dump of assembler code from 0x808aa8b to 0x808aacb:
0x0808aa8b <AVI_close+202>: add %al,(%eax)
0x0808aa8d <AVI_close+204>: movl $0x0,0xfffffff0(%ebp)
0x0808aa94 <AVI_close+211>: jmp 0x808ab14 <AVI_close+339>
0x0808aa96 <AVI_close+213>: mov 0x8(%ebp),%eax
0x0808aa99 <AVI_close+216>: mov 0x2e4(%eax),%eax
0x0808aa9f <AVI_close+222>: mov 0x24(%eax),%edx
0x0808aaa2 <AVI_close+225>: mov 0xfffffff0(%ebp),%eax
0x0808aaa5 <AVI_close+228>: shl $0x2,%eax
0x0808aaa8 <AVI_close+231>: lea (%edx,%eax,1),%eax
0x0808aaab <AVI_close+234>: mov (%eax),%eax
0x0808aaad <AVI_close+236>: test %eax,%eax
0x0808aaaf <AVI_close+238>: je 0x808ab10 <AVI_close+335>
0x0808aab1 <AVI_close+240>: mov 0x8(%ebp),%eax
0x0808aab4 <AVI_close+243>: mov 0x2e4(%eax),%eax
0x0808aaba <AVI_close+249>: mov 0x24(%eax),%edx
0x0808aabd <AVI_close+252>: mov 0xfffffff0(%ebp),%eax
0x0808aac0 <AVI_close+255>: shl $0x2,%eax
0x0808aac3 <AVI_close+258>: lea (%edx,%eax,1),%eax
0x0808aac6 <AVI_close+261>: mov (%eax),%eax
0x0808aac8 <AVI_close+263>: mov 0x20(%eax),%eax
End of assembler dump.