diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2012-10-01 15:26:52 +0400 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2012-10-01 15:26:52 +0400 |
commit | 3e24c2546463a774ee10c915e3c8f8457f36290c (patch) | |
tree | 4134e99a1cd34a45be657bb9df441abd6a6fdc01 | |
parent | 1d7bf727ff50a9dc21de3c002311eb670fc680b4 (diff) |
Fix #32686: MovieClip background initialisaton error
Undistorted rendering with original footage settings does not require proxies to be enabled.
-rw-r--r-- | release/scripts/startup/bl_ui/space_clip.py | 31 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/movieclip.c | 18 |
2 files changed, 25 insertions, 24 deletions
diff --git a/release/scripts/startup/bl_ui/space_clip.py b/release/scripts/startup/bl_ui/space_clip.py index efac7a66086..b0e8a847084 100644 --- a/release/scripts/startup/bl_ui/space_clip.py +++ b/release/scripts/startup/bl_ui/space_clip.py @@ -790,42 +790,45 @@ class CLIP_PT_proxy(CLIP_PT_clip_view_panel, Panel): sc = context.space_data clip = sc.clip - layout.active = clip.use_proxy + col = layout.column() + col.active = clip.use_proxy - layout.label(text="Build Original:") + col.label(text="Build Original:") - row = layout.row(align=True) + row = col.row(align=True) row.prop(clip.proxy, "build_25", toggle=True) row.prop(clip.proxy, "build_50", toggle=True) row.prop(clip.proxy, "build_75", toggle=True) row.prop(clip.proxy, "build_100", toggle=True) - layout.label(text="Build Undistorted:") + col.label(text="Build Undistorted:") - row = layout.row(align=True) + row = col.row(align=True) row.prop(clip.proxy, "build_undistorted_25", toggle=True) row.prop(clip.proxy, "build_undistorted_50", toggle=True) row.prop(clip.proxy, "build_undistorted_75", toggle=True) row.prop(clip.proxy, "build_undistorted_100", toggle=True) - layout.prop(clip.proxy, "quality") + col.prop(clip.proxy, "quality") - layout.prop(clip, "use_proxy_custom_directory") + col.prop(clip, "use_proxy_custom_directory") if clip.use_proxy_custom_directory: - layout.prop(clip.proxy, "directory") + col.prop(clip.proxy, "directory") - layout.operator("clip.rebuild_proxy", text="Build Proxy") + col.operator("clip.rebuild_proxy", text="Build Proxy") if clip.source == 'MOVIE': - col = layout.column() + col2 = col.column() - col.label(text="Use timecode index:") - col.prop(clip.proxy, "timecode", text="") + col2.label(text="Use timecode index:") + col2.prop(clip.proxy, "timecode", text="") - col = layout.column() - col.label(text="Proxy render size:") + col2 = col.column() + col2.label(text="Proxy render size:") col.prop(sc.clip_user, "proxy_render_size", text="") + + col = layout.column() col.prop(sc.clip_user, "use_render_undistorted") diff --git a/source/blender/blenkernel/intern/movieclip.c b/source/blender/blenkernel/intern/movieclip.c index 8a2bdd81da2..0aa1f9e0822 100644 --- a/source/blender/blenkernel/intern/movieclip.c +++ b/source/blender/blenkernel/intern/movieclip.c @@ -626,24 +626,22 @@ static ImBuf *get_undistorted_ibuf(MovieClip *clip, struct MovieDistortion *dist return undistibuf; } -static int need_undistortion_postprocess(MovieClipUser *user, int flag) +static int need_undistortion_postprocess(MovieClipUser *user) { int result = 0; /* only full undistorted render can be used as on-fly undistorting image */ - if (flag & MCLIP_USE_PROXY) { - result |= (user->render_size == MCLIP_PROXY_RENDER_SIZE_FULL) && - (user->render_flag & MCLIP_PROXY_RENDER_UNDISTORT) != 0; - } + result |= (user->render_size == MCLIP_PROXY_RENDER_SIZE_FULL) && + (user->render_flag & MCLIP_PROXY_RENDER_UNDISTORT) != 0; return result; } -static int need_postprocessed_frame(MovieClipUser *user, int flag, int postprocess_flag) +static int need_postprocessed_frame(MovieClipUser *user, int postprocess_flag) { int result = postprocess_flag; - result |= need_undistortion_postprocess(user, flag); + result |= need_undistortion_postprocess(user); return result; } @@ -690,7 +688,7 @@ static ImBuf *get_postprocessed_cached_frame(MovieClip *clip, MovieClipUser *use if (cache->postprocessed.flag != postprocess_flag) return NULL; - if (need_undistortion_postprocess(user, flag)) { + if (need_undistortion_postprocess(user)) { if (!check_undistortion_cache_flags(clip)) return NULL; } @@ -721,7 +719,7 @@ static ImBuf *put_postprocessed_frame_to_cache(MovieClip *clip, MovieClipUser *u cache->postprocessed.render_flag = 0; } - if (need_undistortion_postprocess(user, flag)) { + if (need_undistortion_postprocess(user)) { copy_v2_v2(cache->postprocessed.principal, camera->principal); copy_v3_v3(&cache->postprocessed.k1, &camera->k1); cache->postprocessed.undistortion_used = TRUE; @@ -765,7 +763,7 @@ static ImBuf *movieclip_get_postprocessed_ibuf(MovieClip *clip, MovieClipUser *u BLI_lock_thread(LOCK_MOVIECLIP); /* try to obtain cached postprocessed frame first */ - if (need_postprocessed_frame(user, flag, postprocess_flag)) { + if (need_postprocessed_frame(user, postprocess_flag)) { ibuf = get_postprocessed_cached_frame(clip, user, flag, postprocess_flag); if (!ibuf) |