[vlc-devel] [PATCH] [RFC] video_output: reinit the vout is the display area of pictures have changed
Rémi Denis-Courmont
remi at remlab.net
Tue Dec 12 14:51:10 CET 2017
Le 12 décembre 2017 15:13:18 GMT+02:00, Steve Lhomme <robux4 at videolabs.io> a écrit :
>If you play a file that has the same decoder size but different display
>size
>consecutively, the decoder picture pool needs to be updated so that the
>i_visible_lines of each picture plane matches the new picture format.
>
>The easiest way is to reinit the vout. Another way would be to update
>the
>pictures in each picture pool dynamically. It cannot just be handled on
>the
>vout side as some decoders and filters rely on i_visible/offset to copy
>only the required data (for example lavc_CopyPicture).
>
>Fixes #19268
>---
> src/video_output/video_output.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
>diff --git a/src/video_output/video_output.c
>b/src/video_output/video_output.c
>index 0088ee9cca..6963c786ac 100644
>--- a/src/video_output/video_output.c
>+++ b/src/video_output/video_output.c
>@@ -1546,7 +1546,8 @@ static int ThreadReinit(vout_thread_t *vout,
> return VLC_EGENERIC;
> }
>/* We ignore crop/ar changes at this point, they are dynamically
>supported */
>- VideoFormatCopyCropAr(&vout->p->original, &original);
>+ vout->p->original.i_sar_num = original.i_sar_num;
>+ vout->p->original.i_sar_den = original.i_sar_den;
> if (video_format_IsSimilar(&original, &vout->p->original)) {
> if (cfg->dpb_size <= vout->p->dpb_size) {
> video_format_Clean(&original);
>--
>2.14.2
>
>_______________________________________________
>vlc-devel mailing list
>To unsubscribe or modify your subscription options:
>https://mailman.videolan.org/listinfo/vlc-devel
I am not sure I understand the patch description. And in any case, it does not seem to match the preexisting code comment.
--
Remi Denis-Courmont
More information about the vlc-devel
mailing list