VFlip nigthmare

This forum is about all development around libVLC.
neosettler
Cone that earned his stripes
Cone that earned his stripes
Posts: 107
Joined: 18 Dec 2012 17:44

VFlip nigthmare

Postby neosettler » 18 Jun 2018 03:43

Greetings,

Coming back to a (presumably) bug that has been introduced in 3.0.0, I'm hoping to find salvation with 3.0.3... no luck so far.

While LibVLC (on Windows) had no problem with this feature, vflip on 3.x just doesn't want to work.

Code: Select all

const Char *l_args[] = { "--video-filter=transform", "--transform-type=vflip", }; m_VLC_Instance = libvlc_new(sizeof(l_args) / sizeof(l_args[0]), l_args);
return Unsupported pixel size 0 (chroma DX11) with 3.x.

and

Code: Select all

libvlc_media_add_option(m_VLC_Media, ":video-filter=transform"); libvlc_media_add_option(m_VLC_Media, ":transform-type=vflip");
...is completely ignored and doesn't work either.

Any insight would be greatly appreciated.

Thank you,

Jean-Baptiste Kempf
Site Administrator
Site Administrator
Posts: 37523
Joined: 22 Jul 2005 15:29
VLC version: 4.0.0-git
Operating System: Linux, Windows, Mac
Location: Cone, France
Contact:

Re: VFlip nigthmare

Postby Jean-Baptiste Kempf » 18 Jun 2018 18:04

Disable hardware acceleration.
Jean-Baptiste Kempf
http://www.jbkempf.com/ - http://www.jbkempf.com/blog/category/Videolan
VLC media player developer, VideoLAN President and Sites administrator
If you want an answer to your question, just be specific and precise. Don't use Private Messages.

neosettler
Cone that earned his stripes
Cone that earned his stripes
Posts: 107
Joined: 18 Dec 2012 17:44

Re: VFlip nigthmare

Postby neosettler » 19 Jun 2018 01:07

Hell JB, thank yo for your input.

In both cases, same results.

Code: Select all

const Char *l_args[] = { "--avcodec-hw=none", "--video-filter=transform", "--transform-type=vflip", }; m_VLC_Instance = libvlc_new(sizeof(l_args) / sizeof(l_args[0]), l_args);
return Unsupported pixel size 0 (chroma DX11) with 3.x.

and

Code: Select all

libvlc_media_add_option(m_VLC_Media, ":video-filter=transform"); libvlc_media_add_option(m_VLC_Media, ":transform-type=vflip"); libvlc_media_add_option(m_VLC_Media, ":avcodec-hw=none");
...is completely ignored and doesn't work either.

Any other ideas?

Jean-Baptiste Kempf
Site Administrator
Site Administrator
Posts: 37523
Joined: 22 Jul 2005 15:29
VLC version: 4.0.0-git
Operating System: Linux, Windows, Mac
Location: Cone, France
Contact:

Re: VFlip nigthmare

Postby Jean-Baptiste Kempf » 19 Jun 2018 10:04

DX11 means you have hardware acceleration.
Jean-Baptiste Kempf
http://www.jbkempf.com/ - http://www.jbkempf.com/blog/category/Videolan
VLC media player developer, VideoLAN President and Sites administrator
If you want an answer to your question, just be specific and precise. Don't use Private Messages.

neosettler
Cone that earned his stripes
Cone that earned his stripes
Posts: 107
Joined: 18 Dec 2012 17:44

Re: VFlip nigthmare

Postby neosettler » 19 Jun 2018 16:59

hummm… --avcodec-hw=none should disable hardware acceleration , yes?

In any case, would disabling hardware acceleration has an impact on performance, especially with 4k playback? Seems like a dirty hack.

Is there any other reason that comes to mind why the vflip works fine on 2.x and not on 3.x version?

Jean-Baptiste Kempf
Site Administrator
Site Administrator
Posts: 37523
Joined: 22 Jul 2005 15:29
VLC version: 4.0.0-git
Operating System: Linux, Windows, Mac
Location: Cone, France
Contact:

Re: VFlip nigthmare

Postby Jean-Baptiste Kempf » 22 Jun 2018 00:03

