X-Git-Url: https://cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fthirdparty%2Fsrc%2Fffmpeg-4.2.patch5;fp=cinelerra-5.1%2Fthirdparty%2Fsrc%2Fffmpeg-4.2.patch5;h=0584b3991776bd78471d5e491bdf9fbc40c10e5b;hb=8e67d840c5a93f77de021102a4f0bfc4e07504f4;hp=0000000000000000000000000000000000000000;hpb=b350aa5a1ccbadcb5f794183c443c0738cd1e9ab;p=goodguy%2Fcinelerra.git diff --git a/cinelerra-5.1/thirdparty/src/ffmpeg-4.2.patch5 b/cinelerra-5.1/thirdparty/src/ffmpeg-4.2.patch5 new file mode 100644 index 00000000..0584b399 --- /dev/null +++ b/cinelerra-5.1/thirdparty/src/ffmpeg-4.2.patch5 @@ -0,0 +1,29 @@ +diff -ru a/libavfilter/formats.c b/libavfilter/formats.c +--- a/libavfilter/formats.c 2019-07-08 11:45:25.000000000 -0600 ++++ b/libavfilter/formats.c 2019-08-08 18:20:27.709164671 -0600 +@@ -107,11 +107,13 @@ + possibly causing a lossy conversion elsewhere in the graph. + To avoid that, pretend that there are no common formats to force the + insertion of a conversion filter. */ +- if (type == AVMEDIA_TYPE_VIDEO) +- for (i = 0; i < a->nb_formats; i++) ++ if (type == AVMEDIA_TYPE_VIDEO) { ++ for (i = 0; i < a->nb_formats; i++) { ++ const AVPixFmtDescriptor *adesc = av_pix_fmt_desc_get(a->formats[i]); ++ if( !adesc ) continue; + for (j = 0; j < b->nb_formats; j++) { +- const AVPixFmtDescriptor *adesc = av_pix_fmt_desc_get(a->formats[i]); + const AVPixFmtDescriptor *bdesc = av_pix_fmt_desc_get(b->formats[j]); ++ if( !bdesc ) continue; + alpha2 |= adesc->flags & bdesc->flags & AV_PIX_FMT_FLAG_ALPHA; + chroma2|= adesc->nb_components > 1 && bdesc->nb_components > 1; + if (a->formats[i] == b->formats[j]) { +@@ -119,6 +121,8 @@ + chroma1|= adesc->nb_components > 1; + } + } ++ } ++ } + + // If chroma or alpha can be lost through merging then do not merge + if (alpha2 > alpha1 || chroma2 > chroma1)