• Content
  • 2400p .264 Oculus is pointless.

With all respect to the people who take their time to offer us this niche resolution. This is meant educational, not insulting.

While I was brushing up on codecs to make my own 2400p version(s) for videos that didn't have this, I ran into a quality issue with this format.
Turns out, most of, if not all, the 2400p AVC versions are worse quality than watching the 1920p HEVC versions.
As example I took one of the most recent videos:

The zoom at first glance seems to be uneven, but the images are displayed at true size/resolution. So no zoom in nor out.
Full format: https://drive.google.com/file/d/104MbtxHGPZqfL5Nxxg2OlkLAaeY1VL7Q/view?usp=sharing

    Philip Yes, but the point is that for the 2400p encoded videos, the bitrate is set too low. Playing the 1920p HEVC in your Oculus will still look better than the 2400p AVC with too low bitrate.
    In this example, the bitrate for the 2400p should be more in the range of 25-30Mb/s , preferably with CABAC enabled. And deblock (I don't know very well how the deblock settings actually work.)
    I do know that in .265 the blocks can be bigger AND asynchronous. in 264 they are much smaller and all the same size.

    Sadly the original files already come in 4:2:0, 4:2:2 would also be an option otherwise.

      Philip I never said anything about framerate 🙂

      I'm not here to try and talk down on you guys, I'm still learning myself.
      But with the current setting you use to encode the 2400p AVC, the quality is worse than the 1920p HEVC
      While the 2400p is supposed to look better.

        You are right, 2400p doesn't make sense for Oculus, it was created specifically for Oculus GO to reach its maximum H264 video resolution of 4800x2400 at 60FPS and at such a high resolution CABAC is not an option, we have to use VLC coder to achieve smooth playback.
        The maximum bitrate of 15Mbps was chosen as a compromise between quality, Oculus GO internal storage capacity, and average user internet speed.
        YUV420p is the only chroma subsampling that is supported by majority of hardware video decoders and we had to use it for all streaming files.

          root yes, but what's the point if it visually looks worse than 1920p (or 2048p) HEVC? (I can show you more examples if you want me to.)

          It's not that I don't apreciate SLR is doing this specially for OGo users.
          ie the 2400p I made for One Girl Eight Cocks plays perfectly fine on my OGo with CABAC, the 44Mb/s might be a bit overkill, 30Mb/s should be enough i think. settings:

          Format                                   : AVC
          Format/Info                              : Advanced Video Codec
          Format profile                           : High@L6
          Format settings                          : CABAC / 1 Ref Frames
          Format settings, CABAC                   : Yes
          Format settings, Reference frames        : 1 frame
          Format settings, GOP                     : M=1, N=12
          Codec ID                                 : avc1
          Codec ID/Info                            : Advanced Video Coding
          Duration                                 : 36 min 19 s
          Bit rate                                 : 44.0 Mb/s
          Width                                    : 4 800 pixels
          Height                                   : 2 400 pixels
          Display aspect ratio                     : 2.000
          Frame rate mode                          : Variable
          Frame rate                               : 59.940 (60000/1001) FPS
          Minimum frame rate                       : 59.920 FPS
          Maximum frame rate                       : 59.960 FPS
          Color space                              : YUV
          Chroma subsampling                       : 4:2:0
          Bit depth                                : 8 bits
          Scan type                                : Progressive
          Bits/(Pixel*Frame)                       : 0.064
          Stream size                              : 11.2 GiB (100%)
          Writing library                          : x264 core 157 r2935 545de2f
          Encoding settings                        : cabac=1 / ref=1 / deblock=1:-2:-2 / analyse=0x3:0x133 / me=umh / subme=10 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=0 / me_range=24 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=0 / chroma_qp_offset=-2 / threads=6 / lookahead_threads=1 / sliced_threads=0 / nr=0 / decimate=0 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=0 / weightp=2 / keyint=12 / keyint_min=4 / scenecut=40 / intra_refresh=0 / rc_lookahead=12 / rc=crf / mbtree=1 / crf=21.0 / qcomp=0.80 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:0.50
          Encoded date                             : UTC 2020-07-07 19:48:36
          Tagged date                              : UTC 2020-07-07 19:48:36
          Color range                              : Limited
          Color primaries                          : BT.709
          Transfer characteristics                 : BT.709
          Matrix coefficients                      : BT.709
          Codec configuration box                  : avcC
          

          I still have it up on my Google Drive if you want to check yourself.
          Edit: I didn't color code the text, did it by itself.

          I wanna stress again that I'm not trying to pull you guys down or anything. I love SLR!

          CABAC didn't work smoothly way back then when we introduced this resolution for Oculus GO, maybe they updated firmware, didn't test it.
          Internal storage capacity is 64GB max, 15Mbps work well for scenes with not much movement.
          Thank you for letting us know, we will test it and might change our encoding settings for Oculus GO.

            root Just for me personally I'm downloading (some) scenes in both versions to check which one I want to keep. There are cases where the 2400p does turn out better.

            I just now ran into this one, and the transition between scenes very very clearly shows what I mean.
            The blocky one is the 2400p, the better looking one is 1920p

            Oh and yes, a while back there was a firmware update. I experiments with transpose=90 rotate=-90 in 2400x4800 (so 1:2) in .265 but none of the players support it, it did work in windows media player however. But not the VR apps or even VLC MPclassic on PC.

            5 days later

            Can't tell straight off the bat what you guys changed because you seemingly even managed to lower the bitrate, but it's looking really good! The improvement is immense!


            Kudos!!

            • root replied to this.

              Appreciate this discussion for us Oculus go owners.

              While I understand the issue of quality is being considered right here, for the moment could someone advise which is actually the better format to download for max quality on Oculus Go, on balance? I don't particularly care about file size, meh to an extra GB here or there. I'm also not trying to be lazy - it's just that the issue seems murky enough to take quite a bit of time and effort to be making such a judgement calls across a range of examples, and I'm time poor at the moment.

              Rakly3, would you mind estimating what percentage you think the HEVC 4K looks better than the Oculus Go AVC format, given the samples you've seen?

                Saortica Scenes with darker overall colors or stark contrasts I personally prefer the 1920p HEVC. Sometimes they are 2048p 2160p.
                In brighter scenes it's less noticeable, the main advantage for choosing HEVC is, in most cases smaller filesize and lower bitrate. Which makes it easier for your network to handle if this would be an issue, potentially higher power usage with HEVC, Which by itself for me doesn't change much aside from the OGo shutting down faster on hot days. Mentioning this because I had this happen.

                Now, I don't know if this is coincidence or not, because I don't really see a clear change in the metadata, but the past couple of days some 2400p are actually good. I think it's because of low complexity of the frames. Not an actuall setting. You can still see the difference if you know what to look for. But on the OGo with the video playing normally you don't see the artifacting yet do benefit from a slightly better sharpness because of more pixel filling.
                According to the official numbers, you have full pixel saturation on the OGo at 5120x2560
                As reference, 2048 is 4/5th saturation. (80%)

                I'm also specifically talking about the OGo, The display in each headset impacts the picture differently, even if they would be the same resolution, there are other factors.

                root I'm still checking, but I have an example almost ready.

                It's possible imgur will remove these, though I put them as hidden.
                All 3 images: https://imgur.com/a/AKIs4kY

                1920p HEVC 10Mb/s High@L5.1 BT709

                2400p AVC High@L6 CABAC: yes 12.5Mb/s

                2400p AVC High@L6 no-CABAC 12.6Mb/s

                IMO there is a clear difference between 2400p no-CABAC and with-CABAC.
                Though, still compared to the 1920p HEVC, they don't particularly are higher quality.
                The bitrate for the 2400p is still too low imo.

                Comparativly, (not exact numbers)
                1920p HEVC 10Mb/s
                "="
                1920p AVC 20Mb/s

                So basically 2400p AVC at 12.5Mb/s has less bitrate to work with than the 1920p, which is a double 'whammy' as the resolution is about 45% larger on top of that.
                If I would have to pull a number out of my ass, I'd say you need at least 25Mb/s to make the 2400p AVC worthwile over the 1920p HEVC.

                (I picked that part of the scene because it has a bit of everything that would be noticeable on the OGo, banding, blocking, artifacts, contrast & gradient)

                  doublevr Fair comment but unfortunately my internet is currently not up to streaming very well.

                  Rakly3 Thanks for the info and comparisons, appreciated.