[vlc-devel] OpenHMD branch?
Lomax
lomax at clickworkorange.com
Mon May 20 15:58:00 CEST 2019
Ok, I know I'm probably annoying everyone on the list with my frequent
posts, but I do have something to report: going back to Adrien Maglo's
HMD-Instancing[1] branch, and downgrading libplacebo to v0.2 (becuase of
different signature for the pl_shader_alloc function), fixes the
problem. I'm back to seeing two side-by-side "squircles" in VLC[2], and
steroscopic display on the Rift CV1 works perfectly again. Phew! But
yeah, there's *something* that's changed in the FOSDEM branch which
breaks the rendering for me. It's either in libplacebo or vlc; nothing
else has been changed (I'm still on the same OpenHMD, v0.3.0-rc1 I
think).
Lomax
1: https://gitlab.com/magsoft/vlc.git
2: https://i.imgur.com/CSwclSd.jpg
On 2019-05-20 00:16, Lomax wrote:
> Sending another screenshot[1], showing more clearly what the problem
> is; here I have dropped out of full screen, paused and zoomed the video
> to 1/4. As you can see, the video which actually contains two
> over/under 360 panoramas is not shown as two L/R "squircles" as
> expected, but as a ~16:9 mono crop. This cropped view follows the
> rotational movements of the Rift (both vertically and horizontally).
>
> Lomax
>
> 1: https://i.imgur.com/il6CJUi.jpg
>
> On 2019-05-19 23:57, Lomax wrote:
>
>> Hello again,
>>
>> I've just tried cleanly rebuilding everything once more, this time
>> using a manual build of vlc/contrib/libplacebo. The shipped verion
>> (allthough the same version number) does not seem to include shaderc
>> support, so I downloaded/built/installed that first, then libplacebo,
>> then VLC. I'm basically trying to retrace every step I took on the
>> previous Celeron/Intel UHD machine, where it did work (albeit at
>> slideshow speeds). Alas, this seems to have made no difference. I'm
>> almost beginning to suspect that the change of GPU is the root of my
>> problem... Some concrete questions:
>>
>> Does VLC-HMD require libplacebo built with shaderc support?
>>
>> What is the role of libplacebo?
>>
>> What is the role of assimp?
>>
>> Are the VirtuaTheatre files needed for stereoscopic 360 playback?
>>
>> Are the following runtime errors possibly related to my problem?
>> - chain filter error: Too high level of recursion (3)
>> - main filter error: Failed to create video converter
>> - main vout display error: Failed to create video converter
>> - main vout display error: Failed to adapt decoder format to display
>> - main video output error: video output creation failed
>> - main decoder error: failed to create video output
>> I suspect not, because I do remember seeing them before - and there
>> *is* video output, just not in the right format.
>>
>> Is there any debugging method I can use to find out more - e.g. should
>> I build VLC with some debugging option?
>>
>> And finally, the main question: What might be the reason that the
>> video displays as a rectangular mono panorama instead of the expected
>> side by side stereo "squircles"?
>>
>> To be fair, I am putting these questions as much to myself, while
>> hoping those who know the ins & outs of VLC can provide some further
>> insight.
>>
>> Doggedly,
>>
>> Lomax
>>
>> On 2019-05-19 17:26, Lomax wrote:
>>
>> Hi Alexandre,
>>
>> Thank you for spending time on this - don't worry about my long
>> rambling post from Friday; if there's any useful information there
>> then great, but the questions are not so important. In answer to your
>> questions re. usage, I'm working on a public exhibition at a "marine
>> knowledge centre" in Sweden (a registered non-profit), where the staff
>> are involved also in practical science - including diving to document,
>> sample and survey the marine life and seabed conditions. They have a
>> very nice stereoscopic 360 underwater camera (not sure of the model
>> but can check if you want) but they have no means to show its footage
>> to the museum visitors - which is where I come in: amongst other
>> things* I've been tasked to build a permanent exhibit with which
>> visitors can view this material. I chose, perhaps foolishly, to use
>> the Oculus Rift CV1, thinking it was a well established product with
>> plenty of support. Only afterwards did I find out that it was nothing
>> of the sort, and that indeed the whole area of stereoscopic 360 video
>> is severely underdeveloped. Only proprietary (Windows/MacOS)
>> applications seem to be available, which would be unsuitable for use
>> in an exhibition; no user interaction should be required to launch the
>> video, nor should the computer, or any OS or application GUI elements
>> be visible, and the system needs to be reliable - we just want the
>> video to play in a continuous loop from when the computer is switched
>> on until it's switched off, and nothing else. This, and the fact that
>> it is open source, is why I went with VLC - thinking the command line
>> interface should make it easy to get it to start playing on boot (and
>> it was), and that we could tweak anything else we might want to adjust
>> in the source if needed. So our application is basically as simple as
>> could be; there's no interactivity, no audio, and no motion tracking
>> beyond rotation, and the material is pretty "standard" (at least as
>> far as any standards are established). But I've now spent 50hrs+ on
>> this, and EUR1500+ on hardware, yet have nothing to show, which means
>> I'll have some tough explaining to do...
>>
>> I've taken some quick snaps of what I see[1-4] - please let me know if
>> there's any specific information I can provide which may help getting
>> to the bottom(!) of this.
>>
>> Cheers,
>>
>> Lomax
>>
>> *) For example, I've also built a remote controlled submerged camera
>> out in the water, based on an Axis PTZ PoE camera, which can be
>> controlled with an analogue joystick from inside a mock "submarine".
>> This is 2D HD and works beautifully on a Pi3 connected to a curved 27"
>> monitor.
>>
>> 1: https://i.imgur.com/WGzfcY4.jpg
>> 2: https://i.imgur.com/bAy39Wy.jpg
>> 3: https://i.imgur.com/jWTbBxn.jpg
>> 4: https://i.imgur.com/SswgW8T.jpg
>>
>> Hi, I'll answer to your bigger previous post later, but first, thank
>> you for your comprehensive testing of this branch and the report you
>> did.
>>
>> The code is extracting lenses properties from OpenHMD to match the
>> projection with the way the headset works. If there is no HMD, there
>> is no projection. The "circle-like" effect is a colour and pixel
>> transformation (using panotools parameters) to match the lenses used
>> by the headset, which is needed because of the low distance between
>> the eyes and the screen in the headset.
>>
>> What is your setup, do you have screenshot of the issue ? This code
>> was
>> taylored for headset demos so there are probably a lot of different
>> hacks and mostly only headset playback is probably correctly handled
>> in
>> this version.
>>
>> I can try to provide you a version with some fixes for the demo if you
>> want and if it's not too much time consuming, but I would like to know
>> the exact use case for your demo. You can ping me as "unidan" on irc
>> if
>> you need some help on the build itself.
>>
>> Greats,
>> --
>> Alexandre Janniaux,
>> VideoLabs
More information about the vlc-devel
mailing list