[FFmpeg-devel] [PATCH] ffmpeg: raise level for message printed in case of auto-select pixel format

Nicolas George nicolas.george at normalesup.org
Tue Jul 30 23:48:37 CEST 2013


Le duodi 12 thermidor, an CCXXI, Michael Niedermayer a écrit :
> i think that 90% of the users dont know if they want 420 or
> 444 h264.

They do not know if they want 420 or 444, I grant you that of course, but I
believe they know whether they want the highest possible quality or
compatibility with crappy players. They just need to learn that they can not
have both.

> IMO software (and hardware) should just work, not _require_
> complicated manual tweaking for the common use cases.

It is not possible in all cases. You can use scissors without manual
tweaking, because cutting paper is a simple task. You can not expect to fly
a plane without manual tweaking.

Pixel format selection is a pebble on the beach of all things that have to
be taken care of to get proper results in video transcoding: resolution (and
aspect ratio! how many videos with wrong aspect ratio on the loose?),
deinterleaving (how many videos with ugly comb effect?), codec,
bitrate/quality selection, container format, etc.

> if it fails with a warning that many users accessing it through a GUI
> wont see and thuse who do see it and dont miss it maybe wont fully
> understand it without educating themselfs on it to make a decission.

That is the GUI's author's problem.

> Its a bit as if when calling someone over the phone the phone would
> stay silent and display a message that it choose a protocol that might
> not be supported but would then be higher quality if it is supported
> and require manual intervention to get a working phone connection.

Your comparison is not valid, because the phone can negotiate the protocol
on the fly. ffmpeg can not know that you intend to use the file with your
stepmother's crappy player, and even less whether said player supports 444.

A more honest comparison would be if you go to a shop to buy a new phone.
Would you rather have the salesman say honestly "this one has a much better
sound quality, but there are problems when calling a few foreign countries",
rather than assume what countries you intend to call, or not call?

> The correct thing to do is to pick the more compatible choice by
> default if it cant be autodetected and leave users with the option
> to override it, change the default as they prefer

Well, we have a lot of users' complaints because of incompatible pixel
format, but when yuv420p was the default, we had a lot of users' complaints
because of "blurry edges" (we are talking about encoding from RGB, that
means a lot of screen captures) caused by the luma subsampling.

It is a shame, but we just can not have it both ways. Getting the users
state their intent is the best solution.

Regards,

-- 
  Nicolas George
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20130730/e48436ad/attachment.asc>


More information about the ffmpeg-devel mailing list