silicontrip / lavtools

mjpeg utils and avcodec frame based video editing tools and ffmpeg filters
15 stars 3 forks source link

'make libav-bitrate' fails with libav-0.8.3 #1

Closed Nikoli closed 11 years ago

Nikoli commented 11 years ago
diff --git a/Makefile b/Makefile
index 1713bfa..f36e58d 100644
--- a/Makefile
+++ b/Makefile
@@ -2,12 +2,12 @@
 CC=gcc
 OPT_FLAG=-g
 #OPT_FLAG=-O3 -ftree-vectorize
-FREETYPEFLAGS=-L/usr/X11/lib -lfreetype
+FREETYPEFLAGS=-lfreetype
 COCOAFLAGS=-framework QuartzCore -framework Foundation -framework AppKit
 CODECFLAGS=-DHAVE_AVCODEC_DECODE_VIDEO2 -DHAVE_AVCODEC_DECODE_AUDIO3 -DHAVE_AV_FREE_PACKET
 #CODECFLAGS=-DHAVE_AV_FREE_PACKET
-LDFLAGS=-L/usr/X11/lib -lmjpegutils -L/opt/local/lib  -L/usr/local/lib
-CFLAGS= $(OPT_FLAG) -I/usr/local/include/mjpegtools -I/opt/local/include -I/usr/local/include -I/opt/local/include/freetype3 -I/opt/local/include/glib-2.0
+LDFLAGS=-L/usr/lib -lmjpegutils
+CFLAGS= $(OPT_FLAG) -I/usr/include -I/usr/include/mjpegtools -I/usr/include/freetype2 -I/usr/include/glib-2.0
 FFMPEG_FLAGS= $(CODECFLAGS) -lswscale -lavcodec -lavformat -lavutil
 #FFMPEG_FLAGS= $(CODECFLAGS) -lavcodec -lavformat -lavutil
 JPEGFLAGS= -ljpeg
$ LANG=C make libav-bitrate
gcc -DHAVE_AVCODEC_DECODE_VIDEO2 -DHAVE_AVCODEC_DECODE_AUDIO3 -DHAVE_AV_FREE_PACKET -lswscale -lavcodec -lavformat -lavutil -L/usr/lib -lmjpegutils -g -I/usr/include -I/usr/include/mjpegtools -I/usr/include/freetype2 -I/usr/include/glib-2.0 -o libav-bitrate  libav-bitrate.c
libav-bitrate.c: In function 'main':
libav-bitrate.c:140:49: error: 'CODEC_TYPE_VIDEO' undeclared (first use in this function)
libav-bitrate.c:140:49: note: each undeclared identifier is reported only once for each function it appears in
libav-bitrate.c:165:2: error: incompatible type for argument 2 of 'avcodec_open2'
/usr/include/libavcodec/avcodec.h:4074:5: note: expected 'struct AVCodec *' but argument is of type 'AVCodec'
libav-bitrate.c:232:5: warning: 'av_close_input_file' is deprecated (declared at /usr/include/libavformat/avformat.h:1580)
make: *** [libav-bitrate] Error 1
Portage 2.1.11.9 (hardened/linux/amd64, gcc-4.5.4, glibc-2.15-r2, 3.5.3-hardened-r1 x86_64)
=================================================================
                        System Settings
=================================================================
Timestamp of tree: Sat, 06 Oct 2012 15:45:01 +0000
app-shells/bash:          4.2_p37
dev-java/java-config:     2.1.11-r3
dev-lang/python:          2.7.3-r2
sys-apps/baselayout:      2.1-r1
sys-apps/openrc:          0.9.8.4
sys-apps/sandbox:         2.5
sys-devel/binutils:       2.22-r1
sys-devel/gcc:            4.5.4
sys-devel/gcc-config:     1.7.3
sys-devel/libtool:        2.4-r1
sys-devel/make:           3.82-r3
sys-kernel/linux-headers: 3.4-r2 (virtual/os-headers)
sys-libs/glibc:           2.15-r2
Repositories: gentoo nikoli
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=core2 -mtune=generic -mavx -maes -mpclmul -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/openvpn/easy-rsa /usr/share/themes/oxygen-gtk/gtk-2.0"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-march=core2 -mtune=generic -mavx -maes -mpclmul -O2 -pipe"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles news parallel-fetch parse-eapi-ebuild-head protect-owned sandbox sfperms strict test unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
LANG="en_US.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="ru en"
MAKEOPTS="-j9"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTDIR_OVERLAY="/var/lib/layman/nikoli"
USE="X a52 aac acl acpi aes-ni akonadi alsa amd64 amr atm audiofile avx bash-completion bluetooth bzip2 cairo caps cdda cddb cdio cdparanoia cdr celt cli consolekit cracklib crypt css cups cxx dbus djvu dri dts dv dvd dvdr encode exif fat ffmpeg flac fluidsynth fontconfig fortran gd geoip gif gimp gmp gnutls gphoto2 gpm graphviz gsm gstreamer gtk handbook hardened iconv icu id3tag idn ilbc imagemagick imap imlib ios ipod ipv6 jbig jpeg jpeg2k justify kde kipi kontact lame laptop lcms libass libnotify libproxy libsamplerate lm_sensors lzma lzo mac mad matroska mikmod mmx mmxext mng modplug modules mp3 mp4 mpeg mtp mudflap multilib musepack musicbrainz ncurses networkmanager nls nptl nptlonly ntfs ogg openal openexr opengl openmp pam pango pax_kernel pcre pdf pg-intdatetime phonon plasma pm-utils png policykit postscript pppd qt3support qt4 quicktime rar raw readline reiserfs replaygain rtmp sasl scanner schroedinger semantic-desktop session sid smp sndfile socks5 speex spell sqlite sse sse2 sse3 sse4_1 ssl ssse3 startup-notification svg symlink sysfs taglib theora threads thumbnail tiff truetype tta udev unicode upnp usb v4l v4l2 vaapi vcd vdpau vorbis vpx wavpack webkit webp wifi wma wmf wps x264 xattr xcb xcomposite xface xinerama xml xmp xpm xscreensaver xv xvid xz zip zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump" CAMERAS="*" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" GRUB_PLATFORMS="efi-64" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="nlpsolver pdfimport presenter-console presenter-minimizer report-builder" LINGUAS="ru en" NGINX_MODULES_HTTP="access auth_basic autoindex fastcgi gzip rewrite" PHP_TARGETS="php5-3" PYTHON_TARGETS="python3_2 python2_7" QEMU_SOFTMMU_TARGETS="i386 x86_64" QEMU_USER_TARGETS="i386 x86_64" RUBY_TARGETS="ruby18 ruby19" USERLAND="GNU" VIDEO_CARDS="radeon r600 modesetting vesa" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON

