Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Ebb <matt@mke3.net>2010-01-26 05:49:30 +0300
committerMatt Ebb <matt@mke3.net>2010-01-26 05:49:30 +0300
commite6a23762da3f6b88da21669b7ae30c834ace2f55 (patch)
tree1c55bb97fbebe2755d22a7ccc0a484d323ed785e /source/blender/imbuf/intern
parentba2257b57e56cc410288756de491969f4e207985 (diff)
Fix [#20821] COLOR MANAGEMENT: Corrupts motion picture files
Wasn't tagging movie formats with profiles properly.
Diffstat (limited to 'source/blender/imbuf/intern')
-rw-r--r--source/blender/imbuf/intern/anim.c15
-rw-r--r--source/blender/imbuf/intern/anim5.c2
2 files changed, 14 insertions, 3 deletions
diff --git a/source/blender/imbuf/intern/anim.c b/source/blender/imbuf/intern/anim.c
index 1aaba620f3a..effc91739c0 100644
--- a/source/blender/imbuf/intern/anim.c
+++ b/source/blender/imbuf/intern/anim.c
@@ -504,6 +504,8 @@ static ImBuf * avi_fetchibuf (struct anim *anim, int position) {
MEM_freeN (tmp);
}
+ ibuf->profile = IB_PROFILE_SRGB;
+
return ibuf;
}
@@ -881,6 +883,8 @@ static ImBuf * ffmpeg_fetchibuf(struct anim * anim, int position) {
IMB_filtery(ibuf);
}
+ ibuf->profile = IB_PROFILE_SRGB;
+
return(ibuf);
}
@@ -1069,6 +1073,7 @@ struct ImBuf * IMB_anim_absolute(struct anim * anim, int position) {
if (nextanim5(anim)) return (0);
}
ibuf = anim5_fetchibuf(anim);
+ ibuf->profile = IB_PROFILE_SRGB;
break;
case ANIM_SEQUENCE:
pic = an_stringdec(anim->first, head, tail, &digits);
@@ -1089,22 +1094,26 @@ struct ImBuf * IMB_anim_absolute(struct anim * anim, int position) {
if (ibuf) {
anim->curposition = position;
IMB_convert_rgba_to_abgr(ibuf);
+ ibuf->profile = IB_PROFILE_SRGB;
}
break;
case ANIM_AVI:
ibuf = avi_fetchibuf(anim, position);
- if (ibuf) anim->curposition = position;
+ if (ibuf)
+ anim->curposition = position;
break;
#ifdef WITH_QUICKTIME
case ANIM_QTIME:
ibuf = qtime_fetchibuf(anim, position);
- if (ibuf) anim->curposition = position;
+ if (ibuf)
+ anim->curposition = position;
break;
#endif
#ifdef WITH_FFMPEG
case ANIM_FFMPEG:
ibuf = ffmpeg_fetchibuf(anim, position);
- if (ibuf) anim->curposition = position;
+ if (ibuf)
+ anim->curposition = position;
filter_y = 0; /* done internally */
break;
#endif
diff --git a/source/blender/imbuf/intern/anim5.c b/source/blender/imbuf/intern/anim5.c
index 43a6b0d2c5d..7aaaee36e9a 100644
--- a/source/blender/imbuf/intern/anim5.c
+++ b/source/blender/imbuf/intern/anim5.c
@@ -532,6 +532,8 @@ struct ImBuf * anim5_fetchibuf(struct anim * anim) {
ibuf = IMB_dupImBuf(anim->ibuf1);
planes_to_rect(ibuf, anim->ib_flags);
+ ibuf->profile = IB_PROFILE_SRGB;
+
return(ibuf);
}