added backend for autoscale

This commit is contained in:
itsmattkc
2018-09-22 22:05:38 +10:00
parent d6c8f3844f
commit 64d6c3a874
5 changed files with 12 additions and 4 deletions
+1 -1
View File
@@ -35,6 +35,6 @@ SpeedDialog::SpeedDialog(QWidget *parent) : QDialog(parent) {
reverseLayout->addWidget(reverse);
layout->addLayout(reverseLayout, 3, 0, 2, 1);
QDialogButtonBox* buttonBox = new QDialogButtonBox(this, QDialogButtonBox::Ok | QDialogButtonBox::Cancel);
QDialogButtonBox* buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel);
layout->addWidget(buttonBox, 4, 0, 2, 1);
}
+1 -2
View File
@@ -426,8 +426,7 @@ void MainWindow::on_actionProject_triggered()
project_url.clear();
panel_project->new_project();
updateTitle("");
panel_timeline->redraw_all_clips(false);
sequence->playhead = 0;
panel_timeline->redraw_all_clips(false);
}
}
+2 -1
View File
@@ -29,7 +29,8 @@ Clip::Clip(Sequence* s) :
pkt(new AVPacket()),
replaced(false),
texture(NULL),
fbo(NULL)
fbo(NULL),
autoscale(false)
{
reset();
}
+1
View File
@@ -103,6 +103,7 @@ struct Clip
QOpenGLFramebufferObject** fbo;
QOpenGLTexture* texture;
long texture_frame;
bool autoscale;
// audio playback variables
SwrContext* swr_ctx;
+7
View File
@@ -302,6 +302,13 @@ GLuint ViewerWidget::compose_sequence(Clip* nest, bool render_audio) {
coords.textureTopLeftY = coords.textureTopRightY = coords.textureTopLeftX = coords.textureBottomLeftX = 0;
coords.textureBottomLeftY = coords.textureBottomRightY = coords.textureTopRightX = coords.textureBottomRightX = 1.0;
if (c->autoscale && (video_width != s->width || video_height != s->height)) {
double width_multiplier = (double) s->width / (double) video_width;
double height_multiplier = (double) s->height / (double) video_height;
double scale_multiplier = qMin(width_multiplier, height_multiplier);
glScalef(scale_multiplier, scale_multiplier, 1);
}
// EFFECT CODE START
for (int j=0;j<c->effects.size();j++) {
Effect* e = c->effects.at(j);