[arch-commits] Commit in blender/trunk (D8355-ffmpeg43.patch)

Sven-Hendrik Haase svenstaro at archlinux.org
Wed Aug 5 09:09:10 UTC 2020


    Date: Wednesday, August 5, 2020 @ 09:09:09
  Author: svenstaro
Revision: 669164

Remove old ffmpeg 4.3 patch

Deleted:
  blender/trunk/D8355-ffmpeg43.patch

----------------------+
 D8355-ffmpeg43.patch |   35 -----------------------------------
 1 file changed, 35 deletions(-)

Deleted: D8355-ffmpeg43.patch
===================================================================
--- D8355-ffmpeg43.patch	2020-08-05 09:08:53 UTC (rev 669163)
+++ D8355-ffmpeg43.patch	2020-08-05 09:09:09 UTC (rev 669164)
@@ -1,35 +0,0 @@
-diff --git a/source/blender/imbuf/intern/anim_movie.c b/source/blender/imbuf/intern/anim_movie.c
---- a/source/blender/imbuf/intern/anim_movie.c
-+++ b/source/blender/imbuf/intern/anim_movie.c
-@@ -1205,7 +1205,29 @@
-   }
- 
-   IMB_freeImBuf(anim->last_frame);
--  anim->last_frame = IMB_allocImBuf(anim->x, anim->y, 32, IB_rect);
-+
-+  /* Certain versions of FFmpeg have a bug in libswscale which ends up in crash
-+   * when destination buffer is not properly aligned. For example, this happens
-+   * in FFmpeg 4.3.1. It got fixed later on, but for compatibility reasons is
-+   * still best to avoid crash.
-+   *
-+   * This is achieved by using own allocation call rather than relying on
-+   * IMB_allocImBuf() to do so since the IMB_allocImBuf() is not guaranteed
-+   * to perform aligned allocation.
-+   *
-+   * In theory this could give better performance, since SIMD operations on
-+   * aligned data are usually faster.
-+   *
-+   * Note that even though sometimes vertical flip is required it does not
-+   * affect on alignment of data passed to sws_scale because if the X dimension
-+   * is not 32 byte aligned special intermediate buffer is allocated.
-+   *
-+   * The issue was reported to FFmpeg under ticket #8747 in the FFmpeg tracker
-+   * and is fixed in the newer versions than 4.3.1. */
-+  anim->last_frame = IMB_allocImBuf(anim->x, anim->y, 32, 0);
-+  anim->last_frame->rect = MEM_mallocN_aligned((size_t)4 * anim->x * anim->y, 32, "ffmpeg ibuf");
-+  anim->last_frame->mall |= IB_rect;
-+
-   anim->last_frame->rect_colorspace = colormanage_colorspace_get_named(anim->colorspace);
- 
-   ffmpeg_postprocess(anim);
-


More information about the arch-commits mailing list