[vlc-commits] chroma: cvpx: avoid conversion to self without resize
Alexandre Janniaux
git at videolan.org
Wed Jun 24 15:46:33 CEST 2020
vlc | branch: master | Alexandre Janniaux <ajanni at videolabs.io> | Tue Jun 9 18:43:58 2020 +0200| [c751159b600dc3a34b231b9d8d25a23b97c48783] | committer: Alexandre Janniaux
chroma: cvpx: avoid conversion to self without resize
CVP* -> CVP* with the star equal to the same value is possible when
building a resize+chroma chain, but in the case of chroma only we don't
want to add additional steps.
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=c751159b600dc3a34b231b9d8d25a23b97c48783
---
modules/video_chroma/cvpx.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/modules/video_chroma/cvpx.c b/modules/video_chroma/cvpx.c
index 24d14bb69f..1614aeb7ee 100644
--- a/modules/video_chroma/cvpx.c
+++ b/modules/video_chroma/cvpx.c
@@ -414,6 +414,12 @@ Open_CVPX_to_CVPX(vlc_object_t *obj)
{
filter_t *filter = (filter_t *)obj;
+ /* Avoid conversion to self if we're not resizing */
+ if (filter->fmt_in.video.i_chroma == filter->fmt_out.video.i_chroma &&
+ filter->fmt_in.video.i_visible_width == filter->fmt_out.video.i_visible_width &&
+ filter->fmt_in.video.i_visible_height == filter->fmt_out.video.i_visible_height)
+ return VLC_EGENERIC;
+
if (filter->vctx_in == NULL ||
vlc_video_context_GetType(filter->vctx_in) != VLC_VIDEO_CONTEXT_CVPX)
return VLC_EGENERIC;
More information about the vlc-commits
mailing list