1 |
On Sat, 09 Feb 2013 15:12:15 +0100 |
2 |
Luca Barbato <lu_zero@g.o> wrote: |
3 |
|
4 |
> On 08/02/13 22:46, Alexis Ballier wrote: |
5 |
> > On Fri, 08 Feb 2013 22:41:04 +0100 |
6 |
> > Maciej Mrozowski <reavertm@×××××.com> wrote: |
7 |
> > |
8 |
> >> On Thursday 07 of February 2013 06:52:44 Peter Stuge wrote: |
9 |
> >> |
10 |
> >>> Tomáš Chvátal wrote: |
11 |
> >>>> we as gentoo will provide both while preffered default will be |
12 |
> >>>> what major distros use. |
13 |
> >>> |
14 |
> >>> What kind of careless mainstream attitude is that? Really? |
15 |
> >> |
16 |
> >> Quite the opposite, decision to use implementation A over B was |
17 |
> >> taken with utmost care for user in mind. |
18 |
> > |
19 |
> > Not really. I was promised a discussion that hasn't happened yet. |
20 |
> |
21 |
> I'm available for discussion anytime, I got a little busy in the past |
22 |
> days and I will busy the next 3 days, but I should be available today |
23 |
> evening or now. |
24 |
|
25 |
Sorry, I was away this week end... |
26 |
|
27 |
> I stated already what I think about the whole discussion in a blog |
28 |
> post. |
29 |
|
30 |
I'm not fond of discussions via blog posts and do not think it is |
31 |
the right media. I wrote one only to make it clear the decision was |
32 |
not anything near a general consensus, when Tomás made it sound like it |
33 |
was. |
34 |
|
35 |
> To summarize it my take is quite simple, Libav leads the way regarding |
36 |
> the main API, |
37 |
|
38 |
This is only because libav people do not care at all about what FFmpeg |
39 |
defines, while FFmpeg seems to care more about its consumers and users |
40 |
by trying to provide a compatible ABI and API. Moreover, this is not |
41 |
true at all when it comes to the parts where supporting both forks is |
42 |
painful: libavfilter and audio resampling. It is pretty clear that the |
43 |
audio resampling wheel was reinvented on the libav part, with a |
44 |
different library name and in 95% of its use cases going from ffmpeg's |
45 |
audio resampling to libav's is mainly a matter of 'sed s/swr/avr/'. |
46 |
Some parts of libavfilter also appeared later in libav, sometimes with |
47 |
a slightly different API, making it really awful to support both forks |
48 |
in applications. |
49 |
(I'm still looking forward a patch for xbmc and upstreamed patches for |
50 |
mplayer btw) |
51 |
|
52 |
> it offers a more compact surface for attacks if you are |
53 |
> really concerned about security and usually it is a little more |
54 |
> compact |
55 |
|
56 |
If you mean that ffmpeg is libav + ffmpeg additions, then yes. |
57 |
However, if you are concerned by a more compact surface, then libav is |
58 |
not the right answer: you can very well disable selected codecs, |
59 |
(de)muxers, etc at build time. I even started to work on reflecting this |
60 |
into an ebuild some years ago before reaching the conclusion that it |
61 |
would be confusing for little to no gain. This can of course be done if |
62 |
there is some demand, but so far I have not seen any. |
63 |
|
64 |
It is funny to see how libav ignores completely ffmpeg even for |
65 |
bugfixes, I stumbled over this recently and it sounded familiar: |
66 |
http://git.libav.org/?p=libav.git;a=commitdiff;h=89f11f498b9c15bc71494a11a7ec560f4adf630d |
67 |
vs |
68 |
http://git.videolan.org/?p=ffmpeg.git;a=commitdiff;h=1af91978dbab35ba9fdede187577c00d643ae33b |
69 |
now, you can look at the dates, there's a one year lag in libav for |
70 |
reinventing the same bugfix. This is for a format almost nobody uses, |
71 |
but in any case I do not consider this attitude sane. |
72 |
|
73 |
> and a bit more tested over a wider range of architectures. |
74 |
|
75 |
If you are talking about fate, then I cannot comment. fate started |
76 |
before the split, so I assume the owners of said test machines took |
77 |
them within their respective fork. |
78 |
|
79 |
> I'm not for removing ffmpeg overnight since there are features that |
80 |
> might be of use and I'm not so hypocrite to value diversity only when |
81 |
> it is in favor of my interests. |
82 |
|
83 |
Nobody talked about removing anything :) |
84 |
|
85 |
> That said as long the two project are compatible having one or another |
86 |
> as default is just a matter of making our life easier. |
87 |
|
88 |
I fully agree there, but you should be careful with who you include in |
89 |
'our'. In the case of a default then it is clearly 'the users'. Now, |
90 |
considering there are a couple (very few) of packages that do not |
91 |
compile with libav, do you consider having it as default a good idea? |
92 |
Those packages can very well be fixed, but if patches do not go |
93 |
upstream, this is not going to work in the long term. Also, the only |
94 |
reason why I have not pinned those packages to depend only on |
95 |
media-video/ffmpeg is because libav is not the default (not entirely |
96 |
true btw, see later), meaning those that use libav are those that are |
97 |
willing to help and know what they are doing. If people are to get |
98 |
libav by default and then hit compile failures to be told to use |
99 |
ffmpeg, then it is QA 101 that these packages should be depending on |
100 |
media-video/ffmpeg. |
101 |
|
102 |
[...] |
103 |
> Few large projects such as VLC and Gstreamer switched to Libav as |
104 |
> their default. |
105 |
|
106 |
... and chrome, mplayer, xbmc use ffmpeg :=) |
107 |
also as I said in another email, I have yet to see a libav based vlc |
108 |
release. |
109 |
|
110 |
> Since Libav is the no-frills variant, notwithstanding the interesting |
111 |
> campaign of "we have more security11ein!" less stuff should break |
112 |
> since it is usually more tested and once we gather the samples |
113 |
> triggering a crash usually we do not stop preventing that single |
114 |
> crash but the whole class of possible defect (see my work on mov as |
115 |
> an example). |
116 |
|
117 |
Probably true, but I still consider a quick fix disabling the |
118 |
vulnerability to be released quickly is a good thing. A complete |
119 |
rework and fix can be done later, but users should not be exposed for |
120 |
the sake of being perfect. That is what happens with FFmpeg merging from |
121 |
libav. It is, however, sad and annoying to see it done like that |
122 |
(claiming having fixed it and then having a better fix coming from |
123 |
those you first claimed you were better). |
124 |
|
125 |
[...] |
126 |
> I hope somebody not Libav nor FFmpeg committer could come up with a |
127 |
> pros-cons list. |
128 |
|
129 |
By the way, I do not know why you still consider me a FFmpeg committer, |
130 |
of course I can git clone and commit but someone has to push for me. |
131 |
You should probably search me in FFmpeg's git log, the only things I |
132 |
have done is the usual downstream patches going upstream and writing, |
133 |
years before the split, a qtrle encoder I needed for some course I was |
134 |
teaching. |
135 |
Also, I never understood why you consider Tomás to be neutral: He has |
136 |
been playing with libav almost from day 1, adding the virtual/ffmpeg |
137 |
mess (which was solved since then but it was a real mess wrt useflags), |
138 |
made mplayer use libav as its internal version in our ebuilds despite |
139 |
upstream using ffmpeg (the point of the internal version is to be the |
140 |
same as upstream, so I had to finally do the only sane thing by making |
141 |
it use external ffmpeg, and then nobody cared about porting it to libav |
142 |
until very recently), introduced the libpostproc mess and subtly used |
143 |
the need to change some packages' deps to put libav as the leftmost |
144 |
choice (ie default), insulted me because I did the work of porting a |
145 |
package to recent ffmpeg versions while not understanding this leaves |
146 |
only little work to also support recent libav versions... |
147 |
|
148 |
These two posts are interesting for anyone wanting to understand the |
149 |
situation also (1st more from ffmpeg side and 2nd more from libav's): |
150 |
http://blog.pkh.me/p/13-the-ffmpeg-libav-situation.html |
151 |
http://codecs.multimedia.cx/?p=370 |
152 |
|
153 |
Alexis. |