[FFmpeg-devel] [PATCH] Default to using libraries when enabled

Ivan Kalvachev ikalvachev
Sun Jun 14 01:47:05 CEST 2009


On 6/12/09, David Conrad <lessen42 at gmail.com> wrote:
> On Jun 11, 2009, at 5:43 AM, Ivan Kalvachev wrote:
>
>> On 6/11/09, David Conrad <lessen42 at gmail.com> wrote:
>>> On May 31, 2009, at 9:20 PM, David Conrad wrote:
>>>
>>>> On May 28, 2009, at 6:50 AM, M?ns Rullg?rd wrote:
>>>>
>>>>> Diego Biurrun <diego at biurrun.de> writes:
>>>>>
>>>>>> On Thu, May 28, 2009 at 11:33:44AM +0100, M?ns Rullg?rd wrote:
>>>>>>> Diego Biurrun <diego at biurrun.de> writes:
>>>>>>>
>>>>>>>> On Wed, May 20, 2009 at 08:20:36PM -0400, David Conrad wrote:
>>>>>>>>>
>>>>>>>>> This changes the order of initialization so that external
>>>>>>>>> libraries
>>>>>>>>> that are enabled are used by default over native codecs.
>>>>>>>>
>>>>>>>> I did this on purpose, native implementations should be
>>>>>>>> preferred.
>>>>>>>
>>>>>>> Even when the native implementations are worse than using /dev/
>>>>>>> random?
>>>>>>
>>>>>> Then that native implementation should be removed or treated
>>>>>> separately.
>>>>>
>>>>> So, who's in favour of removing/disabling the native vorbis
>>>>> bitstream
>>>>> writer?
>>>>
>>>> Well I haven't heard anyone object, so I'll disable it in a week if
>>>> noone pipes up. The code will still be in svn for anyone that wants
>>>> to revive it.
>>>
>>> I went ahead and disabled the encoder with Diego's suggestions;
>>> it's a
>>> one line change if anyone wants to revive it in the future, but for
>>> now noone should be confused as to why they get so low quality with
>>> Vorbis.
>>
>> Sorry for coming late.
>>
>> I don't like that trend. The vorbis encoder is not the only encoder
>> that produces
>> worse quality than alternative tools. This applies to mp2, ac3, and
>> probably
>> any other audio and video encoder.
>>
>> I thought it is ffmpeg policy to don't babysit users.
>
> The difference is that the other encoders in svn produce acceptably
> good output, even if other tools produce better output. The vorbis
> encoder produced rather awful output (I've heard reports that it
> introduced crackling and pops in some cases in addition to sounding
> awful), and I'm not aware of anyone that used the native vorbis

Can you please point out the roundup entries describing these problems?
I hope there are also test samples, that could be used to reproduce them.
Honestly, this is the first time I hear about them.

I can say that I've heard ac3 encoder produce nothing but white noise.
I haven't tried to debug it, because it wasn't on my system , it was some
random win32 build, i didn't got sample  and I'm not really into audio coding.
I just remember it somehow was related to sampling rate.

The point is, if bug can't be reproduced, it doesn't exist.

> encoder on purpose, nor anyone who would want to use it over
> libvorbis. Plus, the only other native encoder for which there is also
> a competing --enable-lib is mpeg4.

Ones again. I thought it is not FFmpeg policy to babysit and spoon-feed users.
If they have no clue what are they doing, then shouldn't be doing it.

Or to quote a quote - it's like "the old UNIX philosophy of giving people rope,
and letting them hang themselves with it if they want to".

> IMO, the vorbis encoder was a special case due to how bad it was (thus
> its disabling), and is a good argument for not accepting other
> encoders until they produce about as good (ideally better) output as
> other widely used open source encoders (e.g. the old h264 patch, aac
> encoder, etc.)

I think this is wrong mentality altogether.
Every oss project advances by small evolutionary steps.
First you need something working, then you make it work better and better.
If you wait somebody to make the best encoder out of thin air,
you'd never get anything.

I can't pinpoint single issue, but ffmpeg encoders are in sorry state.
I can say that very few people are working on improving
encoders and even fewer developers actually use them regularly.
Maybe the policy is too strict and few bits could be relaxed.
Maybe even skilled developers have problem figuring out
how existing encoders work.
Maybe there is not enough motivation to work on encoders.

Maybe removing libvorbis support from ffmpeg
would be better way to encourage people to
port its psy model into ffmpeg.



More information about the ffmpeg-devel mailing list