=================================================================
                        Package Settings
=================================================================

media-video/libav-0.8.3 was built with the following:
USE="X aac alsa amr avx bzip2 cdio encode faac frei0r gpl gsm hardcoded-tables jpeg2k mmx mmxext mp3 (multilib) network qt-faststart rtmp schroedinger sdl speex ssl ssse3 test theora threads truetype v4l vaapi vdpau vorbis vpx x264 xvid zlib -3dnow -3dnowext (-altivec) -bindist -cpudetection -custom-cflags -debug -dirac -doc -ieee1394 -jack (-neon) -openssl -oss -pic -pulseaudio -static-libs (-vis)"
silicontrip commented 11 years ago

Hi Nikoli

I believe that this bug is resolved now. Let me know how it goes.

Mark

On 07/10/2012, at 5:10 AM, Nikoli wrote:

diff --git a/Makefile b/Makefile index 1713bfa..f36e58d 100644 --- a/Makefile +++ b/Makefile @@ -2,12 +2,12 @@ CC=gcc OPT_FLAG=-g

OPT_FLAG=-O3 -ftree-vectorize

-FREETYPEFLAGS=-L/usr/X11/lib -lfreetype +FREETYPEFLAGS=-lfreetype COCOAFLAGS=-framework QuartzCore -framework Foundation -framework AppKit CODECFLAGS=-DHAVE_AVCODEC_DECODE_VIDEO2 -DHAVE_AVCODEC_DECODE_AUDIO3 -DHAVE_AV_FREE_PACKET

CODECFLAGS=-DHAVE_AV_FREE_PACKET

-LDFLAGS=-L/usr/X11/lib -lmjpegutils -L/opt/local/lib -L/usr/local/lib -CFLAGS= $(OPT_FLAG) -I/usr/local/include/mjpegtools -I/opt/local/include -I/usr/local/include -I/opt/local/include/freetype3 -I/opt/local/include/glib-2.0 +LDFLAGS=-L/usr/lib -lmjpegutils +CFLAGS= $(OPT_FLAG) -I/usr/include -I/usr/include/mjpegtools -I/usr/include/freetype2 -I/usr/include/glib-2.0 FFMPEG_FLAGS= $(CODECFLAGS) -lswscale -lavcodec -lavformat -lavutil

FFMPEG_FLAGS= $(CODECFLAGS) -lavcodec -lavformat -lavutil

JPEGFLAGS= -ljpeg $ LANG=C make libav-bitrate gcc -DHAVE_AVCODEC_DECODE_VIDEO2 -DHAVE_AVCODEC_DECODE_AUDIO3 -DHAVE_AV_FREE_PACKET -lswscale -lavcodec -lavformat -lavutil -L/usr/lib -lmjpegutils -g -I/usr/include -I/usr/include/mjpegtools -I/usr/include/freetype2 -I/usr/include/glib-2.0 -o libav-bitrate libav-bitrate.c libav-bitrate.c: In function 'main': libav-bitrate.c:140:49: error: 'CODEC_TYPE_VIDEO' undeclared (first use in this function) libav-bitrate.c:140:49: note: each undeclared identifier is reported only once for each function it appears in libav-bitrate.c:165:2: error: incompatible type for argument 2 of 'avcodecopen2' /usr/include/libavcodec/avcodec.h:4074:5: note: expected 'struct AVCodec ' but argument is of type 'AVCodec' libav-bitrate.c:232:5: warning: 'av_close_inputfile' is deprecated (declared at /usr/include/libavformat/avformat.h:1580) make: ** [libav-bitrate] Error 1

Portage 2.1.11.9 (hardened/linux/amd64, gcc-4.5.4, glibc-2.15-r2, 3.5.3-hardened-r1 x86_64)

                    System Settings