hummm… --avcodec-hw=none should disable hardware acceleration , yes?

In any case, would disabling hardware acceleration has an impact on performance, especially with 4k playback? Seems like a dirty hack.

Is there any other reason that comes to mind why the vflip works fine on 2.x and not on 3.x version?

Because 2.x does not have hw acceleration by default, but 3.x has
Jean-Baptiste Kempf
http://www.jbkempf.com/ - http://www.jbkempf.com/blog/category/Videolan
VLC media player developer, VideoLAN President and Sites administrator
If you want an answer to your question, just be specific and precise. Don't use Private Messages.

neosettler
Cone that earned his stripes
Cone that earned his stripes
Posts: 107
Joined: 18 Dec 2012 17:44

Re: VFlip nigthmare

Postby neosettler » 22 Jun 2018 04:53

Oh, I see, thank you.

It turns out that the vflip works without a glitch but I get this error when rendering to texture. "--avcodec-hw=none" has no effect.

Code: Select all

[000001b71691af50] transform filter error: Unsupported pixel size 0 (chroma DX11) [000001b72a613040] chain filter error: Too high level of recursion (3) [000001b72a6125f0] main filter error: Failed to create video converter
My setup is fairly complex and it might be overkill to post it all. In a nut shell I use:

Code: Select all

libvlc_video_set_format_callbacks(m_VLC_Player, VideoLandMovie::CallbackSetup, VideoLandMovie::CallbackCleanup); libvlc_video_set_callbacks(m_VLC_Player, VideoLandMovie::CallbackLock, VideoLandMovie::CallbackUnLock, VideoLandMovie::CallbackDisplay, this);
My guess is that the chroma might be the wrong type here:

Code: Select all

unsigned VideoLandMovie::CallbackSetup(void **in_data, char *in_chroma, unsigned *in_width, unsigned *in_height, unsigned *in_pitches, unsigned *in_lines) { VideoLandMovie *l_movie = reinterpret_cast<VideoLandMovie*>(*in_data); unsigned l_w = (*in_width); unsigned l_h = (*in_height); (*in_pitches) = l_w * l_movie->GetChannelCount(); (*in_lines) = l_h; if (l_movie->GetChannelCount() == 3) { memcpy(in_chroma, "RV24", 4); } else if (l_movie->GetChannelCount() == 4) { memcpy(in_chroma, "RV32", 4); } l_movie->CreatePixels(l_w, l_h); return 1; }
My knowledge on video compression is quite limited, what chroma would you suggest?

Thank you,

neosettler
Cone that earned his stripes
Cone that earned his stripes
Posts: 107
Joined: 18 Dec 2012 17:44

Re: VFlip nigthmare

Postby neosettler » 27 Jul 2018 04:46

Hello,

Still hoping for a piece of advice if it is not too much to ask. I'd really like to migrate to 3.0 but I'm enable to move forward without a fix.

There is definitely something that has been broken in 3.0 regarding transformation. I'm guessing the command line options are at fault but I might be taking crazy pills.

Jean-Baptiste Kempf
Site Administrator
Site Administrator
Posts: 37523
Joined: 22 Jul 2005 15:29
VLC version: 4.0.0-git
Operating System: Linux, Windows, Mac
Location: Cone, France
Contact:

Re: VFlip nigthmare

Postby Jean-Baptiste Kempf » 27 Jul 2018 11:29

As I explained, it fails because of hardware decoding.
Jean-Baptiste Kempf
http://www.jbkempf.com/ - http://www.jbkempf.com/blog/category/Videolan
VLC media player developer, VideoLAN President and Sites administrator
If you want an answer to your question, just be specific and precise. Don't use Private Messages.

neosettler
Cone that earned his stripes
Cone that earned his stripes
Posts: 107
Joined: 18 Dec 2012 17:44

Re: VFlip nigthmare

Postby neosettler » 30 Jul 2018 17:30

humm, in that case, --avcodec-hw=none should solve the issue right? Unfortunately, it doesn't. What I'm I missing?

