ient / yuview Goto Github PK
View Code? Open in Web Editor NEWThe Free and Open Source Cross Platform YUV Viewer with an advanced analytics toolset
Home Page: http://ient.github.io/YUView
License: Other
The Free and Open Source Cross Platform YUV Viewer with an advanced analytics toolset
Home Page: http://ient.github.io/YUView
License: Other
i got problems with a specific image format 438x246 4:2:0 8 bit I do not know why especially this format, but as shown in capture1 its shifted every row. I opened the same file with an another yuv viewer and it works fine see capture2. In capture3 i tested another format 432x246 4:2:0 8 bit it works great.
I would like to finish the new application icon soon. Could somebody provide statistics data for the sequence foreman?
If you activate the Zoom Box after loading a 10bit sequence, pixel values are not displayed correctly. Reason probably has to do with wrong casting of byte arrays to unsigned char pointer. Should be unsigned short instead :) Same problem when Zoom Box is activated for a difference object.
Requires computation of display rectangle based on selection rectangle.
When I open several statistics YUView crashes suddenly, when changing between the statistics. It occurs after a random time, not at the first change. I tried to trace it in Debugging mode, but couldn't find the location. I used these statistics:
/data/sauer/simulations/PIIdeas/DirectionalInpainting/UHasseltSoccer/FTBE20/WUHSwindowsize9_DirInpIgnoreFG_All_bdkw/Soccer_Arc_1920x1080_25_2V_baseCfg_2view+depth_allintra_FTBE20_QP30+39+30+39stats_2.csv
/data/sauer/simulations/PIIdeas/DirectionalInpainting/UHasseltSoccer/FTBE20/WUHSwindowsize9_DirInpIgnoreFG_All_bdkw/Soccer_Arc_1920x1080_25_2V_baseCfg_2view+depth_allintra_FTBE20_QP30+39+30+39stats_3.csv
the backtrace:
Thread 18 (Thread 0x7fff9bfff700 (LWP 25708)):
#0 0x00007ffff4b4a48d in poll () from /usr/lib/libc.so.6
No symbol table info available.
#1 0x00007ffff293a066 in ?? () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#2 0x00007ffff293a17c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#3 0x00007fffb820b4bd in ?? () from /usr/lib/gio/modules/libdconfsettings.so
No symbol table info available.
#4 0x00007ffff2960345 in ?? () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#5 0x00007ffff58e1454 in start_thread () from /usr/lib/libpthread.so.0
No symbol table info available.
#6 0x00007ffff4b537df in clone () from /usr/lib/libc.so.6
No symbol table info available.
Thread 8 (Thread 0x7fffcec8e700 (LWP 25669)):
#0 0x00007ffff4b4a48d in poll () from /usr/lib/libc.so.6
No symbol table info available.
#1 0x00007ffff293a066 in ?? () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#2 0x00007ffff293a17c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#3 0x00007ffff604659b in QEventDispatcherGlib::processEvents(QFlagsQEventLoop::ProcessEventsFlag) () from /usr/lib/libQt5Core.so.5
No symbol table info available.
#4 0x00007ffff5ff00da in QEventLoop::exec(QFlagsQEventLoop::ProcessEventsFlag) () from /usr/lib/libQt5Core.so.5
No symbol table info available.
#5 0x00007ffff5e130f3 in QThread::exec() () from /usr/lib/libQt5Core.so.5
No symbol table info available.
#6 0x00007ffff5e17d78 in ?? () from /usr/lib/libQt5Core.so.5
No symbol table info available.
#7 0x00007ffff58e1454 in start_thread () from /usr/lib/libpthread.so.0
No symbol table info available.
#8 0x00007ffff4b537df in clone () from /usr/lib/libc.so.6
No symbol table info available.
Thread 6 (Thread 0x7fffdcc55700 (LWP 25660)):
#0 0x00007ffff4b4a48d in poll () from /usr/lib/libc.so.6
No symbol table info available.
#1 0x00007ffff293a066 in ?? () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#2 0x00007ffff293a17c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#3 0x00007ffff604657f in QEventDispatcherGlib::processEvents(QFlagsQEventLoop::ProcessEventsFlag) () from /usr/lib/libQt5Core.so.5
No symbol table info available.
#4 0x00007ffff5ff00da in QEventLoop::exec(QFlagsQEventLoop::ProcessEventsFlag) () from /usr/lib/libQt5Core.so.5
No symbol table info available.
#5 0x00007ffff5e130f3 in QThread::exec() () from /usr/lib/libQt5Core.so.5
No symbol table info available.
#6 0x00007ffff5e17d78 in ?? () from /usr/lib/libQt5Core.so.5
No symbol table info available.
#7 0x00007ffff58e1454 in start_thread () from /usr/lib/libpthread.so.0
No symbol table info available.
#8 0x00007ffff4b537df in clone () from /usr/lib/libc.so.6
No symbol table info available.
Thread 5 (Thread 0x7fffde138700 (LWP 25658)):
#0 0x00007ffff4b4a48d in poll () from /usr/lib/libc.so.6
No symbol table info available.
#1 0x00007ffff293a066 in ?? () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#2 0x00007ffff293a17c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#3 0x00007ffff604659b in QEventDispatcherGlib::processEvents(QFlagsQEventLoop::ProcessEventsFlag) () from /usr/lib/libQt5Core.so.5
No symbol table info available.
#4 0x00007ffff5ff00da in QEventLoop::exec(QFlagsQEventLoop::ProcessEventsFlag) () from /usr/lib/libQt5Core.so.5
No symbol table info available.
#5 0x00007ffff5e130f3 in QThread::exec() () from /usr/lib/libQt5Core.so.5
No symbol table info available.
#6 0x00007fffea7c4e75 in ?? () from /usr/lib/libQt5DBus.so.5
No symbol table info available.
#7 0x00007ffff5e17d78 in ?? () from /usr/lib/libQt5Core.so.5
No symbol table info available.
#8 0x00007ffff58e1454 in start_thread () from /usr/lib/libpthread.so.0
No symbol table info available.
#9 0x00007ffff4b537df in clone () from /usr/lib/libc.so.6
No symbol table info available.
Thread 4 (Thread 0x7fffdfbbf700 (LWP 25657)):
#0 0x00007ffff4b4a48d in poll () from /usr/lib/libc.so.6
No symbol table info available.
#1 0x00007ffff293a066 in ?? () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#2 0x00007ffff293a3f2 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#3 0x00007fffe28927c6 in ?? () from /usr/lib/libgio-2.0.so.0
No symbol table info available.
#4 0x00007ffff2960345 in ?? () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#5 0x00007ffff58e1454 in start_thread () from /usr/lib/libpthread.so.0
No symbol table info available.
#6 0x00007ffff4b537df in clone () from /usr/lib/libc.so.6
No symbol table info available.
Thread 3 (Thread 0x7fffe03c0700 (LWP 25656)):
#0 0x00007ffff4b4a48d in poll () from /usr/lib/libc.so.6
No symbol table info available.
#1 0x00007ffff293a066 in ?? () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#2 0x00007ffff293a17c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#3 0x00007ffff293a1c1 in ?? () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#4 0x00007ffff2960345 in ?? () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#5 0x00007ffff58e1454 in start_thread () from /usr/lib/libpthread.so.0
No symbol table info available.
#6 0x00007ffff4b537df in clone () from /usr/lib/libc.so.6
No symbol table info available.
Thread 2 (Thread 0x7fffea153700 (LWP 25648)):
#0 0x00007ffff4b4a48d in poll () from /usr/lib/libc.so.6
No symbol table info available.
#1 0x00007ffff0f0b8e0 in ?? () from /usr/lib/libxcb.so.1
No symbol table info available.
#2 0x00007ffff0f0d679 in xcb_wait_for_event () from /usr/lib/libxcb.so.1
No symbol table info available.
#3 0x00007fffec982469 in ?? () from /usr/lib/libQt5XcbQpa.so.5
No symbol table info available.
#4 0x00007ffff5e17d78 in ?? () from /usr/lib/libQt5Core.so.5
No symbol table info available.
#5 0x00007ffff58e1454 in start_thread () from /usr/lib/libpthread.so.0
No symbol table info available.
#6 0x00007ffff4b537df in clone () from /usr/lib/libc.so.6
No symbol table info available.
Thread 1 (Thread 0x7ffff7f56cc0 (LWP 25630)):
#0 0x00007fffeca0296a in QFontEngineFT::loadGlyphSet(QTransform const&) () from /usr/lib/libQt5XcbQpa.so.5
No symbol table info available.
#1 0x00007fffeca029e9 in QFontEngineFT::loadGlyphFor(unsigned int, QFixed, QFontEngine::GlyphFormat, QTransform const&, bool) () from /usr/lib/libQt5XcbQpa.so.5
No symbol table info available.
#2 0x00007fffeca041f5 in QFontEngineFT::lockedAlphaMapForGlyph(unsigned int, QFixed, QFontEngine::GlyphFormat, QTransform const&, QPoint*) () from /usr/lib/libQt5XcbQpa.so.5
No symbol table info available.
#3 0x00007ffff6f36d20 in QRasterPaintEngine::drawCachedGlyphs(int, unsigned int const_, QFixedPoint const_, QFontEngine*) () from /usr/lib/libQt5Gui.so.5
No symbol table info available.
#4 0x00007ffff6f3ada7 in QRasterPaintEngine::drawTextItem(QPointF const&, QTextItem const&) () from /usr/lib/libQt5Gui.so.5
No symbol table info available.
#5 0x00007ffff6f573c6 in ?? () from /usr/lib/libQt5Gui.so.5
No symbol table info available.
#6 0x00007ffff6dd647e in QTextLine::draw(QPainter_, QPointF const&, QTextLayout::FormatRange const_) const () from /usr/lib/libQt5Gui.so.5
No symbol table info available.
#7 0x00007ffff6dd727d in QTextLayout::draw(QPainter*, QPointF const&, QVectorQTextLayout::FormatRange const&, QRectF const&) const () from /usr/lib/libQt5Gui.so.5
No symbol table info available.
#8 0x00007ffff764b27b in QWidgetLineControl::draw(QPainter*, QPoint const&, QRect const&, int) () from /usr/lib/libQt5Widgets.so.5
No symbol table info available.
#9 0x00007ffff75ba748 in QLineEdit::paintEvent(QPaintEvent*) () from /usr/lib/libQt5Widgets.so.5
No symbol table info available.
#10 0x00007ffff74c3f18 in QWidget::event(QEvent*) () from /usr/lib/libQt5Widgets.so.5
No symbol table info available.
#11 0x00007ffff75bf399 in QLineEdit::event(QEvent*) () from /usr/lib/libQt5Widgets.so.5
No symbol table info available.
#12 0x00007ffff747ce3c in QApplicationPrivate::notify_helper(QObject_, QEvent_) () from /usr/lib/libQt5Widgets.so.5
No symbol table info available.
#13 0x00007ffff74845b1 in QApplication::notify(QObject_, QEvent_) () from /usr/lib/libQt5Widgets.so.5
No symbol table info available.
#14 0x00007ffff5ff1c80 in QCoreApplication::notifyInternal2(QObject_, QEvent_) () from /usr/lib/libQt5Core.so.5
No symbol table info available.
#15 0x00007ffff74bccea in QWidgetPrivate::sendPaintEvent(QRegion const&) () from /usr/lib/libQt5Widgets.so.5
No symbol table info available.
#16 0x00007ffff74bd339 in QWidgetPrivate::drawWidget(QPaintDevice_, QRegion const&, QPoint const&, int, QPainter_, QWidgetBackingStore*) () from /usr/lib/libQt5Widgets.so.5
No symbol table info available.
#17 0x00007ffff74be02c in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice_, QList<QObject_> const&, int, QRegion const&, QPoint const&, int, QPainter_, QWidgetBackingStore_) () from /usr/lib/libQt5Widgets.so.5
No symbol table info available.
#18 0x00007ffff74bcea4 in QWidgetPrivate::drawWidget(QPaintDevice_, QRegion const&, QPoint const&, int, QPainter_, QWidgetBackingStore*) () from /usr/lib/libQt5Widgets.so.5
No symbol table info available.
#19 0x00007ffff74be02c in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice_, QList<QObject_> const&, int, QRegion const&, QPoint const&, int, QPainter_, QWidgetBackingStore_) () from /usr/lib/libQt5Widgets.so.5
No symbol table info available.
#20 0x00007ffff74bdf19 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice_, QList<QObject_> const&, int, QRegion const&, QPoint const&, int, QPainter_, QWidgetBackingStore_) () from /usr/lib/libQt5Widgets.so.5
No symbol table info available.
#21 0x00007ffff74bdf19 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice_, QList<QObject_> const&, int, QRegion const&, QPoint const&, int, QPainter_, QWidgetBackingStore_) () from /usr/lib/libQt5Widgets.so.5
No symbol table info available.
#22 0x00007ffff74bdf19 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice_, QList<QObject_> const&, int, QRegion const&, QPoint const&, int, QPainter_, QWidgetBackingStore_) () from /usr/lib/libQt5Widgets.so.5
No symbol table info available.
#23 0x00007ffff74bdf19 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice_, QList<QObject_> const&, int, QRegion const&, QPoint const&, int, QPainter_, QWidgetBackingStore_) () from /usr/lib/libQt5Widgets.so.5
No symbol table info available.
#24 0x00007ffff74bdf19 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice_, QList<QObject_> const&, int, QRegion const&, QPoint const&, int, QPainter_, QWidgetBackingStore_) () from /usr/lib/libQt5Widgets.so.5
No symbol table info available.
#25 0x00007ffff74bcea4 in QWidgetPrivate::drawWidget(QPaintDevice_, QRegion const&, QPoint const&, int, QPainter_, QWidgetBackingStore*) () from /usr/lib/libQt5Widgets.so.5
No symbol table info available.
#26 0x00007ffff74be02c in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice_, QList<QObject_> const&, int, QRegion const&, QPoint const&, int, QPainter_, QWidgetBackingStore_) () from /usr/lib/libQt5Widgets.so.5
No symbol table info available.
#27 0x00007ffff74bcea4 in QWidgetPrivate::drawWidget(QPaintDevice_, QRegion const&, QPoint const&, int, QPainter_, QWidgetBackingStore*) () from /usr/lib/libQt5Widgets.so.5
No symbol table info available.
#28 0x00007ffff74be02c in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice_, QList<QObject_> const&, int, QRegion const&, QPoint const&, int, QPainter_, QWidgetBackingStore_) () from /usr/lib/libQt5Widgets.so.5
No symbol table info available.
#29 0x00007ffff74bcea4 in QWidgetPrivate::drawWidget(QPaintDevice_, QRegion const&, QPoint const&, int, QPainter_, QWidgetBackingStore*) () from /usr/lib/libQt5Widgets.so.5
No symbol table info available.
#30 0x00007ffff74be02c in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice_, QList<QObject_> const&, int, QRegion const&, QPoint const&, int, QPainter_, QWidgetBackingStore_) () from /usr/lib/libQt5Widgets.so.5
No symbol table info available.
#31 0x00007ffff74bcea4 in QWidgetPrivate::drawWidget(QPaintDevice_, QRegion const&, QPoint const&, int, QPainter_, QWidgetBackingStore*) () from /usr/lib/libQt5Widgets.so.5
No symbol table info available.
#32 0x00007ffff74be02c in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice_, QList<QObject_> const&, int, QRegion const&, QPoint const&, int, QPainter_, QWidgetBackingStore_) () from /usr/lib/libQt5Widgets.so.5
No symbol table info available.
#33 0x00007ffff74bdf19 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice_, QList<QObject_> const&, int, QRegion const&, QPoint const&, int, QPainter_, QWidgetBackingStore_) () from /usr/lib/libQt5Widgets.so.5
No symbol table info available.
#34 0x00007ffff74bdf19 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice_, QList<QObject_> const&, int, QRegion const&, QPoint const&, int, QPainter_, QWidgetBackingStore_) () from /usr/lib/libQt5Widgets.so.5
No symbol table info available.
#35 0x00007ffff74bdf19 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice_, QList<QObject_> const&, int, QRegion const&, QPoint const&, int, QPainter_, QWidgetBackingStore_) () from /usr/lib/libQt5Widgets.so.5
No symbol table info available.
#36 0x00007ffff74bcea4 in QWidgetPrivate::drawWidget(QPaintDevice_, QRegion const&, QPoint const&, int, QPainter_, QWidgetBackingStore*) () from /usr/lib/libQt5Widgets.so.5
No symbol table info available.
#37 0x00007ffff748d0fa in ?? () from /usr/lib/libQt5Widgets.so.5
No symbol table info available.
#38 0x00007ffff748d2b7 in ?? () from /usr/lib/libQt5Widgets.so.5
No symbol table info available.
#39 0x00007ffff74ac11f in QWidgetPrivate::syncBackingStore() () from /usr/lib/libQt5Widgets.so.5
No symbol table info available.
#40 0x00007ffff74c3fe8 in QWidget::event(QEvent*) () from /usr/lib/libQt5Widgets.so.5
No symbol table info available.
#41 0x00007ffff75c250b in QMainWindow::event(QEvent*) () from /usr/lib/libQt5Widgets.so.5
No symbol table info available.
#42 0x00007ffff747ce3c in QApplicationPrivate::notify_helper(QObject_, QEvent_) () from /usr/lib/libQt5Widgets.so.5
No symbol table info available.
#43 0x00007ffff74845b1 in QApplication::notify(QObject_, QEvent_) () from /usr/lib/libQt5Widgets.so.5
No symbol table info available.
#44 0x00007ffff5ff1c80 in QCoreApplication::notifyInternal2(QObject_, QEvent_) () from /usr/lib/libQt5Core.so.5
No symbol table info available.
#45 0x00007ffff5ff43fd in QCoreApplicationPrivate::sendPostedEvents(QObject_, int, QThreadData_) () from /usr/lib/libQt5Core.so.5
No symbol table info available.
#46 0x00007ffff6046173 in ?? () from /usr/lib/libQt5Core.so.5
No symbol table info available.
#47 0x00007ffff2939e67 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#48 0x00007ffff293a0d0 in ?? () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#49 0x00007ffff293a17c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#50 0x00007ffff604657f in QEventDispatcherGlib::processEvents(QFlagsQEventLoop::ProcessEventsFlag) () from /usr/lib/libQt5Core.so.5
No symbol table info available.
#51 0x00007ffff5ff00da in QEventLoop::exec(QFlagsQEventLoop::ProcessEventsFlag) () from /usr/lib/libQt5Core.so.5
No symbol table info available.
#52 0x00007ffff5ff85cc in QCoreApplication::exec() () from /usr/lib/libQt5Core.so.5
No symbol table info available.
#53 0x00000000004abda4 in main (argc=1, argv=0x7fffffffe408) at ../YUView_development/source/yuviewapp.cpp:84
a = {<QApplication> = {<No data fields>}, static staticMetaObject = {d = {superdata = 0x7ffff7b531e0 <QApplication::staticMetaObject>, stringdata = 0x4f4ec0 <qt_meta_stringdata_YUViewApp>, data = 0x4f4f00 <qt_meta_data_YUViewApp>, static_metacall = 0x4b2b1c <YUViewApp::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, w = 0x877a50}
basically the debugger shows the line return a.exec();
everything else is already inside the QT libraries
see title
We should have two different window configurations:
Do we have a common Coding style (how many spaces/tabs where, how to blache curly brackets...)
Certain blocks are shown to contain no information at all even though this information is available in the file. Probably a problem with jumping to the wrong file position and omitting the relevant information.
See above
the playback is paused when a different sequence is selected (development branch)
toggle between single and separate window mode needs to be updates for the new widget structure
When two videos are selected and played out in the side-by-side mode, they are not perfectly in sync. This is especially noticable at very low frame rates and when sequences are loaded into the cache for the first time.
Changing to synchronous playback might be hard to achieve since that requires more low level access to the rendering/drawing/updating queue. It might not even possible at all. A quick fix would be to add another "synchronous playback mode", where two frames are just combined into a single pixmap which is displayed in a single widget.
I thought we should move towards getting the development branch to a state that we can move it to the main branch. Here we can collect what is still to be done and when it is, what should be tested before moving the branch. I think this also means that for now we should not try to add more features. Please feel free to add to this list.
When these things are done, perform thorough testing:
Doesn't work, needs a fix. Probably just wrong translation with respect to current position.
If the file names are long, then it is very hard to get useful information from the entry in the list. Often one can only see the path of the file, then '...' and then xxx.yuv. This could be better.
Pretty self explanatory.
Currently, FFmpeg only works on windows and linux. Basically we just need to know how to get dynamically linked libav[util/codec/format] and libswresample libraries as .dylib. Where would one get these for MAC and how are they named?
frames that have already been played out need to be deleted to free up the cache when repeat mode off or repeat mode all is selected
We are using programs (Qt and libde265) which are both under the LGPL. The Qt licencing FAQ states:
What are my obligations when using Qt under the LGPL?
If you are using Qt under the LGPL, there are a couple of obligations you will need to fulfill:
(1) is definitely missing. (2) is no concern to us. (3) is also fulfilled since all our code is public and the user can just replace the dynamically linked libraries. (4) is also missing.
For all the other DLLs which are in the installer we will also have to find out the licence and if we are allowed to ship them in an installer. If they are from other LGPL projects also for these we will have to fulfill the above points 1-4.
I dit a test with the conversion performance. On my maschine, the following times were measured:
Resolution 1920x1080 YUV 420
Loading: 1ms
420->444: 1 ms
YUVMath: 2 ms (if activated)
444->RGB: 4 ms
conversion to pixmap: 4ms
drawing the pixmap: 1-4 ms
the next sequence is not selected from the playlist
problem: see title
solution: the destructors need to wait until the caching thread is really finished otherwise we have a segmentation fault, see older cache implementation for fix
Example: BricksBushesStatic_3840x2160_120_10b_709_420.yuv
--> WidthxHeight_Framerate_Bitdepth_ColorConversion_Subsampling
Old format should also be supported for legacy reasons.
When creating a screenshot, the image is not truncated to the actual video size
Would be nice if it would be possible to just copy playlist items. So far if I need anything double, for example to overlay different statistics over the same video I have to open it twice.
There are some cases in zooming and panning, which are currently not handled correctly. Especially the behavior when the action is performed in the secondary display widget.
Probably the cleanest approach to compute the corresponding action w.r.t. the primary widget and succeed as if the action was performed there...
There should be a second fullscreen mode, which sends the playback widget to the secondary or alternate display. This would be interesting for presentations including a presenter monitor. Shortcut would be something like Ctrl+Alt+F :-)
Currently, we don't want to use class member prefixes for variables. It is suggested that "modern IDEs" remove the need for that.
Yet the reason for them usually isn't to do with IDEs. The major and primary reason is that it makes certain method names impossible to use:
private:
int foo;
public:
int foo() const; // won't compile
int getFoo() const; // will compile, but forces a `get` prefix on a public API
When using the get
prefix on getters, we're making the prefix a part of the API, yet the only need for the prefix is an implementation detail. In Qt, as in the standard library, getters have no prefix. We say pixmap.size()
or vector.size()
, not pixmap.getSize()
.
It's better to have e.g. a private 'm_' member prefix to allow sane member names than to force convoluted public names in the API or member names to avoid clashes. Thus, I suggest we should perhaps prefer this:
private:
int m_foo; // private m_prefix
public:
int foo() const { return m_foo; }
This issue is a call for discussion only.
see title description
Maybe this can be achieved with sparkle? I am not that familiar with how this is done on MAC.
I observed that there are still coming some quite large object files with cloning.
Packaging for Launchpad will be difficult with those object files, as the whole .git-dir needs to be included in the package for right versioning.
Right now Difference Objects are not exported into Playlists.
Note that also the existence of StatisticsObjects needs to be checked:
A full tree (worst case) would look like that
-DifferenceObject
--|--StatsObject1
--|--FrameObject1
----|--StatsObject2
--|--FrameObject2
----|--StatsObject3
When viewing videos in side-by-side mode, toggling between full- / normal-screen and moving the splitter around, the right video jumps around.
When the two items are not of the same size, YUView crashes.
Also the layout of the properties widget looks wrong.
Also check the functions for calculating the difference. (Does marking work correctly?)
In some cases (caching a large number of items), the allocation of memory seems to be larger than expected.
We only need the conversion matrix coefficients for YUV2RGB ... anybody willing to do some math? :)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.