mashruq / damnvid

Automatically exported from code.google.com/p/damnvid
GNU General Public License v3.0
1 stars 0 forks source link

current configure line make ffmpeg unredistributable #101

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
The configure line used in current ubuntu and debian packages of ffmpeg-damnvid 
makes the binary unredistributable:

./configure --enable-memalign-hack --enable-libxvid --enable-libx264 
--enable-libfaac --enable-libfaad --enable-libmp3lame --enable-libvorbis 
--enable-libtheora --enable-pthreads --enable-gpl --enable-postproc 
--enable-static --disable-shared --extra-cflags=--static --disable-ffplay 
--disable-ffserver --extra-ldflags=-L/usr/lib --extra-cflags=-I/usr/include 
--extra-libs=/usr/lib/libfaac.a --extra-libs=/usr/lib/libfaad.a 
--extra-libs=/usr/lib/libmp3lame.a --extra-libs=/usr/lib/libogg.a 
--extra-libs=/usr/lib/libx264.a --extra-libs=/usr/lib/libxvidcore.a 
--extra-libs=/usr/lib/libogg.a --extra-libs=/usr/lib/libtheora.a 
--extra-libs=/usr/lib/libvorbis.a --enable-nonfree --enable-swscale 
--enable-zlib
install prefix            /usr/local
source path               /build/buildd/ffmpeg-damnvid-0.5.1+svn23150
C compiler                gcc
.align is power-of-two    no
ARCH                      x86 (generic)
big-endian                no
runtime cpu detection     no
yasm                      no
MMX enabled               yes
MMX2 enabled              yes
3DNow! enabled            yes
3DNow! extended enabled   yes
SSE enabled               yes
SSSE3 enabled             yes
CMOV enabled              no
CMOV is fast              no
EBX available             yes
EBP available             no
10 operands supported     yes
gprof enabled             no
debug symbols             yes
strip symbols             yes
optimizations             yes
static                    yes
shared                    no
postprocessing support    yes
new filter support        yes
filters using lavformat   no
network support           yes
threading support         pthreads
SDL support               no
Sun medialib support      no
AVISynth enabled          no
libdc1394 support         no
libdirac enabled          no
libfaac enabled           yes
libfaad enabled           yes
libfaad dlopened          no
libgsm enabled            no
libmp3lame enabled        yes
libnut enabled            no
libopencore-amrnb support no
libopencore-amrwb support no
libopenjpeg enabled       no
librtmp enabled           no
libschroedinger enabled   no
libspeex enabled          no
libtheora enabled         yes
libvorbis enabled         yes
libx264 enabled           yes
libxvid enabled           yes
zlib enabled              yes
bzlib enabled             no

Enabled decoders:
aac         dxa         msmpeg4v2
aasc            eac3            msmpeg4v3
ac3         eacmv           msrle
adpcm_4xm       eamad           msvideo1
adpcm_adx       eatgq           mszh
adpcm_ct        eatgv           nellymoser
adpcm_ea        eatqi           nuv
adpcm_ea_maxis_xa   eightbps        pam
adpcm_ea_r1     eightsvx_exp        pbm
adpcm_ea_r2     eightsvx_fib        pcm_alaw
adpcm_ea_r3     escape124       pcm_bluray
adpcm_ea_xas        ffv1            pcm_dvd
adpcm_g726      ffvhuff         pcm_f32be
adpcm_ima_amv       flac            pcm_f32le
adpcm_ima_dk3       flashsv         pcm_f64be
adpcm_ima_dk4       flic            pcm_f64le
adpcm_ima_ea_eacs   flv         pcm_mulaw
adpcm_ima_ea_sead   fourxm          pcm_s16be
adpcm_ima_iss       fraps           pcm_s16le
adpcm_ima_qt        frwu            pcm_s16le_planar
adpcm_ima_smjpeg    gif         pcm_s24be
adpcm_ima_wav       h261            pcm_s24daud
adpcm_ima_ws        h263            pcm_s24le
adpcm_ms        h263i           pcm_s32be
adpcm_sbpro_2       h264            pcm_s32le
adpcm_sbpro_3       huffyuv         pcm_s8
adpcm_sbpro_4       idcin           pcm_u16be
adpcm_swf       iff_byterun1        pcm_u16le
adpcm_thp       iff_ilbm        pcm_u24be
adpcm_xa        imc         pcm_u24le
adpcm_yamaha        indeo2          pcm_u32be
alac            indeo3          pcm_u32le
als         indeo5          pcm_u8
amrnb           interplay_dpcm      pcm_zork
amv         interplay_video     pcx
anm         jpegls          pgm
ape         kgv1            pgmyuv
asv1            kmvc            pgssub
asv2            libfaad         png
atrac1          loco            ppm
atrac3          mace3           ptx
aura            mace6           qcelp
aura2           mdec            qdm2
avs         mimic           qdraw
bethsoftvid     mjpeg           qpeg
bfi         mjpegb          qtrle
bink            mlp         r210
binkaudio_dct       mmvideo         ra_144
binkaudio_rdft      motionpixels        ra_288
bmp         mp1         rawvideo
c93         mp1float        rl2
cavs            mp2         roq
cdgraphics      mp2float        roq_dpcm
cinepak         mp3         rpza
cljr            mp3adu          rv10
cook            mp3adufloat     rv20
cscd            mp3float        rv30
cyuv            mp3on4          rv40
dca         mp3on4float     sgi
dnxhd           mpc7            shorten
dpx         mpc8            sipr
dsicinaudio     mpeg1video      smackaud
dsicinvideo     mpeg2video      smacker
dvbsub          mpeg4           smc
dvdsub          mpegvideo       snow
dvvideo         msmpeg4v1       sol_dpcm
sonic           txd         wavpack
sp5x            ulti            wmapro
sunrast         v210            wmav1
svq1            v210x           wmav2
svq3            vb          wmavoice
targa           vc1         wmv1
theora          vcr1            wmv2
thp         vmdaudio        wmv3
tiertexseqvideo     vmdvideo        wnv1
tiff            vmnc            ws_snd1
tmv         vorbis          xan_dpcm
truehd          vp3         xan_wc3
truemotion1     vp5         xl
truemotion2     vp6         xsub
truespeech      vp6a            yop
tscc            vp6f            zlib
tta         vqa         zmbv
twinvq

