vlc | branch: master | Thomas Guillem <[email protected]> | Mon Apr 10 16:10:05 2017 +0200| [1983e0b93555eca0f2d608b94b961f723ac689a3] | committer: Thomas Guillem
vout: interlacing: move struct into vout_internal.h > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=1983e0b93555eca0f2d608b94b961f723ac689a3 --- src/video_output/interlacing.c | 21 ++++++++++++++------- src/video_output/interlacing.h | 7 +------ src/video_output/video_output.c | 7 +------ src/video_output/vout_internal.h | 5 +++++ 4 files changed, 21 insertions(+), 19 deletions(-) diff --git a/src/video_output/interlacing.c b/src/video_output/interlacing.c index aa83b0cab6..c68068028d 100644 --- a/src/video_output/interlacing.c +++ b/src/video_output/interlacing.c @@ -30,6 +30,7 @@ #include <vlc_vout.h> #include "interlacing.h" +#include "vout_internal.h" /***************************************************************************** * Deinterlacing @@ -230,22 +231,28 @@ void vout_InitInterlacingSupport(vout_thread_t *vout, bool is_interlaced) var_SetInteger(vout, "deinterlace", deinterlace_state); free(deinterlace_mode); + + vout->p->interlacing.is_interlaced = is_interlaced; + if (is_interlaced) + vout->p->interlacing.date = mdate(); } -void vout_SetInterlacingState(vout_thread_t *vout, vout_interlacing_support_t *state, bool is_interlaced) +void vout_SetInterlacingState(vout_thread_t *vout, bool is_interlaced) { /* Wait 30s before quiting interlacing mode */ - const int interlacing_change = (!!is_interlaced) - (!!state->is_interlaced); - if ((interlacing_change == 1) || - (interlacing_change == -1 && state->date + 30000000 < mdate())) { + const int interlacing_change = (!!is_interlaced) + - (!!vout->p->interlacing.is_interlaced); + if (interlacing_change == 1 || + (interlacing_change == -1 && + vout->p->interlacing.date + 30000000 < mdate())) + { msg_Dbg(vout, "Detected %s video", is_interlaced ? "interlaced" : "progressive"); var_SetBool(vout, "deinterlace-needed", is_interlaced); - - state->is_interlaced = is_interlaced; + vout->p->interlacing.is_interlaced = is_interlaced; } if (is_interlaced) - state->date = mdate(); + vout->p->interlacing.date = mdate(); } diff --git a/src/video_output/interlacing.h b/src/video_output/interlacing.h index 89c7f3e468..9c6e04f616 100644 --- a/src/video_output/interlacing.h +++ b/src/video_output/interlacing.h @@ -24,12 +24,7 @@ #ifndef LIBVLC_VOUT_INTERLACING_H #define LIBVLC_VOUT_INTERLACING_H -typedef struct { - bool is_interlaced; - mtime_t date; -} vout_interlacing_support_t; - void vout_InitInterlacingSupport(vout_thread_t *, bool is_interlaced); -void vout_SetInterlacingState(vout_thread_t *, vout_interlacing_support_t *, bool is_interlaced); +void vout_SetInterlacingState(vout_thread_t *, bool is_interlaced); #endif diff --git a/src/video_output/video_output.c b/src/video_output/video_output.c index 4ba5640605..e752355f30 100644 --- a/src/video_output/video_output.c +++ b/src/video_output/video_output.c @@ -1627,11 +1627,6 @@ static void *Thread(void *object) vout_thread_t *vout = object; vout_thread_sys_t *sys = vout->p; - vout_interlacing_support_t interlacing = { - .is_interlaced = false, - .date = mdate(), - }; - mtime_t deadline = VLC_TS_INVALID; bool wait = false; for (;;) { @@ -1653,7 +1648,7 @@ static void *Thread(void *object) const bool picture_interlaced = sys->displayed.is_interlaced; - vout_SetInterlacingState(vout, &interlacing, picture_interlaced); + vout_SetInterlacingState(vout, picture_interlaced); vout_ManageWrapper(vout); } } diff --git a/src/video_output/vout_internal.h b/src/video_output/vout_internal.h index fec54f38eb..c7d33bafb6 100644 --- a/src/video_output/vout_internal.h +++ b/src/video_output/vout_internal.h @@ -109,6 +109,11 @@ struct vout_thread_sys_t int position; } title; + struct { + bool is_interlaced; + mtime_t date; + } interlacing; + /* */ bool is_late_dropped; _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
