GearVR - Video Texture - Aliasing?

Hello friends,

postet this already on answerhub. pretty urgent. sorry for crossposting.

I’m working on an interactive 360 video for GearVR with UE 4.16.1 for a client.

We map a 360 video on a sphere with the media player and have different triggers in the scene that pause and play the video at certain points in time - which is working perfectly fine.

The big problem is, that the Anti-Aliasing is not working. Changing settings on MSAA or anything else doesn’t have an effect on anything.

At some point we had a version with a 1920x1080 video. One build was pixelated and really bad in terms of aliasing - another build looked pretty smooth. Same thing with 3840x2178. So at some point in time one Build hat AA running and the next build - even without changing anything - had no AA anymore.

The version with 3840x2170 looks ok due it’s high resolution - the 1920x1080 version was so bad that you can’t watch it without getting sick. Looks almost like a pixel style rendering

Video has edgy / jittery lines. No anti-aliasing happening. Tried almost everything I found on the internet (Settings in different .ini files). Now I realized that I’m also getting a console output which says: “CVar named ‘r.MobileMSAA’ marked up in RendererSettings was not found or is set to read-only” as soon as I switch the Mobile MSAA value in the project settings. Don’t know if this is maybe a connection to my not working MSAA problem on GearVR.

Video looks super crisp without any aliasing in the editor playmode.

We use a Galaxy S7 (Europe). We are running Windows 10 Tested resolutions: 1920x1080 and 3840x2160 both MP4 / H264

edit: changing the MipValueMode to “MipLevel (absolute, 0 is full resolution)” and setting it to 0 -> the audio will play on the phone + gearvr but the video does not show up. In the meanwhile I also converted the video to a 2048x2048 resoltion
I have the feeling it might be connected to the MipMap resolution.

Anyone who can give me a hint in the right direction?

Thanks Best John

GearVR should be enabling MSAA (r.MobileOnChipMSAA=1). The pixelation of video is likely a texture sampling precision issue. You need to enable “Use Full Precision” under the mobile section on the material or the interpolators will not have enough precision for sampling the higher resolution texture.

thanks for the reply.
high precision is enabled in the material and does’t seem to have any major effect.
r.MobileOnChipMSAA doesn’t seem to be available in the engine (I do not get an autocomplete for this variable in the console) But I tested it already with DefaultDeviceProfiles.ini before and it didn’t seem to have any effect.
My workaround at the moment is to use a higher ScreenPercentage value (about 225) which is pretty heavy in terms of performance but makes the overall video quality better and also get’s rid of the moiré effect.

Any other ideas? Is there actually a resolution limit for the mediaplayer in UE4?
Didn’t find anything clear about that on the www.

I mean: does it make sense to have a 4k video - or is it scaled down to 1080 or so anyways?

Ok, try r.MobileMSAA=1.

4K movies will work on Android and won’t be scaled down. The only issue I had seen was not getting the full resolution due to the interpolator accuracy not being high enough to address all the texels.

it seems to be that the whole video is always just shown at half resolution. it is not even an aliasing issue but the video looks pixelated. we just made a quick test with unity (4k resolution at 30fps) and it looks perfect.
pretty sad that we gonna have to switch over to unity for this project. I tried to fix the issue in unreal for the last two weeks but there seems to be no way to have a good quality 4k video on a sphere.

Pixelation is the artifact from too low a precision. I’m seeing 4k in my testing.

Since I have “Use Full Precision” enabled in the material, what else can I do about the pixelation / to low precision?

just a little push :slight_smile:
any resource or help about the problem?

I just tried an S7 Mali (I believe this is the one you are using since you said Europe) and did not see an issue playing 4k mp4. Can you share a movie file and/or project for testing? All I had to do was set full precision on the material to get rid of the pixelation. I’m working on updates to the movie player right now which will improve performance by using the external texture directly from the material shader; right now there is one GPU copy to an intermediate render target before it is sampled.

Chris, please refer to the following bug report, in which I have included a detailed description of (I believe) the same bug being reported in this thread.
There are sample repositories linked there that you can use to reproduce this behavior.
https://answers.unrealengine.com/questions/672477/media-framework-poor-quality-rendering-on-gear-vr.html

Hey, sorry for not getting back to this topic sooner. Had to finish the project with unity :frowning:
But since I want to avoid that in the future. Back at the topic now.

I will try to (re)produce an sample of the problem, since I’m not allowed to post the project online.

The images that are shown in the answerhub (toddsdk) look pretty much like the problem I have!