[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [42017] trunk/blender/source/blender/imbuf /intern/anim_movie.c: Fix #29295: Problem with Alpha Channel video in Sequencer and textures
Sergey Sharybin
sergey.vfx at gmail.com
Sun Nov 20 17:26:37 CET 2011
Revision: 42017
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=42017
Author: nazgul
Date: 2011-11-20 16:26:37 +0000 (Sun, 20 Nov 2011)
Log Message:
-----------
Fix #29295: Problem with Alpha Channel video in Sequencer and textures
Bug was caused by workaround for old versions of FFmpeg which aren't supported
anymore due to pts stuff.
Removing workarounds for alpha channels.
Modified Paths:
--------------
trunk/blender/source/blender/imbuf/intern/anim_movie.c
Modified: trunk/blender/source/blender/imbuf/intern/anim_movie.c
===================================================================
--- trunk/blender/source/blender/imbuf/intern/anim_movie.c 2011-11-20 16:21:49 UTC (rev 42016)
+++ trunk/blender/source/blender/imbuf/intern/anim_movie.c 2011-11-20 16:26:37 UTC (rev 42017)
@@ -658,10 +658,6 @@
dst2,
dstStride2);
- /* workaround: sws_scale bug
- sets alpha = 0 and compensate
- for altivec-bugs and flipy... */
-
bottom = (unsigned char*) ibuf->rect;
top = bottom + ibuf->x * (ibuf->y-1) * 4;
@@ -672,17 +668,17 @@
unsigned char tmp[4];
unsigned int * tmp_l =
(unsigned int*) tmp;
- tmp[3] = 0xff;
for (x = 0; x < w; x++) {
tmp[0] = bottom[0];
tmp[1] = bottom[1];
tmp[2] = bottom[2];
+ tmp[3] = bottom[3];
bottom[0] = top[0];
bottom[1] = top[1];
bottom[2] = top[2];
- bottom[3] = 0xff;
+ bottom[3] = top[3];
*(unsigned int*) top = *tmp_l;
@@ -698,7 +694,6 @@
uint8_t* dst2[4] = { dst[0] + (anim->y - 1)*dstStride[0],
0, 0, 0 };
int i;
- unsigned char* r;
sws_scale(anim->img_convert_ctx,
(const uint8_t * const *)input->data,
@@ -707,17 +702,6 @@
anim->pCodecCtx->height,
dst2,
dstStride2);
-
- r = (unsigned char*) ibuf->rect;
-
- /* workaround sws_scale bug: older version of
- sws_scale set alpha = 0... */
- if (r[3] == 0) {
- for (i = 0; i < ibuf->x * ibuf->y; i++) {
- r[3] = 0xff;
- r += 4;
- }
- }
}
if (filter_y) {
More information about the Bf-blender-cvs
mailing list