Enabled encoders:
aac         libx264         pcm_u32be
ac3         libxvid         pcm_u32le
adpcm_adx       ljpeg           pcm_u8
adpcm_g726      mjpeg           pcm_zork
adpcm_ima_qt        mp2         pcx
adpcm_ima_wav       mpeg1video      pgm
adpcm_ms        mpeg2video      pgmyuv
adpcm_swf       mpeg4           png
adpcm_yamaha        msmpeg4v1       ppm
alac            msmpeg4v2       qtrle
asv1            msmpeg4v3       rawvideo
asv2            nellymoser      roq
bmp         pam         roq_dpcm
dnxhd           pbm         rv10
dvbsub          pcm_alaw        rv20
dvdsub          pcm_f32be       sgi
dvvideo         pcm_f32le       snow
ffv1            pcm_f64be       sonic
ffvhuff         pcm_f64le       sonic_ls
flac            pcm_mulaw       svq1
flashsv         pcm_s16be       targa
flv         pcm_s16le       tiff
gif         pcm_s24be       v210
h261            pcm_s24daud     vorbis
h263            pcm_s24le       wmav1
h263p           pcm_s32be       wmav2
huffyuv         pcm_s32le       wmv1
jpegls          pcm_s8          wmv2
libfaac         pcm_u16be       xsub
libmp3lame      pcm_u16le       zlib
libtheora       pcm_u24be       zmbv
libvorbis       pcm_u24le

Enabled hwaccels:

Enabled parsers:
aac         dvdsub          mpeg4video
ac3         h261            mpegaudio
cavsvideo       h263            mpegvideo
dca         h264            pnm
dirac           mjpeg           vc1
dnxhd           mlp         vp3
dvbsub

Enabled demuxers:
aac         image2pipe      pcm_u16le
ac3         ingenient       pcm_u24be
aea         ipmovie         pcm_u24le
aiff            iss         pcm_u32be
amr         iv8         pcm_u32le
anm         lmlm4           pcm_u8
apc         m4v         pva
ape         matroska        qcp
asf         mjpeg           r3d
ass         mlp         rawvideo
au          mm          rl2
avi         mmf         rm
avs         mov         roq
bethsoftvid     mp3         rpl
bfi         mpc         rtsp
bink            mpc8            sdp
c93         mpegps          segafilm
caf         mpegts          shorten
cavsvideo       mpegtsraw       siff
cdg         mpegvideo       smacker
daud            msnwc_tcp       sol
dirac           mtv         sox
dnxhd           mvi         str
dsicin          mxf         swf
dts         nc          thp
dv          nsv         tiertexseq
dxa         nut         tmv
ea          nuv         truehd
ea_cdata        ogg         tta
eac3            oma         txd
ffm         pcm_alaw        vc1
filmstrip       pcm_f32be       vc1t
flac            pcm_f32le       vmd
flic            pcm_f64be       voc
flv         pcm_f64le       vqf
fourxm          pcm_mulaw       w64
gsm         pcm_s16be       wav
gxf         pcm_s16le       wc3
h261            pcm_s24be       wsaud
h263            pcm_s24le       wsvqa
h264            pcm_s32be       wv
idcin           pcm_s32le       xa
iff         pcm_s8          yop
image2          pcm_u16be       yuv4mpegpipe

