summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--player/command.c2
-rw-r--r--video/decode/dec_video.c5
-rw-r--r--video/decode/dec_video.h1
3 files changed, 7 insertions, 1 deletions
diff --git a/player/command.c b/player/command.c
index 1bcc985785..453ab47b92 100644
--- a/player/command.c
+++ b/player/command.c
@@ -2771,7 +2771,7 @@ static int mp_property_aspect(void *ctx, struct m_property *prop,
case M_PROPERTY_SET: {
mpctx->opts->movie_aspect = *(float *)arg;
if (mpctx->d_video) {
- reinit_video_filters(mpctx);
+ video_reset_aspect(mpctx->d_video);
mp_force_video_refresh(mpctx);
}
return M_PROPERTY_OK;
diff --git a/video/decode/dec_video.c b/video/decode/dec_video.c
index 9cd3ecf962..00af2e4c7b 100644
--- a/video/decode/dec_video.c
+++ b/video/decode/dec_video.c
@@ -359,3 +359,8 @@ struct mp_image *video_decode(struct dec_video *d_video,
d_video->decoded_pts = pts;
return mpi;
}
+
+void video_reset_aspect(struct dec_video *d_video)
+{
+ d_video->last_format = (struct mp_image_params){0};
+}
diff --git a/video/decode/dec_video.h b/video/decode/dec_video.h
index a093370213..dc2f62f4a4 100644
--- a/video/decode/dec_video.h
+++ b/video/decode/dec_video.h
@@ -87,5 +87,6 @@ struct mp_image *video_decode(struct dec_video *d_video,
int video_vd_control(struct dec_video *d_video, int cmd, void *arg);
void video_reset_decoding(struct dec_video *d_video);
+void video_reset_aspect(struct dec_video *d_video);
#endif /* MPLAYER_DEC_VIDEO_H */