diff options
Diffstat (limited to 'player')
-rw-r--r-- | player/command.c | 5 | ||||
-rw-r--r-- | player/video.c | 6 |
2 files changed, 11 insertions, 0 deletions
diff --git a/player/command.c b/player/command.c index c84007eb0d..07631ffb08 100644 --- a/player/command.c +++ b/player/command.c @@ -2486,6 +2486,8 @@ static int mp_property_hwdec_interop(void *ctx, struct m_property *prop, return m_property_strdup_ro(action, arg, name); } +#if HAVE_GPL +// Possibly GPL due to 7b25afd7423e9056782993cbd1b32ead64ac1462. static int mp_property_deinterlace(void *ctx, struct m_property *prop, int action, void *arg) { @@ -2505,6 +2507,7 @@ static int mp_property_deinterlace(void *ctx, struct m_property *prop, } return mp_property_generic_option(mpctx, prop, action, arg); } +#endif /// Helper to set vo flags. /** \ingroup PropertyImplHelper @@ -3959,7 +3962,9 @@ static const struct m_property mp_properties_base[] = { // Video {"fullscreen", mp_property_fullscreen}, +#if HAVE_GPL {"deinterlace", mp_property_deinterlace}, +#endif {"taskbar-progress", mp_property_taskbar_progress}, {"ontop", mp_property_ontop}, {"border", mp_property_border}, diff --git a/player/video.c b/player/video.c index ab7c6f281d..20229a9267 100644 --- a/player/video.c +++ b/player/video.c @@ -158,6 +158,7 @@ static bool check_output_format(struct vo_chain *vo_c, int imgfmt) static int probe_deint_filters(struct vo_chain *vo_c) { +#if HAVE_GPL // Usually, we prefer inserting/removing deint filters. But If there's VO // support, or the user inserted a filter that supports swichting deint and // that has no VF_DEINTERLACE_LABEL, or if the filter was auto-inserted @@ -165,6 +166,7 @@ static int probe_deint_filters(struct vo_chain *vo_c) // use the runtime switching method. if (video_vf_vo_control(vo_c, VFCTRL_SET_DEINTERLACE, &(int){1}) == CONTROL_OK) return 0; +#endif if (check_output_format(vo_c, IMGFMT_VDPAU)) { char *args[5] = {"deint", "yes"}; @@ -210,9 +212,11 @@ static void filter_reconfig(struct MPContext *mpctx, struct vo_chain *vo_c) return; } +#if HAVE_GPL // Make sure to reset this even if runtime deint switching is used. if (mpctx->opts->deinterlace >= 0) video_vf_vo_control(vo_c, VFCTRL_SET_DEINTERLACE, &(int){0}); +#endif if (params.rotate) { if (!(vo_c->vo->driver->caps & VO_CAP_ROTATE90) || params.rotate % 90) { @@ -251,8 +255,10 @@ int get_deinterlacing(struct MPContext *mpctx) { struct vo_chain *vo_c = mpctx->vo_chain; int enabled = 0; +#if HAVE_GPL if (video_vf_vo_control(vo_c, VFCTRL_GET_DEINTERLACE, &enabled) != CONTROL_OK) enabled = -1; +#endif if (enabled < 0) { // vf_lavfi doesn't support VFCTRL_GET_DEINTERLACE if (vf_find_by_label(vo_c->vf, VF_DEINTERLACE_LABEL)) |