diff options
-rw-r--r-- | player/command.c | 2 | ||||
-rw-r--r-- | video/decode/dec_video.c | 5 | ||||
-rw-r--r-- | video/decode/dec_video.h | 1 |
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 */ |