Commit: 3b17d6c6192fa0c2a3d7f2fff9fe8584f857a926 Author: Jeroen Bakker Date: Thu Jan 26 15:03:19 2023 +0100 Branches: master https://developer.blender.org/rB3b17d6c6192fa0c2a3d7f2fff9fe8584f857a926
Sequencer: Made subsampling a transform option. There are cases where automatic selection of subsampling doesn't work This patch move adds a filtering option that can enable this. =================================================================== M release/scripts/addons M source/blender/makesdna/DNA_sequence_types.h M source/blender/makesrna/intern/rna_sequencer.c M source/blender/sequencer/intern/render.c =================================================================== diff --git a/release/scripts/addons b/release/scripts/addons index d887a4ea6b2..9958ddb8799 160000 --- a/release/scripts/addons +++ b/release/scripts/addons @@ -1 +1 @@ -Subproject commit d887a4ea6b2a9d64b926034d4e78ecf7a48ca979 +Subproject commit 9958ddb879934718cc2b379b556f0bc3b861bee5 diff --git a/source/blender/makesdna/DNA_sequence_types.h b/source/blender/makesdna/DNA_sequence_types.h index d8005b83383..47039c740c1 100644 --- a/source/blender/makesdna/DNA_sequence_types.h +++ b/source/blender/makesdna/DNA_sequence_types.h @@ -795,6 +795,7 @@ typedef enum SequenceColorTag { enum { SEQ_TRANSFORM_FILTER_NEAREST = 0, SEQ_TRANSFORM_FILTER_BILINEAR = 1, + SEQ_TRANSFORM_FILTER_NEAREST_3x3 = 2, }; typedef enum eSeqChannelFlag { diff --git a/source/blender/makesrna/intern/rna_sequencer.c b/source/blender/makesrna/intern/rna_sequencer.c index eab9f9c26da..7dd13324f88 100644 --- a/source/blender/makesrna/intern/rna_sequencer.c +++ b/source/blender/makesrna/intern/rna_sequencer.c @@ -1510,6 +1510,11 @@ static void rna_def_strip_crop(BlenderRNA *brna) static const EnumPropertyItem transform_filter_items[] = { {SEQ_TRANSFORM_FILTER_NEAREST, "NEAREST", 0, "Nearest", ""}, {SEQ_TRANSFORM_FILTER_BILINEAR, "BILINEAR", 0, "Bilinear", ""}, + {SEQ_TRANSFORM_FILTER_NEAREST_3x3, + "SUBSAMPLING_3x3", + 0, + "Subsampling (3x3)", + "Use nearest with 3x3 subsamples during rendering"}, {0, NULL, 0, NULL, NULL}, }; diff --git a/source/blender/sequencer/intern/render.c b/source/blender/sequencer/intern/render.c index daca02b4f79..7f73a32a9c3 100644 --- a/source/blender/sequencer/intern/render.c +++ b/source/blender/sequencer/intern/render.c @@ -515,16 +515,24 @@ 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); - eIMBInterpolationFilterMode filter; const StripTransform *transform = seq->strip->transform; - if (transform->filter == SEQ_TRANSFORM_FILTER_NEAREST) { - filter = IMB_FILTER_NEAREST; - } - else { - filter = IMB_FILTER_BILINEAR; + eIMBInterpolationFilterMode filter; + int num_subsamples = 1; + switch (transform->filter) { + case SEQ_TRANSFORM_FILTER_NEAREST: + filter = IMB_FILTER_NEAREST; + num_subsamples = 1; + break; + case SEQ_TRANSFORM_FILTER_BILINEAR: + filter = IMB_FILTER_BILINEAR; + num_subsamples = 1; + break; + case SEQ_TRANSFORM_FILTER_NEAREST_3x3: + filter = IMB_FILTER_NEAREST; + num_subsamples = G.is_rendering ? 3 : 1; + break; } - const int num_subsamples = G.is_rendering ? 3 : 1; IMB_transform(in, out, IMB_TRANSFORM_MODE_CROP_SRC, _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs