2023-08-16 00:20:26 +10:00
|
|
|
/* SPDX-FileCopyrightText: 2004 Blender Authors
|
2023-05-31 16:19:06 +02:00
|
|
|
*
|
|
|
|
|
* SPDX-License-Identifier: GPL-2.0-or-later */
|
2020-12-19 06:44:57 +01:00
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
/** \file
|
|
|
|
|
* \ingroup sequencer
|
|
|
|
|
*/
|
|
|
|
|
|
2021-01-04 12:03:34 +11:00
|
|
|
struct Depsgraph;
|
2020-12-19 06:44:57 +01:00
|
|
|
struct GSet;
|
|
|
|
|
struct ListBase;
|
|
|
|
|
struct ListBase;
|
2021-01-04 12:03:34 +11:00
|
|
|
struct Main;
|
2023-11-03 09:05:31 +01:00
|
|
|
struct ProxyJob;
|
2021-01-04 12:03:34 +11:00
|
|
|
struct Scene;
|
|
|
|
|
struct SeqIndexBuildContext;
|
2021-03-16 17:59:30 +01:00
|
|
|
struct SeqRenderData;
|
2021-07-16 11:48:54 +10:00
|
|
|
struct Sequence;
|
2023-11-03 09:05:31 +01:00
|
|
|
struct wmJob;
|
2023-10-06 13:06:02 +02:00
|
|
|
struct wmJobWorkerStatus;
|
2020-12-19 06:44:57 +01:00
|
|
|
|
2023-11-03 09:05:31 +01:00
|
|
|
bool SEQ_proxy_rebuild_context(Main *bmain,
|
|
|
|
|
Depsgraph *depsgraph,
|
|
|
|
|
Scene *scene,
|
|
|
|
|
Sequence *seq,
|
|
|
|
|
GSet *file_list,
|
|
|
|
|
ListBase *queue,
|
2022-01-25 21:39:56 +01:00
|
|
|
bool build_only_on_bad_performance);
|
2023-11-03 09:05:31 +01:00
|
|
|
void SEQ_proxy_rebuild(SeqIndexBuildContext *context, wmJobWorkerStatus *worker_status);
|
|
|
|
|
void SEQ_proxy_rebuild_finish(SeqIndexBuildContext *context, bool stop);
|
|
|
|
|
void SEQ_proxy_set(Sequence *seq, bool value);
|
|
|
|
|
bool SEQ_can_use_proxy(const SeqRenderData *context, Sequence *seq, int psize);
|
2020-12-19 06:44:57 +01:00
|
|
|
int SEQ_rendersize_to_proxysize(int render_size);
|
|
|
|
|
double SEQ_rendersize_to_scale_factor(int size);
|
|
|
|
|
|
2023-11-03 09:05:31 +01:00
|
|
|
struct ProxyJob {
|
|
|
|
|
Main *main;
|
|
|
|
|
Depsgraph *depsgraph;
|
|
|
|
|
Scene *scene;
|
|
|
|
|
ListBase queue;
|
2021-03-16 18:47:23 +01:00
|
|
|
int stop;
|
2023-11-03 09:05:31 +01:00
|
|
|
};
|
2021-03-16 18:47:23 +01:00
|
|
|
|
2023-11-03 09:05:31 +01:00
|
|
|
wmJob *ED_seq_proxy_wm_job_get(const bContext *C);
|
|
|
|
|
ProxyJob *ED_seq_proxy_job_get(const bContext *C, wmJob *wm_job);
|