Jean-Baptiste Kempf
Site Administrator
Site Administrator
Posts: 37523
Joined: 22 Jul 2005 15:29
VLC version: 4.0.0-git
Operating System: Linux, Windows, Mac
Location: Cone, France
Contact:

Re: VFlip nigthmare

Postby Jean-Baptiste Kempf » 30 Jul 2018 23:26

Show logs :)
Jean-Baptiste Kempf
http://www.jbkempf.com/ - http://www.jbkempf.com/blog/category/Videolan
VLC media player developer, VideoLAN President and Sites administrator
If you want an answer to your question, just be specific and precise. Don't use Private Messages.

neosettler
Cone that earned his stripes
Cone that earned his stripes
Posts: 107
Joined: 18 Dec 2012 17:44

Re: VFlip nigthmare

Postby neosettler » 12 Aug 2018 20:54

Salut Jean-Baptiste, sorry for the delay, I missed your last reply.

here is the log when opening video:

Code: Select all

[00000205f7a01430] transform filter error: Unsupported pixel size 0 (chroma DX11) [00000205f7af58a0] chain filter error: Too high level of recursion (3) [00000205f7af4770] main filter error: Failed to create video converter [00000205f7af4090] chain filter error: Too high level of recursion (3) [00000205f7af4770] main filter error: Failed to create video converter [00000205f7af5c10] chain filter error: Too high level of recursion (3) [00000205f7af4770] main filter error: Failed to create video converter [00000205f7af5530] chain filter error: Too high level of recursion (3) [00000205f7af4770] main filter error: Failed to create video converter [00000205f7af51c0] chain filter error: Too high level of recursion (3) [00000205f7af4770] main filter error: Failed to create video converter [00000205f7af5530] chain filter error: Too high level of recursion (3) [00000205f7af4770] main filter error: Failed to create video converter [00000205f7af4090] chain filter error: Too high level of recursion (3) [00000205f7af4770] main filter error: Failed to create video converter [00000205f7af4ae0] main filter error: Failed to create video converter [00000205f7af4090] chain filter error: Too high level of recursion (3) [00000205f7af5530] main filter error: Failed to create video converter "[File0 F:p0owers.mkv opened2" 05f7af5c10] chain filter error: Too high level of recursion (3) [00000205f7af5530] main filter error: Failed to create video converter [00000205f7af4090] chain filter error: Too high level of recursion (3) [00000205f7af5530] main filter error: Failed to create video converter [00000205f7af4090] chain filter error: Too high level of recursion (3) [00000205f7af5530] main filter error: Failed to create video converter [00000205f7af4090] chain filter error: Too high level of recursion (3) [00000205f7af5530] main filter error: Failed to create video converter [00000205f7af5c10] chain filter error: Too high level of recursion (3) [00000205f7af5530] main filter error: Failed to create video converter [00000205f7af4770] chain filter error: Too high level of recursion (3) [00000205f7af5530] main filter error: Failed to create video converter [00000205f7af4ae0] main filter error: Failed to create video converter [00000205f7af4e50] chain filter error: Too high level of recursion (3) [00000205f7af4090] main filter error: Failed to create video converter [00000205f7af4e50] chain filter error: Too high level of recursion (3) [00000205f7af4090] main filter error: Failed to create video converter [00000205f7af4e50] chain filter error: Too high level of recursion (3) [00000205f7af4090] main filter error: Failed to create video converter [00000205f7af51c0] chain filter error: Too high level of recursion (3) [00000205f7af4090] main filter error: Failed to create video converter [00000205f7af58a0] chain filter error: Too high level of recursion (3) [00000205f7af4090] main filter error: Failed to create video converter [00000205f7af58a0] chain filter error: Too high level of recursion (3) [00000205f7af4090] main filter error: Failed to create video converter [00000205f7af4400] chain filter error: Too high level of recursion (3) [00000205f7af4090] main filter error: Failed to create video converter [00000205f7af4ae0] main filter error: Failed to create video converter [00000205f7af5c10] chain filter error: Too high level of recursion (3) [00000205f7af4090] main filter error: Failed to create video converter [00000205f7af5c10] chain filter error: Too high level of recursion (3) [00000205f7af4090] main filter error: Failed to create video converter [00000205f7af4400] chain filter error: Too high level of recursion (3) [00000205f7af4090] main filter error: Failed to create video converter [00000205f7af4400] chain filter error: Too high level of recursion (3) [00000205f7af4090] main filter error: Failed to create video converter [00000205f7af5530] chain filter error: Too high level of recursion (3) [00000205f7af4090] main filter error: Failed to create video converter [00000205f7af4e50] chain filter error: Too high level of recursion (3) [00000205f7af4090] main filter error: Failed to create video converter [00000205f7af4ae0] main filter error: Failed to create video converter [00000205f7af4400] chain filter error: Too high level of recursion (3) [00000205f7af4e50] main filter error: Failed to create video converter [00000205f7af5530] chain filter error: Too high level of recursion (3) [00000205f7af4e50] main filter error: Failed to create video converter [00000205f7af51c0] chain filter error: Too high level of recursion (3) [00000205f7af4e50] main filter error: Failed to create video converter [00000205f7af5530] chain filter error: Too high level of recursion (3) [00000205f7af4e50] main filter error: Failed to create video converter [00000205f7af5530] chain filter error: Too high level of recursion (3) [00000205f7af4e50] main filter error: Failed to create video converter [00000205f7af4400] chain filter error: Too high level of recursion (3) [00000205f7af4e50] main filter error: Failed to create video converter [00000205f7af4090] chain filter error: Too high level of recursion (3) [00000205f7af4e50] main filter error: Failed to create video converter [00000205f7af4ae0] main filter error: Failed to create video converter [00000205f7af4770] chain filter error: Too high level of recursion (3) [00000205f7af51c0] main filter error: Failed to create video converter [00000205f7af4770] chain filter error: Too high level of recursion (3) [00000205f7af51c0] main filter error: Failed to create video converter [00000205f7af4090] chain filter error: Too high level of recursion (3) [00000205f7af51c0] main filter error: Failed to create video converter [00000205f7af4e50] chain filter error: Too high level of recursion (3) [00000205f7af51c0] main filter error: Failed to create video converter [00000205f7af5530] chain filter error: Too high level of recursion (3) [00000205f7af51c0] main filter error: Failed to create video converter [00000205f7af5530] chain filter error: Too high level of recursion (3) [00000205f7af51c0] main filter error: Failed to create video converter [00000205f7af5530] chain filter error: Too high level of recursion (3) [00000205f7af51c0] main filter error: Failed to create video converter [00000205f7af4ae0] main filter error: Failed to create video converter [00000205f7af51c0] chain filter error: Too high level of recursion (3) [00000205f7af4e50] main filter error: Failed to create video converter [00000205f7af51c0] chain filter error: Too high level of recursion (3) [00000205f7af4e50] main filter error: Failed to create video converter [00000205f7af5530] chain filter error: Too high level of recursion (3) [00000205f7af4e50] main filter error: Failed to create video converter [00000205f7af5530] chain filter error: Too high level of recursion (3) [00000205f7af4e50] main filter error: Failed to create video converter [00000205f7af4400] chain filter error: Too high level of recursion (3) [00000205f7af4e50] main filter error: Failed to create video converter [00000205f7af4770] chain filter error: Too high level of recursion (3) [00000205f7af4e50] main filter error: Failed to create video converter [00000205f7af4400] chain filter error: Too high level of recursion (3) [00000205f7af4e50] main filter error: Failed to create video converter [00000205f7af4ae0] main filter error: Failed to create video converter [00000205e3251fe0] main video output error: Failed to create video converter [00000205e3251fe0] main video output error: Failed to compensate for the format changes, removing all filters [00000205f7af4ae0] transform filter error: Unsupported pixel size 0 (chroma DX11) [00000205f7af58a0] chain filter error: Too high level of recursion (3) [00000205f7af4770] main filter error: Failed to create video converter [00000205f7af51c0] chain filter error: Too high level of recursion (3) [00000205f7af4770] main filter error: Failed to create video converter [00000205f7af51c0] chain filter error: Too high level of recursion (3) [00000205f7af4770] main filter error: Failed to create video converter [00000205f7af51c0] chain filter error: Too high level of recursion (3) [00000205f7af4770] main filter error: Failed to create video converter [00000205f7af4e50] chain filter error: Too high level of recursion (3) [00000205f7af4770] main filter error: Failed to create video converter [00000205f7af4e50] chain filter error: Too high level of recursion (3) [00000205f7af4770] main filter error: Failed to create video converter [00000205f7af51c0] chain filter error: Too high level of recursion (3) [00000205f7af4770] main filter error: Failed to create video converter [00000205f7af5530] main filter error: Failed to create video converter [00000205f7cf4c00] chain filter error: Too high level of recursion (3) [00000205f7af4e50] main filter error: Failed to create video converter [00000205f7af58a0] chain filter error: Too high level of recursion (3) [00000205f7af4e50] main filter error: Failed to create video converter [00000205f7c68920] chain filter error: Too high level of recursion (3) [00000205f7af4e50] main filter error: Failed to create video converter [00000205f7c67ed0] chain filter error: Too high level of recursion (3) [00000205f7af4e50] main filter error: Failed to create video converter [00000205f7af4090] chain filter error: Too high level of recursion (3) [00000205f7af4e50] main filter error: Failed to create video converter [00000205f7af4090] chain filter error: Too high level of recursion (3) [00000205f7af4e50] main filter error: Failed to create video converter [00000205f7af4090] chain filter error: Too high level of recursion (3) [00000205f7af4e50] main filter error: Failed to create video converter [00000205f7af5530] main filter error: Failed to create video converter [00000205f7c67ed0] chain filter error: Too high level of recursion (3) [00000205f7af4770] main filter error: Failed to create video converter [00000205f7af51c0] chain filter error: Too high level of recursion (3) [00000205f7af4770] main filter error: Failed to create video converter [00000205f7c68240] chain filter error: Too high level of recursion (3) [00000205f7af4770] main filter error: Failed to create video converter [00000205f7c66da0] chain filter error: Too high level of recursion (3) [00000205f7af4770] main filter error: Failed to create video converter [00000205f7af51c0] chain filter error: Too high level of recursion (3) [00000205f7af4770] main filter error: Failed to create video converter [00000205f7af51c0] chain filter error: Too high level of recursion (3) [00000205f7af4770] main filter error: Failed to create video converter [00000205f7af51c0] chain filter error: Too high level of recursion (3) [00000205f7af4770] main filter error: Failed to create video converter [00000205f7af5530] main filter error: Failed to create video converter [00000205f7c65c70] chain filter error: Too high level of recursion (3) [00000205f7af51c0] main filter error: Failed to create video converter [00000205f7af4e50] chain filter error: Too high level of recursion (3) [00000205f7af51c0] main filter error: Failed to create video converter [00000205f7c69370] chain filter error: Too high level of recursion (3) [00000205f7af51c0] main filter error: Failed to create video converter [00000205f7c65c70] chain filter error: Too high level of recursion (3) [00000205f7af51c0] main filter error: Failed to create video converter [00000205f7af4090] chain filter error: Too high level of recursion (3) [00000205f7af51c0] main filter error: Failed to create video converter [00000205f7af4090] chain filter error: Too high level of recursion (3) [00000205f7af51c0] main filter error: Failed to create video converter [00000205f7af4e50] chain filter error: Too high level of recursion (3) [00000205f7af51c0] main filter error: Failed to create video converter [00000205f7af5530] main filter error: Failed to create video converter [00000205f7af4e50] chain filter error: Too high level of recursion (3) [00000205f7af4770] main filter error: Failed to create video converter [00000205f7af58a0] chain filter error: Too high level of recursion (3) [00000205f7af4770] main filter error: Failed to create video converter [00000205f7af4e50] chain filter error: Too high level of recursion (3) [00000205f7af4770] main filter error: Failed to create video converter [00000205f7af4e50] chain filter error: Too high level of recursion (3) [00000205f7af4770] main filter error: Failed to create video converter [00000205f7af4e50] chain filter error: Too high level of recursion (3) [00000205f7af4770] main filter error: Failed to create video converter [00000205f7af4e50] chain filter error: Too high level of recursion (3) [00000205f7af4770] main filter error: Failed to create video converter [00000205f7af58a0] chain filter error: Too high level of recursion (3) [00000205f7af4770] main filter error: Failed to create video converter [00000205f7af5530] main filter error: Failed to create video converter [00000205f7af4090] chain filter error: Too high level of recursion (3) [00000205f7af51c0] main filter error: Failed to create video converter [00000205f7af4770] chain filter error: Too high level of recursion (3) [00000205f7af51c0] main filter error: Failed to create video converter [00000205f7af4090] chain filter error: Too high level of recursion (3) [00000205f7af51c0] main filter error: Failed to create video converter [00000205f7af4770] chain filter error: Too high level of recursion (3) [00000205f7af51c0] main filter error: Failed to create video converter [00000205f7af4770] chain filter error: Too high level of recursion (3) [00000205f7af51c0] main filter error: Failed to create video converter [00000205f7af4e50] chain filter error: Too high level of recursion (3) [00000205f7af51c0] main filter error: Failed to create video converter [00000205f7af4e50] chain filter error: Too high level of recursion (3) [00000205f7af51c0] main filter error: Failed to create video converter [00000205f7af5530] main filter error: Failed to create video converter [00000205f7af4e50] chain filter error: Too high level of recursion (3) [00000205f7af4090] main filter error: Failed to create video converter [00000205f7af51c0] chain filter error: Too high level of recursion (3) [00000205f7af4090] main filter error: Failed to create video converter [00000205f7af4e50] chain filter error: Too high level of recursion (3) [00000205f7af4090] main filter error: Failed to create video converter [00000205f7af4770] chain filter error: Too high level of recursion (3) [00000205f7af4090] main filter error: Failed to create video converter [00000205f7af4e50] chain filter error: Too high level of recursion (3) [00000205f7af4090] main filter error: Failed to create video converter [00000205f7af4770] chain filter error: Too high level of recursion (3) [00000205f7af4090] main filter error: Failed to create video converter [00000205f7af51c0] chain filter error: Too high level of recursion (3) [00000205f7af4090] main filter error: Failed to create video converter [00000205f7af5530] main filter error: Failed to create video converter [00000205e3251fe0] main video output error: Failed to create video converter [00000205e3251fe0] main video output error: Failed to compensate for the format changes, removing all filters [00000205e3471510] main vout display error: Failed to set on top [00000205f7ae0570] transform filter error: Unsupported pixel size 0 (chroma DXA9) [00000205f7cf5650] chain filter error: Too high level of recursion (3) [00000205f7cf6e60] main filter error: Failed to create video converter [00000205f7cf6410] chain filter error: Too high level of recursion (3) [00000205f7cf6e60] main filter error: Failed to create video converter [00000205f7cf6af0] chain filter error: Too high level of recursion (3) [00000205f7cf6e60] main filter error: Failed to create video converter [00000205f7cf3ad0] chain filter error: Too high level of recursion (3) [00000205f7cf6e60] main filter error: Failed to create video converter [00000205f7cf5d30] chain filter error: Too high level of recursion (3) [00000205f7cf6e60] main filter error: Failed to create video converter [00000205f7cf4520] chain filter error: Too high level of recursion (3) [00000205f7cf6e60] main filter error: Failed to create video converter [00000205f7cf4c00] chain filter error: Too high level of recursion (3) [00000205f7cf6e60] main filter error: Failed to create video converter [00000205f7cf52e0] main filter error: Failed to create video converter [00000205f7cf4890] chain filter error: Too high level of recursion (3) [00000205f7cf3e40] main filter error: Failed to create video converter [00000205f7cf4890] chain filter error: Too high level of recursion (3) [00000205f7cf3e40] main filter error: Failed to create video converter [00000205f7cf5650] chain filter error: Too high level of recursion (3) [00000205f7cf3e40] main filter error: Failed to create video converter [00000205f7cf71d0] chain filter error: Too high level of recursion (3) [00000205f7cf3e40] main filter error: Failed to create video converter [00000205f7cf5650] chain filter error: Too high level of recursion (3) [00000205f7cf3e40] main filter error: Failed to create video converter [00000205f7cf4890] chain filter error: Too high level of recursion (3) [00000205f7cf3e40] main filter error: Failed to create video converter [00000205f7cf4c00] chain filter error: "ChecTking for updates..." oo high level of recursion (3) [00000205f7cf3e40] main filter error: Failed to create video converter [00000205f7cf52e0] main filter error: Failed to create video converter [00000205f7cf59c0] chain filter error: Too high level of recursion (3) [00000205f7cf3ad0] main filter error: Failed to create video converter [00000205f7cf3760] chain filter error: Too high level of recursion (3) [00000205f7cf3ad0] main filter error: Failed to create video converter [00000205f7cf3e40] chain filter error: Too high level of recursion (3) [00000205f7cf3ad0] main filter error: Failed to create video converter [00000205f7cf4890] chain filter error: Too high level of recursion (3) [00000205f7cf3ad0] main filter error: Failed to create video converter [00000205f7cf59c0] chain filter error: Too high level of recursion (3) [00000205f7cf3ad0] main filter error: Failed to create video converter [00000205f7cf3e40] chain filter error: Too high level of recursion (3) [00000205f7cf3ad0] main filter error: Failed to create video converter [00000205f7cf59c0] chain filter error: Too high level of recursion (3) [00000205f7cf3ad0] main filter error: Failed to create video converter [00000205f7cf52e0] main filter error: Failed to create video converter [00000205f7cf3e40] chain filter error: Too high level of recursion (3) [00000205f7cf3760] main filter error: Failed to create video converter [00000205f7cf4520] chain filter error: Too high level of recursion (3) [00000205f7cf3760] main filter error: Failed to create video converter [00000205f7cf59c0] chain filter error: Too high level of recursion (3) [00000205f7cf3760] main filter error: Failed to create video converter [00000205f7cf5d30] chain filter error: Too high level of recursion (3) [00000205f7cf3760] main filter error: Failed to create video converter [00000205f7cf3ad0] chain filter error: Too high level of recursion (3) [00000205f7cf3760] main filter error: Failed to create video converter [00000205f7cf59c0] chain filter error: Too high level of recursion (3) [00000205f7cf3760] main filter error: Failed to create video converter [00000205f7cf6410] chain filter error: Too high level of recursion (3) [00000205f7cf3760] main filter error: Failed to create video converter [00000205f7cf52e0] main filter error: Failed to create video converter [00000205f7cf5650] chain filter error: Too high level of recursion (3) [00000205f7cf59c0] main filter error: Failed to create video converter [00000205f7cf4c00] chain filter error: Too high level of recursion (3) [00000205f7cf59c0] main filter error: Failed to create video converter [00000205f7cf4c00] chain filter error: Too high level of recursion (3) [00000205f7cf59c0] main filter error: Failed to create video converter [00000205f7cf3e40] chain filter error: Too high level of recursion (3) [00000205f7cf59c0] main filter error: Failed to create video converter [00000205f7cf6410] chain filter error: Too high level of recursion (3) [00000205f7cf59c0] main filter error: Failed to create video converter [00000205f7cf60a0] chain filter error: Too high level of recursion (3) [00000205f7cf59c0] main filter error: Failed to create video converter [00000205f7cf60a0] chain filter error: Too high level of recursion (3) [00000205f7cf59c0] main filter error: Failed to create video converter [00000205f7cf52e0] main filter error: Failed to create video converter [00000205f7cf6af0] chain filter error: Too high level of recursion (3) [00000205f7cf5650] main filter error: Failed to create video converter [00000205f7cf60a0] chain filter error: Too high level of recursion (3) [00000205f7cf5650] main filter error: Failed to create video converter [00000205f7cf59c0] chain filter error: Too high level of recursion (3) [00000205f7cf5650] main filter error: Failed to create video converter [00000205f7cf60a0] chain filter error: Too high level of recursion (3) [00000205f7cf5650] main filter error: Failed to create video converter [00000205f7cf3ad0] chain filter error: Too high level of recursion (3) [00000205f7cf5650] main filter error: Failed to create video converter [00000205f7cf4520] chain filter error: Too high level of recursion (3) [00000205f7cf5650] main filter error: Failed to create video converter [00000205f7cf6410] chain filter error: Too high level of recursion (3) [00000205f7cf5650] main filter error: Failed to create video converter [00000205f7cf52e0] main filter error: Failed to create video converter [00000205f7cf59c0] chain filter error: Too high level of recursion (3) [00000205f7cf6af0] main filter error: Failed to create video converter [00000205f7cf4c00] chain filter error: Too high level of recursion (3) [00000205f7cf6af0] main filter error: Failed to create video converter [00000205f7cf4c00] chain filter error: Too high level of recursion (3) [00000205f7cf6af0] main filter error: Failed to create video converter [00000205f7cf6e60] chain filter error: Too high level of recursion (3) [00000205f7cf6af0] main filter error: Failed to create video converter [00000205f7cf71d0] chain filter error: Too high level of recursion (3) [00000205f7cf6af0] main filter error: Failed to create video converter [00000205f7cf5650] chain filter error: Too high level of recursion (3) [00000205f7cf6af0] main filter error: Failed to create video converter [00000205f7cf4890] chain filter error: Too high level of recursion (3) [00000205f7cf6af0] main filter error: Failed to create video converter [00000205f7cf52e0] main filter error: Failed to create video converter [00000205e3251fe0] main video output error: Failed to create video converter [00000205e3251fe0] main video output error: Failed to compensate for the format changes, removing all filters [00000205f7f0bfa0] main vout display error: Failed to set on top
Edit: Note that the log is identical with or without --avcodec-hw=none.

