diff options
author | Richard Antalik <richardantalik@gmail.com> | 2020-01-22 03:41:26 +0300 |
---|---|---|
committer | Richard Antalik <richardantalik@gmail.com> | 2020-01-22 03:41:26 +0300 |
commit | 0f7095f826f7bd87ef424fdd62008d366247544f (patch) | |
tree | 284133183eada0652ddb6fd3275f6d44f088ed54 /source/blender/editors/space_sequencer | |
parent | ddda1af97afcdea20c3391e3186e829d7086e65b (diff) | |
parent | 3119a014a6e126102c67b014a55dd455dc9557e2 (diff) |
Merge branch 'blender-v2.82-release'
Diffstat (limited to 'source/blender/editors/space_sequencer')
-rw-r--r-- | source/blender/editors/space_sequencer/sequencer_draw.c | 44 |
1 files changed, 19 insertions, 25 deletions
diff --git a/source/blender/editors/space_sequencer/sequencer_draw.c b/source/blender/editors/space_sequencer/sequencer_draw.c index 333a51e2eac..bef4a7cdd22 100644 --- a/source/blender/editors/space_sequencer/sequencer_draw.c +++ b/source/blender/editors/space_sequencer/sequencer_draw.c @@ -1023,27 +1023,25 @@ ImBuf *sequencer_ibuf_get(struct Main *bmain, SeqRenderData context = {0}; ImBuf *ibuf; int rectx, recty; - float render_size; - float proxy_size = 100.0; + double render_size; short is_break = G.is_break; - render_size = sseq->render_size; - if (render_size == 0) { - render_size = scene->r.size; - } - else { - proxy_size = render_size; + if (sseq->render_size == SEQ_PROXY_RENDER_SIZE_NONE) { + return NULL; } - if (render_size < 0) { - return NULL; + if (sseq->render_size == SEQ_PROXY_RENDER_SIZE_SCENE) { + render_size = scene->r.size / 100.0; + } + else { + render_size = BKE_sequencer_rendersize_to_scale_factor(sseq->render_size); } - rectx = (render_size * (float)scene->r.xsch) / 100.0f + 0.5f; - recty = (render_size * (float)scene->r.ysch) / 100.0f + 0.5f; + rectx = render_size * scene->r.xsch + 0.5; + recty = render_size * scene->r.ysch + 0.5; BKE_sequencer_new_render_data( - bmain, depsgraph, scene, rectx, recty, proxy_size, false, &context); + bmain, depsgraph, scene, rectx, recty, sseq->render_size, false, &context); context.view_id = BKE_scene_multiview_view_id_get(&scene->r, viewname); /* Sequencer could start rendering, in this case we need to be sure it wouldn't be canceled @@ -1628,23 +1626,19 @@ void sequencer_draw_preview(const bContext *C, void drawprefetchseqspace(Scene *scene, ARegion *UNUSED(ar), SpaceSeq *sseq) { int rectx, recty; - int render_size = sseq->render_size; - int proxy_size = 100.0; - if (render_size == 0) { - render_size = scene->r.size; - } - else { - proxy_size = render_size; - } - if (render_size < 0) { + int render_size = BKE_sequencer_rendersize_to_scale_factor(sseq->render_size); + if (sseq->render_size == SEQ_PROXY_RENDER_SIZE_NONE) { return; } - rectx = (render_size * scene->r.xsch) / 100; - recty = (render_size * scene->r.ysch) / 100; + if (sseq->render_size == SEQ_PROXY_RENDER_SIZE_SCENE) { + render_size = scene->r.size / 100.0; + } + rectx = render_size * scene->r.xsch + 0.5; + recty = render_size * scene->r.ysch + 0.5; if (sseq->mainb != SEQ_DRAW_SEQUENCE) { - give_ibuf_prefetch_request(rectx, recty, (scene->r.cfra), sseq->chanshown, proxy_size); + give_ibuf_prefetch_request(rectx, recty, (scene->r.cfra), sseq->chanshown, sseq->render_size); } } #endif |