diff options
Diffstat (limited to 'source/blender/sequencer')
-rw-r--r-- | source/blender/sequencer/intern/render.c | 11 | ||||
-rw-r--r-- | source/blender/sequencer/intern/sequencer.c | 1 |
2 files changed, 10 insertions, 2 deletions
diff --git a/source/blender/sequencer/intern/render.c b/source/blender/sequencer/intern/render.c index 482425e70d3..a6c627e5ce7 100644 --- a/source/blender/sequencer/intern/render.c +++ b/source/blender/sequencer/intern/render.c @@ -524,8 +524,15 @@ static void sequencer_preprocess_transform_crop( const float crop_scale_factor = do_scale_to_render_size ? preview_scale_factor : 1.0f; sequencer_image_crop_init(seq, in, crop_scale_factor, &source_crop); - const eIMBInterpolationFilterMode filter = context->for_render ? IMB_FILTER_BILINEAR : - IMB_FILTER_NEAREST; + eIMBInterpolationFilterMode filter; + const StripTransform *transform = seq->strip->transform; + if (transform->filter == SEQ_TRANSFORM_FILTER_NEAREST) { + filter = IMB_FILTER_NEAREST; + } + else { + filter = IMB_FILTER_BILINEAR; + } + IMB_transform(in, out, IMB_TRANSFORM_MODE_CROP_SRC, filter, transform_matrix, &source_crop); if (!seq_image_transform_transparency_gained(context, seq)) { diff --git a/source/blender/sequencer/intern/sequencer.c b/source/blender/sequencer/intern/sequencer.c index 1c7fe927381..8e824f59dda 100644 --- a/source/blender/sequencer/intern/sequencer.c +++ b/source/blender/sequencer/intern/sequencer.c @@ -85,6 +85,7 @@ static Strip *seq_strip_alloc(int type) strip->transform->scale_y = 1; strip->transform->origin[0] = 0.5f; strip->transform->origin[1] = 0.5f; + strip->transform->filter = SEQ_TRANSFORM_FILTER_BILINEAR; strip->crop = MEM_callocN(sizeof(struct StripCrop), "StripCrop"); } |