Timestamp of tree: Sat, 06 Oct 2012 15:45:01 +0000 app-shells/bash: 4.2_p37 dev-java/java-config: 2.1.11-r3 dev-lang/python: 2.7.3-r2 sys-apps/baselayout: 2.1-r1 sys-apps/openrc: 0.9.8.4 sys-apps/sandbox: 2.5 sys-devel/binutils: 2.22-r1 sys-devel/gcc: 4.5.4 sys-devel/gcc-config: 1.7.3 sys-devel/libtool: 2.4-r1 sys-devel/make: 3.82-r3 sys-kernel/linux-headers: 3.4-r2 (virtual/os-headers) sys-libs/glibc: 2.15-r2 Repositories: gentoo nikoli ACCEPT_KEYWORDS="amd64" ACCEPT_LICENSE="* -@EULA" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=core2 -mtune=generic -mavx -maes -mpclmul -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/openvpn/easy-rsa /usr/share/themes/oxygen-gtk/gtk-2.0" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo" CXXFLAGS="-march=core2 -mtune=generic -mavx -maes -mpclmul -O2 -pipe" FCFLAGS="-O2 -pipe" FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles news parallel-fetch parse-eapi-ebuild-head protect-owned sandbox sfperms strict test unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FFLAGS="-O2 -pipe" LANG="en_US.UTF-8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" LINGUAS="ru en" MAKEOPTS="-j9" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTDIR_OVERLAY="/var/lib/layman/nikoli" USE="X a52 aac acl acpi aes-ni akonadi alsa amd64 amr atm audiofile avx bash-completion bluetooth bzip2 cairo caps cdda cddb cdio cdparanoia cdr celt cli consolekit cracklib crypt css cups cxx dbus djvu dri dts dv dvd dvdr encode exif fat ffmpeg flac fluidsynth fontconfig fortran gd geoip gif gimp gmp gnutls gphoto2 gpm graphviz gsm gstreamer gtk handbook hardened iconv icu id3tag idn ilbc imagemagick imap imlib ios ipod ipv6 jbig jpeg jpeg2k justify kde kipi kontact lame laptop lcms libass libnotify libproxy libsamplerate lm_sensors lzma lzo mac mad matroska mikmod mmx mmxext mng modplug modules mp3 mp4 mpeg mtp mudflap multilib musepack musicbrainz ncurses networkmanager nls nptl nptlonly ntfs ogg openal openexr opengl openmp pam pango pax_kernel pcre pdf pg-intdatetime phonon plasma pm-utils png policykit postscript pppd qt3support qt4 quicktime rar raw readline reiserfs replaygain rtmp sasl scanner schroedinger semantic-desktop session sid smp sndfile socks5 speex spell sqlite sse sse2 sse3 sse4_1 ssl ssse3 startup-notification svg symlink sysfs taglib theora threads thumbnail tiff truetype tta udev unicode upnp usb v4l v4l2 vaapi vcd vdpau vorbis vpx wavpack webkit webp wifi wma wmf wps x264 xattr xcb xcomposite xface xinerama xml xmp xpm xscreensaver xv xvid xz zip zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump" CAMERAS="*" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" GRUB_PLATFORMS="efi-64" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="nlpsolver pdfimport presenter-console presenter-minimizer report-builder" LINGUAS="ru en" NGINX_MODULES_HTTP="access auth_basic autoindex fastcgi gzip rewrite" PHP_TARGETS="php5-3" PYTHON_TARGETS="python3_2 python2_7" QEMU_SOFTMMU_TARGETS="i386 x86_64" QEMU_USER_TARGETS="i386 x86_64" RUBY_TARGETS="ruby18 ruby19" USERLAND="GNU" VIDEO_CARDS="radeon r600 modesetting vesa" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON

                    Package Settings

media-video/libav-0.8.3 was built with the following: USE="X aac alsa amr avx bzip2 cdio encode faac frei0r gpl gsm hardcoded-tables jpeg2k mmx mmxext mp3 (multilib) network qt-faststart rtmp schroedinger sdl speex ssl ssse3 test theora threads truetype v4l vaapi vdpau vorbis vpx x264 xvid zlib -3dnow -3dnowext (-altivec) -bindist -cpudetection -custom-cflags -debug -dirac -doc -ieee1394 -jack (-neon) -openssl -oss -pic -pulseaudio -static-libs (-vis)" — Reply to this email directly or view it on GitHub.

Nikoli commented 11 years ago

It buils fine with above edits to Makefile:

/tmp/lavtools $ LANG=C make libav-bitrate
gcc -g -I/usr/include/mjpegtools -I/usr/include     -c -o utilyuv.o utilyuv.c
gcc  -lswscale -lavcodec -lavformat -lavutil -L/usr/lib  -lmjpegutils -g -I/usr/include/mjpegtools -I/usr/include   -o libav-bitrate  libav-bitrate.c
libav-bitrate.c: In function 'main':
libav-bitrate.c:214:5: warning: 'av_close_input_file' is deprecated (declared at /usr/include/libavformat/avformat.h:1580)

/tmp/lavtools $ file libav-bitrate;du -s libav-bitrate; objdump -p libav-bitrate
libav-bitrate: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.39, not stripped
48      libav-bitrate

libav-bitrate:     file format elf64-x86-64

Program Header:
    PHDR off    0x0000000000000040 vaddr 0x0000000000000040 paddr 0x0000000000000040 align 2**3
         filesz 0x0000000000000230 memsz 0x0000000000000230 flags r-x
  INTERP off    0x0000000000000270 vaddr 0x0000000000000270 paddr 0x0000000000000270 align 2**0
         filesz 0x000000000000001c memsz 0x000000000000001c flags r--
    LOAD off    0x0000000000000000 vaddr 0x0000000000000000 paddr 0x0000000000000000 align 2**21
         filesz 0x0000000000001794 memsz 0x0000000000001794 flags r-x
    LOAD off    0x0000000000001cc8 vaddr 0x0000000000201cc8 paddr 0x0000000000201cc8 align 2**21
         filesz 0x0000000000000348 memsz 0x0000000000000358 flags rw-
 DYNAMIC off    0x0000000000001cf0 vaddr 0x0000000000201cf0 paddr 0x0000000000201cf0 align 2**3
         filesz 0x0000000000000210 memsz 0x0000000000000210 flags rw-
    NOTE off    0x000000000000028c vaddr 0x000000000000028c paddr 0x000000000000028c align 2**2
         filesz 0x0000000000000020 memsz 0x0000000000000020 flags r--
EH_FRAME off    0x0000000000001690 vaddr 0x0000000000001690 paddr 0x0000000000001690 align 2**2
         filesz 0x0000000000000034 memsz 0x0000000000000034 flags r--
   STACK off    0x0000000000000000 vaddr 0x0000000000000000 paddr 0x0000000000000000 align 2**3
         filesz 0x0000000000000000 memsz 0x0000000000000000 flags rw-
   RELRO off    0x0000000000001cc8 vaddr 0x0000000000201cc8 paddr 0x0000000000201cc8 align 2**0
         filesz 0x0000000000000338 memsz 0x0000000000000338 flags r--
PAX_FLAGS off    0x0000000000000000 vaddr 0x0000000000000000 paddr 0x0000000000000000 align 2**3
         filesz 0x0000000000000000 memsz 0x0000000000000000 flags --- 2800