Enabled muxers:
ac3         m4v         pcm_s16be
adts            matroska        pcm_s16le
aiff            matroska_audio      pcm_s24be
amr         mjpeg           pcm_s24le
asf         mlp         pcm_s32be
asf_stream      mmf         pcm_s32le
ass         mov         pcm_s8
au          mp2         pcm_u16be
avi         mp3         pcm_u16le
avm2            mp4         pcm_u24be
crc         mpeg1system     pcm_u24le
daud            mpeg1vcd        pcm_u32be
dirac           mpeg1video      pcm_u32le
dnxhd           mpeg2dvd        pcm_u8
dts         mpeg2svcd       psp
dv          mpeg2video      rawvideo
eac3            mpeg2vob        rm
ffm         mpegts          roq
filmstrip       mpjpeg          rtp
flac            mxf         rtsp
flv         mxf_d10         sox
framecrc        null            spdif
gif         nut         swf
gxf         ogg         tg2
h261            pcm_alaw        tgp
h263            pcm_f32be       truehd
h264            pcm_f32le       vc1t
image2          pcm_f64be       voc
image2pipe      pcm_f64le       wav
ipod            pcm_mulaw       yuv4mpegpipe

Enabled protocols:
concat          rtmp            rtmpte
file            rtmpe           rtp
gopher          rtmps           tcp
http            rtmpt           udp
pipe

Enabled filters:
aspect          null            scale
buffer          nullsink        slicify
crop            nullsrc         unsharp
format          pad         vflip
noformat        pixelaspect

Enabled bsfs:
aac_adtstoasc       mjpega_dump_header  noise
dump_extradata      mov2textsub     remove_extradata
h264_mp4toannexb    mp3_header_compress text2movsub
imx_dump_header     mp3_header_decompress

Enabled indevs:
dv1394          v4l         v4l2
oss

Enabled outdevs:
oss

License: nonfree and unredistributable

This should be fixed by the next release. We are probably violating some kind 
of licence or patent by distributing this in binary form…

Original issue reported on code.google.com by anot...@gmail.com on 27 Jul 2010 at 11:07

GoogleCodeExporter commented 8 years ago
I remeber seeing this when I first built the package, and I think perhaps you 
commented on it too? But right then I was to exited about finally getting the 
damn think to compile to care about it...

Original comment by anot...@gmail.com on 27 Jul 2010 at 11:10

GoogleCodeExporter commented 8 years ago
Yes, I said that's why DamnVid uses old ffmpeg builds that were redistributable 
with this configure line, which is still true for the Mac and Windows versions.

I don't really think there's a way around it other than doing the same (using 
an old ffmpeg build), or perhaps building ffmpeg from source manually when the 
package is installing (but that would take a long while, a lot of CPU, and piss 
off users)... or maybe asking the user to download it manually, like Audacity 
does with libmp3lame, but that's also very, very annoying for the user 
(seriously, having software asking you to Google the name of a DLL file and 
download it is just a pain).

I'm no lawyer but I find this whole situation pretty ridiculous... It's only 
causing harm, legal FUD, and stifles software innovation as a result.

Marking priority as low because there have been no complaints so far... And 
marking as OpSys-All because all OSes are affected.

Original comment by windypo...@gmail.com on 27 Jul 2010 at 11:39

GoogleCodeExporter commented 8 years ago
Fine. I'll investigate further when the Debian repo is finished.

Original comment by anot...@gmail.com on 28 Jul 2010 at 5:56

GoogleCodeExporter commented 8 years ago
it's unredistributable because of libfaac.

btw why are there so many configure flags?
- memalign-hack is only needed for 32-bit windows.
- all the --extra-libs=/usr/lib/xxx.a seem unnecessary since the linker will 
already look in /usr/lib for them
- libpostproc is never needed for ffmpeg itself, it's only needed if you 
explicitly make use of it in your program
- --extra-cflags=--static is unnecessary
- adding /usr/lib to ldflags and /usr/include to cflags does nothing, the 
compiler already searches there (unless you're using some very bizarrely 
configured compiler)

Original comment by ramiro.p...@gmail.com on 17 Dec 2010 at 12:14

GoogleCodeExporter commented 8 years ago
I did have a very bizarre environment, because I was compiling it within MSys 
on Windows and copypasted the line I used from there. All the libs directories 
weren't defined... Anyway, those flags don't really matter; the point is mostly 
the --enable-lib* flags. libfaac in particular is required for iPod-compatible 
videos, which is a very popular feature... It might also work using the MP3 
codec, but I don't have an iPod to test that.

Original comment by windypo...@gmail.com on 17 Dec 2010 at 12:32