neosettler
Cone that earned his stripes
Cone that earned his stripes
Posts: 107
Joined: 18 Dec 2012 17:44

Re: VFlip nigthmare

Postby neosettler » 25 Aug 2018 16:00

In any case, I'd be interested in knowing if anyone had the same issue or I'm taking crazy pills. This is quite annoying in a 3D pipeline where videos are flipped especially in shaders. I thought of flipping the images coming from the FreeImage library but flipping all the images at load time is rather costly... and, flipping the 3D models UVs bring an undesirable overhead also. I'm still hopping for a fix here. Please let me know whenever this issue might be looked at. I'd be happy to help out in any way I can. Thank you for your support.

Rémi Denis-Courmont
Developer
Developer
Posts: 15229
Joined: 07 Jun 2004 16:01
VLC version: master
Operating System: Linux
Contact:

Re: VFlip nigthmare

Postby Rémi Denis-Courmont » 27 Aug 2018 15:48

You do realize that VLC will effectively memory copy each frame in CPU to do the vertical flip? If you care about performance, do the flip in the 3D engine - and also don't use the video callbacks which require copying video to main RAM.
Rémi Denis-Courmont
https://www.remlab.net/
Private messages soliciting support will be systematically discarded

neosettler
Cone that earned his stripes
Cone that earned his stripes
Posts: 107
Joined: 18 Dec 2012 17:44

Re: VFlip nigthmare

Postby neosettler » 27 Aug 2018 18:25

Hi Remi, thank you for your feedback. I wasn't aware of the flip overhead indeed. Good to know!

AFAIK, the video callbacks are necessary to render to a texture. Texture that could be applied to a 3d mesh like a sphere for 360 rendering. I'd be interested if you could elaborate on this a little.

Having to flip it myself, I'd use this function:

Code: Select all

void Image::FlipVertical() { if (m_Width == 0 || m_Height == 0) { return; } UInt l_widthSize = m_Width * m_ChannelCount; UInt l_dataSize = l_widthSize * m_Height; UChar *l_temp = NULL; UChar *l_data = new UChar[l_dataSize]; Memory::Copy(l_data, m_Pixels, l_dataSize); for (UInt y = 0; y < m_Height; ++y) { l_temp = m_Pixels + (m_Height - 1 - y) * l_widthSize; ZMemory::Copy(l_temp, l_data + y * l_widthSize, l_widthSize); } DeleteArray(l_data); }
Any feedback would be more than welcome.


Return to “Development around libVLC”

Who is online

Users browsing this forum: No registered users and 6 guests