Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Kim <pk15950@gmail.com>2021-10-03 06:22:05 +0300
committerPeter Kim <pk15950@gmail.com>2021-10-03 06:22:05 +0300
commit6fc81d6bca6424a1e44305df7cdc3598e03b00ba (patch)
treea66f17c5378f2a68f4c5d8b09f56687c3d9bf888 /source/blender/compositor/operations/COM_MovieClipAttributeOperation.cc
parent85e1f28fcaafd137a546bf192777b00f96851e80 (diff)
parentd3afe0c1265c9ebb53053de68f176b30f0132281 (diff)
Merge branch 'master' into xr-controller-supportxr-controller-support
Diffstat (limited to 'source/blender/compositor/operations/COM_MovieClipAttributeOperation.cc')
-rw-r--r--source/blender/compositor/operations/COM_MovieClipAttributeOperation.cc24
1 files changed, 16 insertions, 8 deletions
diff --git a/source/blender/compositor/operations/COM_MovieClipAttributeOperation.cc b/source/blender/compositor/operations/COM_MovieClipAttributeOperation.cc
index e36e93984fb..aed91d4d46e 100644
--- a/source/blender/compositor/operations/COM_MovieClipAttributeOperation.cc
+++ b/source/blender/compositor/operations/COM_MovieClipAttributeOperation.cc
@@ -29,8 +29,9 @@ MovieClipAttributeOperation::MovieClipAttributeOperation()
this->m_framenumber = 0;
this->m_attribute = MCA_X;
this->m_invert = false;
- needs_resolution_to_get_constant_ = true;
+ needs_canvas_to_get_constant_ = true;
is_value_calculated_ = false;
+ stabilization_resolution_socket_ = nullptr;
}
void MovieClipAttributeOperation::initExecution()
@@ -42,7 +43,7 @@ void MovieClipAttributeOperation::initExecution()
void MovieClipAttributeOperation::calc_value()
{
- BLI_assert(this->get_flags().is_resolution_set);
+ BLI_assert(this->get_flags().is_canvas_set);
is_value_calculated_ = true;
if (this->m_clip == nullptr) {
return;
@@ -53,8 +54,17 @@ void MovieClipAttributeOperation::calc_value()
scale = 1.0f;
angle = 0.0f;
int clip_framenr = BKE_movieclip_remap_scene_to_clip_frame(this->m_clip, this->m_framenumber);
- BKE_tracking_stabilization_data_get(
- this->m_clip, clip_framenr, getWidth(), getHeight(), loc, &scale, &angle);
+ NodeOperation &stabilization_operation =
+ stabilization_resolution_socket_ ?
+ stabilization_resolution_socket_->getLink()->getOperation() :
+ *this;
+ BKE_tracking_stabilization_data_get(this->m_clip,
+ clip_framenr,
+ stabilization_operation.getWidth(),
+ stabilization_operation.getHeight(),
+ loc,
+ &scale,
+ &angle);
switch (this->m_attribute) {
case MCA_SCALE:
this->m_value = scale;
@@ -87,11 +97,9 @@ void MovieClipAttributeOperation::executePixelSampled(float output[4],
output[0] = this->m_value;
}
-void MovieClipAttributeOperation::determineResolution(unsigned int resolution[2],
- unsigned int preferredResolution[2])
+void MovieClipAttributeOperation::determine_canvas(const rcti &preferred_area, rcti &r_area)
{
- resolution[0] = preferredResolution[0];
- resolution[1] = preferredResolution[1];
+ r_area = preferred_area;
}
const float *MovieClipAttributeOperation::get_constant_elem()