Dynamic Section:
  NEEDED               libswscale.so.2
  NEEDED               libavcodec.so.53
  NEEDED               libavformat.so.53
  NEEDED               libavutil.so.51
  NEEDED               libmjpegutils-2.0.so.0
  NEEDED               libc.so.6
  INIT                 0x0000000000000d00
  FINI                 0x00000000000015b8
  HASH                 0x00000000000002b0
  GNU_HASH             0x0000000000000388
  STRTAB               0x0000000000000718
  SYMTAB               0x00000000000003d0
  STRSZ                0x000000000000023d
  SYMENT               0x0000000000000018
  DEBUG                0x0000000000000000
  PLTGOT               0x0000000000201f00
  PLTRELSZ             0x0000000000000210
  PLTREL               0x0000000000000007
  JMPREL               0x0000000000000af0
  RELA                 0x0000000000000a30
  RELASZ               0x00000000000000c0
  RELAENT              0x0000000000000018
  FLAGS                0x0000000000000008
  FLAGS_1              0x0000000000000001
  VERNEED              0x00000000000009a0
  VERNEEDNUM           0x0000000000000004
  VERSYM               0x0000000000000956
  RELACOUNT            0x0000000000000004

Version References:
  required from libavutil.so.51:
    0x0f818431 0x00 05 LIBAVUTIL_51
  required from libavcodec.so.53:
    0x035ff8b3 0x00 04 LIBAVCODEC_53
  required from libavformat.so.53:
    0x0c7032c3 0x00 03 LIBAVFORMAT_53
  required from libc.so.6:
    0x0d696914 0x00 06 GLIBC_2.4
    0x09691a75 0x00 02 GLIBC_2.2.5

But it segfaults. I have hardened gentoo, but 'paxctl -psmr /usr/local/bin/libav-bitrate' does not help. strace:

