On Sun, 22 Apr 2018, wm4 wrote:

On Sun, 22 Apr 2018 13:24:11 +0200 (CEST)
Marton Balint <c...@passwd.hu> wrote:

On Fri, 20 Apr 2018, wm4 wrote:

> On Thu, 19 Apr 2018 23:25:03 +0200
> Marton Balint <c...@passwd.hu> wrote:
> >> Signed-off-by: Marton Balint <c...@passwd.hu>
>> ---
>>  doc/APIchanges            | 3 +++
>>  libavutil/pixdesc.c       | 3 +--
>>  libavutil/pixdesc.h       | 8 ++------
>>  libavutil/tests/pixdesc.c | 4 ----
>>  libavutil/version.h       | 2 +-
>>  5 files changed, 7 insertions(+), 13 deletions(-)
>> >> diff --git a/doc/APIchanges b/doc/APIchanges
>> index 4f6ac2a031..d9b457e080 100644
>> --- a/doc/APIchanges
>> +++ b/doc/APIchanges
>> @@ -15,6 +15,9 @@ libavutil:     2017-10-21
>>
>>  API changes, most recent first:
>> >> +2018-04-xx - xxxxxxxxxx - lavu 56.16.100 - pixdesc.h
>> +  Add AV_PIX_FMT_FLAG_ALPHA to AV_PIX_FMT_PAL8.
>> +
[..]

>
> Probably fine. While I like it, we also have to be careful about the
> consequences. Does it change FATE or the results of that pixfmt choosing
> function, avcodec_find_best_pix_fmt_of_list()? Fate passes. I am not sure about avcodec_find_best_pix_fmt_of_list(), but since pixdesc_has_alpha() in avutil/pixdesc.c already considered PAL8 as a format with alpha, I don't think it changes.

Oh, interesting point. So this whole discussion is moot anyway, since
it always suggested RGBA when converting PAL8 to a non-paletted RGB
format?

Only if has_alpha was true when the user called avcodec_find_best_pix_fmt_of_list() or av_find_best_pix_fmt_of_2().

For avfiltergraph format negotiation or for ffmpeg.c automatic codec pixel format selection, pal8 was not considered as a format with alpha (nb_components % 2 == 0 check was used), so they called av_find_best_pix_fmt_of_2() with has_alpha=false, therefore alpha loss was not penalized. A subsequent patch takes care of that.

Regards,
Marton
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to