[Bf-blender-cvs] [3b17d6c6192] master: Sequencer: Made subsampling a transform option.
Jeroen Bakker
noreply at git.blender.org
Thu Jan 26 15:03:42 CET 2023
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,
More information about the Bf-blender-cvs
mailing list