$ strace /usr/local/bin/libav-bitrate /tmp/sd_2002_Rekrut_trailer_mp2.ts 
execve("/usr/local/bin/libav-bitrate", ["/usr/local/bin/libav-bitrate", "/tmp/sd_2002_Rekrut_trailer_mp2."...], [/* 59 vars */]) = 0
brk(0)                                  = 0x394c812f020
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x394c7f28000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=258576, ...}) = 0
mmap(NULL, 258576, PROT_READ, MAP_PRIVATE, 3, 0) = 0x394c7ee8000
close(3)                                = 0
open("/usr/lib64/libswscale.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0001\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=313176, ...}) = 0
mmap(NULL, 2408736, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x394c7abc000
mprotect(0x394c7b07000, 2097152, PROT_NONE) = 0
mmap(0x394c7d07000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4b000) = 0x394c7d07000
close(3)                                = 0
open("/usr/lib64/libavcodec.so.53", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200\35\3\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=8542928, ...}) = 0
mmap(NULL, 14700992, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x394c6cb6000
mprotect(0x394c74b3000, 2093056, PROT_NONE) = 0
mmap(0x394c76b2000, 172032, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x7fc000) = 0x394c76b2000
mmap(0x394c76dc000, 4059584, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x394c76dc000
close(3)                                = 0
open("/usr/lib64/libavformat.so.53", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260\304\1\0\0\0\0\0"..., 832) = 832
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x394c7ee7000
fstat(3, {st_mode=S_IFREG|0755, st_size=1132136, ...}) = 0
mmap(NULL, 3227480, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x394c69a2000
mprotect(0x394c6aa3000, 2097152, PROT_NONE) = 0
mmap(0x394c6ca3000, 77824, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x101000) = 0x394c6ca3000
close(3)                                = 0
open("/usr/lib64/libavutil.so.51", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240e\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=135216, ...}) = 0
mmap(NULL, 2240328, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x394c677f000
mprotect(0x394c679e000, 2093056, PROT_NONE) = 0
mmap(0x394c699d000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1e000) = 0x394c699d000
mmap(0x394c69a0000, 8008, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x394c69a0000
close(3)                                = 0
open("/usr/lib64/libmjpegutils-2.0.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200S\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=80040, ...}) = 0
mmap(NULL, 2175824, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x394c656b000
mprotect(0x394c657d000, 2097152, PROT_NONE) = 0
mmap(0x394c677d000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x12000) = 0x394c677d000
close(3)                                = 0
open("/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P%\2\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1716272, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x394c656a000
mmap(NULL, 3829728, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x394c61c3000
mprotect(0x394c6361000, 2093056, PROT_NONE) = 0
mmap(0x394c6560000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x19d000) = 0x394c6560000
mmap(0x394c6566000, 16352, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x394c6566000
close(3)                                = 0
open("/lib64/libm.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20h\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1001392, ...}) = 0
mmap(NULL, 3096680, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x394c5ece000
mprotect(0x394c5fc1000, 2097152, PROT_NONE) = 0
mmap(0x394c61c1000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xf3000) = 0x394c61c1000
close(3)                                = 0
open("/lib64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200k\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=129876, ...}) = 0
mmap(NULL, 2208080, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x394c5cb2000
mprotect(0x394c5cc9000, 2093056, PROT_NONE) = 0
mmap(0x394c5ec8000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x16000) = 0x394c5ec8000
mmap(0x394c5eca000, 12624, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x394c5eca000
close(3)                                = 0
open("/usr/lib64/libxvidcore.so.4", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\300@\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=744360, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x394c5cb1000
mmap(NULL, 3271880, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x394c5992000
mprotect(0x394c5a3d000, 2093056, PROT_NONE) = 0
mmap(0x394c5c3c000, 49152, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xaa000) = 0x394c5c3c000
mmap(0x394c5c48000, 429256, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x394c5c48000
close(3)                                = 0
open("/usr/lib64/libx264.so.124", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0@\275\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=899632, ...}) = 0
mmap(NULL, 3499072, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x394c563b000
mprotect(0x394c5714000, 2097152, PROT_NONE) = 0
mmap(0x394c5914000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xd9000) = 0x394c5914000
mmap(0x394c5917000, 500800, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x394c5917000
close(3)                                = 0
open("/usr/lib64/libvpx.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\3405\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=489648, ...}) = 0
mmap(NULL, 2593536, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x394c53c1000
mprotect(0x394c5437000, 2097152, PROT_NONE) = 0
mmap(0x394c5637000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x76000) = 0x394c5637000
mmap(0x394c5639000, 4864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x394c5639000
close(3)                                = 0
open("/usr/lib64/libvorbisenc.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0000;\1\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=2942800, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x394c7ee6000
mmap(NULL, 5038176, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x394c4ef2000
mprotect(0x394c51a5000, 2093056, PROT_NONE) = 0
mmap(0x394c53a4000, 118784, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2b2000) = 0x394c53a4000
close(3)                                = 0
open("/usr/lib64/libvorbis.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340>\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=186120, ...}) = 0
mmap(NULL, 2281496, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x394c4cc4000
mprotect(0x394c4cf0000, 2097152, PROT_NONE) = 0
mmap(0x394c4ef0000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2c000) = 0x394c4ef0000
close(3)                                = 0
open("/usr/lib64/libvo-amrwbenc.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200\t\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=115072, ...}) = 0
mmap(NULL, 2210448, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x394c4aa8000
mprotect(0x394c4abe000, 2093056, PROT_NONE) = 0
mmap(0x394c4cbd000, 28672, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x15000) = 0x394c4cbd000
close(3)                                = 0
open("/usr/lib64/libvo-aacenc.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \17\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=124936, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x394c7ee5000
mmap(NULL, 2220312, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x394c4889000
mprotect(0x394c48a7000, 2093056, PROT_NONE) = 0
mmap(0x394c4aa6000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1d000) = 0x394c4aa6000
close(3)                                = 0
open("/usr/lib64/libtheoraenc.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\320\32\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=194392, ...}) = 0
mmap(NULL, 2289696, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x394c4659000
mprotect(0x394c4687000, 2097152, PROT_NONE) = 0
mmap(0x394c4887000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2e000) = 0x394c4887000
close(3)                                = 0
open("/usr/lib64/libtheoradec.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\320\31\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=71512, ...}) = 0
mmap(NULL, 2166808, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x394c4447000
mprotect(0x394c4457000, 2097152, PROT_NONE) = 0
mmap(0x394c4657000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x10000) = 0x394c4657000
close(3)                                = 0
open("/usr/lib64/libspeex.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240,\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=112392, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x394c7ee4000
mmap(NULL, 2207768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x394c422b000
mprotect(0x394c4245000, 2097152, PROT_NONE) = 0
mmap(0x394c4445000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1a000) = 0x394c4445000
close(3)                                = 0
open("/usr/lib64/libschroedinger-1.0.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\3206\1\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=753960, ...}) = 0
mmap(NULL, 2851664, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x394c3f72000
mprotect(0x394c4026000, 2097152, PROT_NONE) = 0
mmap(0x394c4226000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xb4000) = 0x394c4226000
mmap(0x394c422a000, 848, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x394c422a000
close(3)                                = 0
open("/lib64/libz.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360&\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=92112, ...}) = 0
mmap(NULL, 2187408, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x394c3d5b000
mprotect(0x394c3d71000, 2093056, PROT_NONE) = 0
mmap(0x394c3f70000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x15000) = 0x394c3f70000
close(3)                                = 0
open("/usr/lib64/libopenjpeg.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340Y\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=155976, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x394c7ee3000
mmap(NULL, 2251424, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x394c3b35000
mprotect(0x394c3b5a000, 2093056, PROT_NONE) = 0
mmap(0x394c3d59000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x24000) = 0x394c3d59000
close(3)                                = 0
open("/usr/lib64/libopencore-amrwb.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0000\v\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=83648, ...}) = 0
mmap(NULL, 2179096, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x394c3920000
mprotect(0x394c3934000, 2093056, PROT_NONE) = 0
mmap(0x394c3b33000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x13000) = 0x394c3b33000
close(3)                                = 0
open("/usr/lib64/libopencore-amrnb.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0p\16\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=182024, ...}) = 0
mmap(NULL, 2277400, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x394c36f3000
mprotect(0x394c371f000, 2093056, PROT_NONE) = 0
mmap(0x394c391e000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2b000) = 0x394c391e000
close(3)                                = 0
open("/usr/lib64/libmp3lame.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260\260\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=321352, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x394c7ee2000
mmap(NULL, 2606624, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x394c3476000
mprotect(0x394c34c3000, 2093056, PROT_NONE) = 0
mmap(0x394c36c2000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4c000) = 0x394c36c2000
mmap(0x394c36c5000, 185888, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x394c36c5000
close(3)                                = 0
open("/usr/lib64/libgsm.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220\25\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=51048, ...}) = 0
mmap(NULL, 2146496, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x394c3269000
mprotect(0x394c3274000, 2097152, PROT_NONE) = 0
mmap(0x394c3474000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xb000) = 0x394c3474000
close(3)                                = 0
open("/usr/lib64/libfaac.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220%\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=81352, ...}) = 0
mmap(NULL, 2176728, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x394c3055000
mprotect(0x394c3065000, 2097152, PROT_NONE) = 0
mmap(0x394c3265000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x10000) = 0x394c3265000
close(3)                                = 0
open("/usr/lib64/libva.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 1\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=79552, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x394c7ee1000
mmap(NULL, 2196160, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x394c2e3c000
mprotect(0x394c2e4e000, 2097152, PROT_NONE) = 0
mmap(0x394c304e000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x12000) = 0x394c304e000
mmap(0x394c3050000, 17088, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x394c3050000
close(3)                                = 0
open("/usr/lib64/librtmp.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P[\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=108312, ...}) = 0
mmap(NULL, 2203736, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x394c2c21000
mprotect(0x394c2c3a000, 2097152, PROT_NONE) = 0
mmap(0x394c2e3a000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x19000) = 0x394c2e3a000
close(3)                                = 0
open("/usr/lib64/libgnutls.so.26", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220\265\1\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=830736, ...}) = 0
mmap(NULL, 2926768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x394c2956000
mprotect(0x394c2a1a000, 2093056, PROT_NONE) = 0
mmap(0x394c2c19000, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xc3000) = 0x394c2c19000
close(3)                                = 0
open("/lib64/libbz2.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P\31\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=70432, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x394c7ee0000
mmap(NULL, 2165808, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x394c2745000
mprotect(0x394c2754000, 2097152, PROT_NONE) = 0
mmap(0x394c2954000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xf000) = 0x394c2954000
close(3)                                = 0
open("/usr/lib64/libogg.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340\35\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=30400, ...}) = 0
mmap(NULL, 2125848, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x394c253d000
mprotect(0x394c2544000, 2093056, PROT_NONE) = 0
mmap(0x394c2743000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6000) = 0x394c2743000
close(3)                                = 0
open("/usr/lib64/liborc-0.4.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20\327\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=602280, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x394c253c000
mmap(NULL, 2698080, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x394c22a9000
mprotect(0x394c2337000, 2093056, PROT_NONE) = 0
mmap(0x394c2536000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x8d000) = 0x394c2536000
close(3)                                = 0
open("/lib64/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220\17\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=14392, ...}) = 0
mmap(NULL, 2109608, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x394c20a5000
mprotect(0x394c20a7000, 2097152, PROT_NONE) = 0
mmap(0x394c22a7000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x394c22a7000
close(3)                                = 0
open("/usr/lib64/libgcrypt.so.11", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\216\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=568888, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x394c7edf000
mmap(NULL, 2665528, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x394c1e1a000
mprotect(0x394c1ea1000, 2097152, PROT_NONE) = 0
mmap(0x394c20a1000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x87000) = 0x394c20a1000
close(3)                                = 0
open("/usr/lib64/libtasn1.so.3", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P\37\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=71512, ...}) = 0
mmap(NULL, 2167400, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x394c1c08000
mprotect(0x394c1c19000, 2093056, PROT_NONE) = 0
mmap(0x394c1e18000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x10000) = 0x394c1e18000
close(3)                                = 0
open("/usr/lib64/libnettle.so.4", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\320b\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=165640, ...}) = 0
mmap(NULL, 2261024, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x394c19df000
mprotect(0x394c1a06000, 2097152, PROT_NONE) = 0
mmap(0x394c1c06000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x27000) = 0x394c1c06000
close(3)                                = 0
open("/usr/lib64/libgmp.so.10", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200\322\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=478736, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x394c7ede000
mmap(NULL, 2574208, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x394c176a000
mprotect(0x394c17d6000, 2093056, PROT_NONE) = 0
mmap(0x394c19d5000, 40960, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6b000) = 0x394c19d5000
close(3)                                = 0
open("/usr/lib64/libhogweed.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260L\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=83720, ...}) = 0
mmap(NULL, 2179096, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x394c1555000
mprotect(0x394c1569000, 2093056, PROT_NONE) = 0
mmap(0x394c1768000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x13000) = 0x394c1768000
close(3)                                = 0
open("/usr/lib64/libgpg-error.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \n\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=18112, ...}) = 0
mmap(NULL, 2113560, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x394c1350000
mprotect(0x394c1353000, 2097152, PROT_NONE) = 0
mmap(0x394c1553000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x394c1553000
close(3)                                = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x394c7edd000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x394c7edc000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x394c7edb000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x394c7eda000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x394c7ed9000
arch_prctl(ARCH_SET_FS, 0x394c7eda700)  = 0
mprotect(0x394c6560000, 16384, PROT_READ) = 0
mprotect(0x394c1553000, 4096, PROT_READ) = 0
mprotect(0x394c1c06000, 4096, PROT_READ) = 0
mprotect(0x394c19d5000, 8192, PROT_READ) = 0
mprotect(0x394c1768000, 4096, PROT_READ) = 0
mprotect(0x394c1e18000, 4096, PROT_READ) = 0
mprotect(0x394c20a1000, 4096, PROT_READ) = 0
mprotect(0x394c22a7000, 4096, PROT_READ) = 0
mprotect(0x394c61c1000, 4096, PROT_READ) = 0
mprotect(0x394c2536000, 8192, PROT_READ) = 0
mprotect(0x394c2743000, 4096, PROT_READ) = 0
mprotect(0x394c2954000, 4096, PROT_READ) = 0
mprotect(0x394c5ec8000, 4096, PROT_READ) = 0
mprotect(0x394c3f70000, 4096, PROT_READ) = 0
mprotect(0x394c2c19000, 28672, PROT_READ) = 0
mprotect(0x394c2e3a000, 4096, PROT_READ) = 0
mprotect(0x394c304e000, 4096, PROT_READ) = 0
mprotect(0x394c3265000, 4096, PROT_READ) = 0
mprotect(0x394c3474000, 4096, PROT_READ) = 0
mprotect(0x394c36c2000, 8192, PROT_READ) = 0
mprotect(0x394c391e000, 4096, PROT_READ) = 0
mprotect(0x394c3b33000, 4096, PROT_READ) = 0
mprotect(0x394c3d59000, 4096, PROT_READ) = 0
mprotect(0x394c4226000, 12288, PROT_READ) = 0
mprotect(0x394c4445000, 4096, PROT_READ) = 0
mprotect(0x394c4657000, 4096, PROT_READ) = 0
mprotect(0x394c4887000, 4096, PROT_READ) = 0
mprotect(0x394c4aa6000, 4096, PROT_READ) = 0
mprotect(0x394c4cbd000, 4096, PROT_READ) = 0
mprotect(0x394c4ef0000, 4096, PROT_READ) = 0
mprotect(0x394c53a4000, 114688, PROT_READ) = 0
mprotect(0x394c5637000, 4096, PROT_READ) = 0
mprotect(0x394c5914000, 8192, PROT_READ) = 0
mprotect(0x394c5c3c000, 8192, PROT_READ) = 0
mprotect(0x394c677d000, 4096, PROT_READ) = 0
mprotect(0x394c699d000, 8192, PROT_READ) = 0
mprotect(0x394c76b2000, 77824, PROT_READ) = 0
mprotect(0x394c6ca3000, 28672, PROT_READ) = 0
mprotect(0x394c7d07000, 4096, PROT_READ) = 0
mprotect(0x394c812e000, 4096, PROT_READ) = 0
mprotect(0x394c7f2a000, 4096, PROT_READ) = 0
munmap(0x394c7ee8000, 258576)           = 0
set_tid_address(0x394c7eda9d0)          = 28739
set_robust_list(0x394c7eda9e0, 24)      = 0
rt_sigaction(SIGRTMIN, {0x394c5cb86c0, [], SA_RESTORER|SA_SIGINFO, 0x394c5cc1a90}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {0x394c5cb8750, [], SA_RESTORER|SA_RESTART|SA_SIGINFO, 0x394c5cc1a90}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM64_INFINITY}) = 0
brk(0)                                  = 0x394c812f020
brk(0x394c8150020)                      = 0x394c8150020
brk(0x394c8151000)                      = 0x394c8151000
--- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0xf0b31f} ---
+++ killed by SIGSEGV +++
Ошибка сегментирования

dmesg:

grsec: Segmentation fault occurred at 0000000000f0b31f in /usr/local/bin/libav-bitrate[libav-bitrate:28831] uid/euid:1101/1101 gid/egid:1101/1101, parent /usr/bin/strace[strace:28829] uid/euid:1101/1101 gid/egid:1101/1101

P.S. Also there is typo in help message:

$ /usr/local/bin/libav-bitrate 
usage: bitrate <filename> [<smoothing window length>]
produces a text bandwidth graph for any media file recognised by libav

usage: bitrate -> usage: libav-bitrate

silicontrip commented 11 years ago

Are you able to run this in gdb?

What's the major version of LIBAVCODEC are you using? (eg grep LIBAVCODEC_VERSION_MAJOR /usr/local/include/libavcodec/version.h)

Nikoli commented 11 years ago
$ LANG=C make libav-bitrate
gcc -ggdb -I/usr/include/mjpegtools -I/usr/include     -c -o utilyuv.o utilyuv.c
gcc  -lswscale -lavcodec -lavformat -lavutil -L/usr/lib  -lmjpegutils -ggdb -I/usr/include/mjpegtools -I/usr/include   -o libav-bitrate  libav-bitrate.c
libav-bitrate.c: In function 'main':

# rsync -avc /tmp/lavtools/libav-bitrate /usr/local/bin/

$ gdb /usr/local/bin/libav-bitrate
GNU gdb (Gentoo 7.3.1 p2) 7.3.1
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
For bug reporting instructions, please see:
<http://bugs.gentoo.org/>...
Reading symbols from /usr/local/bin/libav-bitrate...done.
(gdb) run /tmp/sd_2002_Rekrut_trailer_mp2.ts
Starting program: /usr/local/bin/libav-bitrate /tmp/sd_2002_Rekrut_trailer_mp2.ts

Program received signal SIGSEGV, Segmentation fault.
0x0000035000e5d635 in ?? ()
(gdb) bt
#0  0x0000035000e5d635 in ?? ()
#1  0x000000000000000d in ?? ()
#2  0x0000035000630d89 in ?? ()
#3  0x0000000000000000 in ?? ()
(gdb)
$ grep LIBAVCODEC_VERSION_MAJOR /usr/include/libavcodec/version.h
#define LIBAVCODEC_VERSION_MAJOR 53
#define LIBAVCODEC_VERSION_INT  AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
#define LIBAVCODEC_VERSION      AV_VERSION(LIBAVCODEC_VERSION_MAJOR,    \
#define FF_API_PALETTE_CONTROL  (LIBAVCODEC_VERSION_MAJOR < 54)
#define FF_API_OLD_SAMPLE_FMT   (LIBAVCODEC_VERSION_MAJOR < 54)
#define FF_API_OLD_AUDIOCONVERT (LIBAVCODEC_VERSION_MAJOR < 54)
#define FF_API_ANTIALIAS_ALGO   (LIBAVCODEC_VERSION_MAJOR < 54)
#define FF_API_REQUEST_CHANNELS (LIBAVCODEC_VERSION_MAJOR < 54)
#define FF_API_OPT_H            (LIBAVCODEC_VERSION_MAJOR < 54)
#define FF_API_THREAD_INIT      (LIBAVCODEC_VERSION_MAJOR < 54)
#define FF_API_OLD_FF_PICT_TYPES (LIBAVCODEC_VERSION_MAJOR < 54)
#define FF_API_FLAC_GLOBAL_OPTS (LIBAVCODEC_VERSION_MAJOR < 54)
#define FF_API_GET_PIX_FMT_NAME (LIBAVCODEC_VERSION_MAJOR < 54)
#define FF_API_ALLOC_CONTEXT    (LIBAVCODEC_VERSION_MAJOR < 54)
#define FF_API_AVCODEC_OPEN     (LIBAVCODEC_VERSION_MAJOR < 54)
#define FF_API_DRC_SCALE        (LIBAVCODEC_VERSION_MAJOR < 54)
#define FF_API_ER               (LIBAVCODEC_VERSION_MAJOR < 54)
#define FF_API_AVCODEC_INIT     (LIBAVCODEC_VERSION_MAJOR < 54)
#define FF_API_X264_GLOBAL_OPTS (LIBAVCODEC_VERSION_MAJOR < 54)
#define FF_API_MPEGVIDEO_GLOBAL_OPTS (LIBAVCODEC_VERSION_MAJOR < 54)
#define FF_API_LAME_GLOBAL_OPTS  (LIBAVCODEC_VERSION_MAJOR < 54)
#define FF_API_SNOW_GLOBAL_OPTS  (LIBAVCODEC_VERSION_MAJOR < 54)
#define FF_API_MJPEG_GLOBAL_OPTS (LIBAVCODEC_VERSION_MAJOR < 54)
#define FF_API_GET_ALPHA_INFO    (LIBAVCODEC_VERSION_MAJOR < 54)
#define FF_API_PARSE_FRAME (LIBAVCODEC_VERSION_MAJOR < 54)
#define FF_API_INTERNAL_CONTEXT (LIBAVCODEC_VERSION_MAJOR < 54)
#define FF_API_TIFFENC_COMPLEVEL (LIBAVCODEC_VERSION_MAJOR < 54)
#define FF_API_DATA_POINTERS (LIBAVCODEC_VERSION_MAJOR < 54)
#define FF_API_OLD_DECODE_AUDIO (LIBAVCODEC_VERSION_MAJOR < 54)
#define FF_API_AVFRAME_AGE (LIBAVCODEC_VERSION_MAJOR < 54)
#define FF_API_OLD_ENCODE_AUDIO (LIBAVCODEC_VERSION_MAJOR < 54)
silicontrip commented 11 years ago

I don't know why gdb is not printing any symbols. Are you able to look into this?

Have you tried other movie files? Other than a transport stream? Would it be possible to send me the file you're trying to graph? I don't have any transport streams here to test with.

I need to reproduce (or see a trace) of the error.

Nikoli commented 11 years ago

I don't know why gdb is not printing any symbols. Are you able to look into this?

I am not sure why this problem exists: i compiled with -ggdb and did not strip the bin:

$ file /usr/local/bin/libav-bitrate 
/usr/local/bin/libav-bitrate: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.39, not stripped

Have you tried other movie files? Other than a transport stream?

Yes, same problem:

$ gdb /usr/local/bin/libav-bitrate
GNU gdb (Gentoo 7.3.1 p2) 7.3.1
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
For bug reporting instructions, please see:
<http://bugs.gentoo.org/>...
Reading symbols from /usr/local/bin/libav-bitrate...done.
(gdb) run /tmp/sample-001.mkv
Starting program: /usr/local/bin/libav-bitrate /tmp/sample-001.mkv

Program received signal SIGSEGV, Segmentation fault.
0x0000038ccff46915 in ?? ()
(gdb) bt
#0  0x0000038ccff46915 in ?? ()
#1  0x000000000000000d in ?? ()
#2  0x0000038ccf719d89 in ?? ()
#3  0x0000000000000000 in ?? ()
(gdb)

Did you try building and testing with ubuntu-12.04.1?

Would it be possible to send me the file you're trying to graph? I don't have any transport streams here to test with.

Sure, check your mailbox.

Nikoli commented 11 years ago

With non hardened system i was able to get nice backtrace :) TS:

$ gdb /usr/local/bin/libav-bitrate
GNU gdb (Gentoo 7.3.1 p2) 7.3.1
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
For bug reporting instructions, please see:
<http://bugs.gentoo.org/>...
Reading symbols from /usr/local/bin/libav-bitrate...done.
(gdb) run /tmp/sd_2002_Rekrut_trailer_mp2.ts
Starting program: /usr/local/bin/libav-bitrate /tmp/sd_2002_Rekrut_trailer_mp2.ts
warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff6b8202a in avformat_open_input () from /usr/lib64/libavformat.so.53
(gdb) bt
#0  0x00007ffff6b8202a in avformat_open_input () from /usr/lib64/libavformat.so.53
#1  0x0000000000400e51 in main (argc=2, argv=0x7fffffffe248) at libav-bitrate.c:76
(gdb

MKV:

$ gdb /usr/local/bin/libav-bitrate
GNU gdb (Gentoo 7.3.1 p2) 7.3.1
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
For bug reporting instructions, please see:
<http://bugs.gentoo.org/>...
Reading symbols from /usr/local/bin/libav-bitrate...done.
(gdb) run /tmp/sample-001.mkv
Starting program: /usr/local/bin/libav-bitrate /tmp/sample-001.mkv
warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff6b8202a in avformat_open_input () from /usr/lib64/libavformat.so.53
(gdb) bt
#0  0x00007ffff6b8202a in avformat_open_input () from /usr/lib64/libavformat.so.53
#1  0x0000000000400e51 in main (argc=2, argv=0x7fffffffe258) at libav-bitrate.c:76
(gdb)
silicontrip commented 11 years ago

Looks like there is something strange with the way that libavformat has been built on your machine. Or there is a bug in that version. I'm using v0.8-3358-g7b556be which I cloned from git a couple of days ago.

I've just tested your .ts file;

essmark/Volumes/MARKESS/Movies% ~/Developer/lavtools/libav-bitrate sd_2002_Rekrut_trailer_mp2.ts [mpegts @ 0x10303f000] max_analyze_duration reached Input #0, mpegts, from 'sd_2002_Rekrut_trailer_mp2.ts': Duration: 00:02:05.95, start: 600.000000, bitrate: 3863 kb/s Program 1 Stream #0.0[0x1011]: Video: mpeg2video (Main), yuv420p, 720x576 [PAR 64:45 DAR 16:9], 104857 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc Stream #0.1[0x1100]: Audio: mp2, 48000 Hz, 2 channels, s16, 320 kb/s Video Stream: 0 Frame Rate: 25 0 1.4302e+06 1.4302e+06 0 0.04 2.848e+06 2.464e+06 384000 ...

I'm not sure how to help at the moment.

Nikoli commented 11 years ago

I use libav from gentoo portage tree (main repo), passes all tests. I can provide full build.log (including ./configure) and environ. Will it help?

silicontrip commented 11 years ago

Maybe I'm doing something unexpected. I'll see what I can find out.

silicontrip commented 11 years ago

I think I've found something that could cause your crash. Let me know if this solves it.

Nikoli commented 11 years ago

Works fine, thank you! Hardened too. There are no warnings when building libav-bitrate. :)