<html><head></head><body>Hi,<br><br>I disagree with the non-translation of coordinates as already explained earlier.<br><br><div class="gmail_quote">Le 21 août 2020 11:59:18 GMT+02:00, Steve Lhomme <robux4@ycbcr.xyz> a écrit :<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<pre class="k9mail">Changes since v3:<br>- the mouse coordinates are translated to video coordinates as soon as we get<br> them, since that's what the user sees when s·he moves/clicks the mouse.<br>- the "mouse-moved", "mouse-button-down", "mouse-clicked" and "fullscreen"<br> variables are set in non-filtered coordinates (video area coordinates).<br>- these variables are set in the UI thread rather than the rendering thread<br>- the filter.new_filters string is merged into filter.configuration. No need<br> for an intermediate state.<br>- simplify the ThreadChangeFilters() signature as the filter string and<br> deinterlace flags always come from the same variables, whether the values<br> changed or we recreate the filter chain.<br>- add some comments in the vout thread about what we do in the loops.<br>- do not use 0,0 video area coordinates for mouse events occuring while the <br> display module doesn't have proper dimensions to provide. We keep using the<br> previous correct video area coordinates.<br><br>Steve Lhomme (23):<br> filters: initialize the output mouse state to the new state<br> filters: remove the duplicate new mouse state<br> video_output: only reset the mouse_event if it was set on display<br> release<br> video_output: translate the mouse coordinates to display coordinates<br> early<br> video_output: move the mouse events generation in the UI thread<br> video_output: don't include control.h in include shared across the<br> core<br> video_output: use filter lock to change filters in the vout thread<br> video_output: use filter lock to change deinterlacing in the vout<br> thread<br> video_output: remove always true boolean from ThreadChangeFilters<br> video_output: merge the new filters string and the kept filter<br> configuration<br> video_output: always use interlacing.has_deint when creating filters<br> video_output: rework the deadline parameter return<br> video_output: use the rendering delay when we were given a deadline to<br> wait for<br> video_output: use INT64_MAX for the invalid control pop deadline<br> vout/control: keep the lock instead of setting a held flag<br> vout/control: move the lock outside of the control API<br> vout/control: move the condition on pictures/control outside of the<br> control API<br> video_output: use an internal bool to detect when we must exit the<br> vout thread<br> video_output: move the mouse events handling outside of the control<br> pop<br> video_output: do not wait for new mouse commands if we have a picture<br> ready<br> video_output: remove unused control API<br> video_output: code cleaning<br> display: don't use empty mouse coordinates if TranslateMouseState<br> fails<br><br> include/vlc_filter.h | 3 +-<br> include/vlc_vout_display.h | 2 +-<br> modules/spu/logo.c | 7 +-<br> modules/video_chroma/chain.c | 5 +-<br> modules/video_filter/ci_filters.m | 6 +-<br> .../video_filter/deinterlace/deinterlace.c | 6 +-<br> modules/video_filter/freeze.c | 7 +-<br> modules/video_filter/magnify.c | 9 +-<br> modules/video_filter/puzzle.c | 8 +-<br> modules/video_filter/puzzle.h | 3 +-<br> modules/video_filter/transform.c | 3 +-<br> src/Makefile.am | 2 -<br> src/misc/filter_chain.c | 4 +-<br> src/video_output/control.c | 174 ----------<br> src/video_output/control.h | 82 -----<br> src/video_output/display.c | 5 +-<br> src/video_output/video_output.c | 312 +++++++++++-------<br> src/video_output/vout_internal.h | 1 -<br> 18 files changed, 215 insertions(+), 424 deletions(-)<br> delete mode 100644 src/video_output/control.c<br> delete mode 100644 src/video_output/control.h<br></pre></blockquote></div><br>-- <br>Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez excuser ma brièveté.</body></html>