sobotka / olive

NLE video editor
GNU General Public License v3.0
2 stars 1 forks source link

[CODEC] Can't select input colour space for some video types #105

Closed ThomasWilshaw closed 4 years ago

ThomasWilshaw commented 4 years ago

Platform Windows 7 SP1 64 Bit Intel HD Graphics 4600 Olive 0.2.0-6a50c0a6 (Release build) Built with Visual Studio 2019 and vcpkg libraries

Summary When importing mov files from a Blackmagic Pocket camera I'm unable to set a input colour space for the clip as the drop down menu is not visable. I've not noticed it with any other formats, but I haven't tested all that many.

Additional Information / Output image

itsmattkc commented 4 years ago

Have you tried selecting the video stream in the list? The settings that appear correspond to the selected stream

ThomasWilshaw commented 4 years ago

Ah yes, selecting the video stream does bring it up. I think what confused me is that the first item in the list appears to be automatically selected when you first open properties, even though it's not highlighted, so I had assumed the drop down was always there. The Blackmagic footage I've tested has this odd "Unknown" stream as default which has no properties attached to it.

Apologies, I guess that's not a bug, just slightly odd behaviour. Would it be sensible to have the default selected item in the list highlighted?

ThomasWilshaw commented 4 years ago

This seems to solve it if you like the idea:

diff --git a/app/dialog/footageproperties/footageproperties.cpp b/app/dialog/footageproperties/footageproperties.cpp
index 2134b366..af4a5404 100644
--- a/app/dialog/footageproperties/footageproperties.cpp
+++ b/app/dialog/footageproperties/footageproperties.cpp
@@ -85,6 +85,11 @@ FootagePropertiesDialog::FootagePropertiesDialog(QWidget *parent, Footage *foota
     }
   }

+  if (track_list->count() > 0) {
+    track_list->item(0)->setSelected(true);
+  }
+  track_list->setFocus();
+
   row++;

   connect(track_list, SIGNAL(currentRowChanged(int)), stacked_widget_, SLOT(setCurrentIndex(int)));

streamPropertiesPatch.txt

itsmattkc commented 4 years ago

Yes, that would probably help communicate what the list actually does.

itsmattkc commented 4 years ago

I've implemented your idea, but a little bit extra in 1fa3f4edb4d0083613e06880c40645c027dc797e. It not only auto-selects an item, it auto-selects the first stream that actually has usable data (i.e. not unknown streams, etc.)

ThomasWilshaw commented 4 years ago

Sorry to re start this but I've found that with the Blackmagic footage I've tested, where the video track is the second stream I've had to slightly change your patch. Basically swap:

track_list->setFocus();

for

track_list->currentRowChanged(first_usable_stream);

on line 114. I'm not quite sure why that didn't happen with my early patch so sorry about that.