[fixed] 4k HEVC DXVA2 not playing correctly in MP2 (1 Viewer)

Owlsroost

Retired Team Member
  • Premium Supporter
  • October 28, 2008
    5,540
    5,038
    Cambridge
    Home Country
    United Kingdom United Kingdom
    Question - which versions of HEVC play OK using 'DXVA2 Native', and which don't?

    Do 4k 8-bit work?
    Do 4k 10-bit work?

    If it doesn't work 'native', does it work 'copy-back'?

    (I'm guessing that LAV Video decoder can't negotiate a usable DXVA2 connection type for e.g. 10-bit HEVC through MP2's EVR presenter. Does MP2 handle 10-bit video OK using other codecs e.g. H.264?)
     

    JSchuricht

    MP Donator
  • Premium Supporter
  • January 13, 2009
    239
    45
    Arizona
    Home Country
    United States of America United States of America
    The file I am testing with is 10 bit HEVC both native and copy back do not work with MP2 but work with MPCHC. I am going to look for a 4k 10 bit H264 and 8 bit HEVC file for testing.
     

    morpheus_xx

    Retired Team Member
  • Team MediaPortal
  • March 24, 2007
    12,073
    7,459
    Home Country
    Germany Germany
    I'm guessing that LAV Video decoder can't negotiate a usable DXVA2 connection type for e.g. 10-bit HEVC through MP2's EVR presenter. Does MP2 handle 10-bit video OK using other codecs e.g. H.264?
    I remember that DXVA was initially (4 years agon) not working because the service was not returned here: MediaPortal/MediaPortal-2. Are there more services required to make it working?
     

    Owlsroost

    Retired Team Member
  • Premium Supporter
  • October 28, 2008
    5,540
    5,038
    Cambridge
    Home Country
    United Kingdom United Kingdom
    I remember that DXVA was initially (4 years agon) not working because the service was not returned here: MediaPortal/MediaPortal-2. Are there more services required to make it working?

    I don't think so (but it's been a very long time since I last worked on MP1's EVR presenter).

    HEVC 4k 8 bit has no video.

    What would be interesting is to compare (using Graphedit) the connection information on the LAV Video decoder output pin for the HEVC files that work OK with the ones that don't (just double click on the filter to open the properties window):
    GraphStudeio_hevc_1.jpg


    The screen grab above is from just opening an 8-bit HEVC file directly in Graphstudio, and it's not using DXVA.
     

    JSchuricht

    MP Donator
  • Premium Supporter
  • January 13, 2009
    239
    45
    Arizona
    Home Country
    United States of America United States of America
    I might be looking for the wrong thing but where do you see if its using DXVA in graphstudio? I did notice graphstudio is not using hardware acceleration in LAV which may or may not matter for the info you need.

    4k 10bit HEVC (not working in MP2)
    upload_2018-11-1_20-54-47.png
    upload_2018-11-1_20-55-4.png


    4k 8bit HEVC (not working in MP2)
    upload_2018-11-1_21-7-15.png
    upload_2018-11-1_21-7-26.png


    720P 8 bit HEVC (works in MP2)
    upload_2018-11-1_20-58-35.png
    upload_2018-11-1_20-58-47.png


    4k x264 (works in MP2)
    upload_2018-11-1_21-1-0.png
    upload_2018-11-1_21-1-11.png



    I have a few more wrenches to throw into this.

    Some files do have limited ability to play in MP2. Below is a 4k HEVC 10 bit file that mostly works in MP2. MP2 stutters and gets out of sync with audio during complex scenes and will not skip ahead or resume after being stopped, it just freezes with a blank screen. This particular file is 17.8Mb/s and 24 minutes long vs a regular movie I was testing in the other files. The non working file is 128 minutes long 44.3 Mb/s.
    upload_2018-11-1_21-23-40.png
    upload_2018-11-1_21-23-51.png


    Mediainfo for working file top and non working bottom. Both files work fine in other programs like MPCHC.

    Code:
    Video
    ID                             : 1
    Format                         : HEVC
    Format/Info                    : High Efficiency Video Coding
    Format profile                 : Main 10@L5@Main
    Codec ID                       : V_MPEGH/ISO/HEVC
    Duration                       : 23 min 51 s
    Bit rate                       : 17.8 Mb/s
    Width                          : 3 840 pixels
    Height                         : 1 920 pixels
    Display aspect ratio           : 2.000
    Frame rate mode                : Constant
    Frame rate                     : 23.976 (24000/1001) FPS
    Color space                    : YUV
    Chroma subsampling             : 4:2:0
    Bit depth                      : 10 bits
    Bits/(Pixel*Frame)             : 0.101
    Stream size                    : 2.96 GiB (97%)
    Writing library                : x265 2.6+27-2f3c4158cf35:[Windows][GCC 6.3.0][64 bit] 10bit
    Encoding settings              : cpuid=1173503 / frame-threads=4 / numa-pools=0,28 / wpp / no-pmode / no-pme / no-psnr / no-ssim / log-level=2 / input-csp=1 / input-res=3840x1920 / interlace=0 / total-frames=34322 / level-idc=0 / high-tier=1 / uhd-bd=0 / ref=5 / no-allow-non-conformance / repeat-headers / annexb / no-aud / no-hrd / info / hash=0 / no-temporal-layers / open-gop / min-keyint=23 / keyint=250 / gop-lookahead=0 / bframes=8 / b-adapt=2 / b-pyramid / bframe-bias=0 / rc-lookahead=40 / lookahead-slices=0 / scenecut=40 / radl=0 / no-intra-refresh / ctu=64 / min-cu-size=8 / rect / amp / max-tu-size=32 / tu-inter-depth=3 / tu-intra-depth=3 / limit-tu=4 / rdoq-level=2 / dynamic-rd=0.00 / no-ssim-rd / signhide / no-tskip / nr-intra=0 / nr-inter=0 / no-constrained-intra / strong-intra-smoothing / max-merge=4 / limit-refs=1 / limit-modes / me=3 / subme=5 / merange=57 / temporal-mvp / weightp / weightb / no-analyze-src-pics / deblock=-3:-3 / sao / no-sao-non-deblock / rd=6 / no-early-skip / rskip / no-fast-intra / no-tskip-fast / no-cu-lossless / b-intra / no-splitrd-skip / rdpenalty=0 / psy-rd=2.00 / psy-rdoq=1.00 / no-rd-refine / no-lossless / cbqpoffs=0 / crqpoffs=0 / rc=crf / crf=16.0 / qcomp=0.80 / qpstep=4 / stats-write=0 / stats-read=0 / ipratio=1.40 / pbratio=1.30 / aq-mode=3 / aq-strength=1.00 / cutree / zone-count=0 / no-strict-cbr / qg-size=16 / no-rc-grain / qpmax=69 / qpmin=0 / no-const-vbv / sar=0 / overscan=0 / videoformat=5 / range=0 / colorprim=9 / transfer=16 / colormatrix=9 / chromaloc=0 / display-window=0 / master-display=G(13250,34500)B(7500,3000)R(34000,16000)WP(15635,16450)L(10000000,1) / max-cll=997,828 / min-luma=0 / max-luma=1023 / log2-max-poc-lsb=8 / vui-timing-info / vui-hrd-info / slices=1 / no-opt-qp-pps / no-opt-ref-list-length-pps / no-multi-pass-opt-rps / scenecut-bias=0.05 / no-opt-cu-delta-qp / no-aq-motion / hdr / hdr-opt / no-dhdr10-opt / analysis-save=(null) / analysis-load=(null) / analysis-reuse-level=5 / scale-factor=0 / refine-intra=0 / refine-inter=0 / refine-mv=0 / no-limit-sao / ctu-info=0 / no-lowpass-dct / refine-mv-type=0 / copy-pic=1
    Default                        : Yes
    Forced                         : No
    Color range                    : Limited
    Color primaries                : BT.2020
    Transfer characteristics       : SMPTE ST 2084
    Matrix coefficients            : BT.2020 non-constant
    Mastering display color primar : R: x=0.680000 y=0.320000, G: x=0.265000 y=0.690000, B: x=0.150000 y=0.060000, White point: x=0.312700 y=0.329000
    Mastering display luminance    : min: 0.0001 cd/m2, max: 1000.0000 cd/m2
    Maximum Content Light Level    : 997 cd/m2
    Maximum Frame-Average Light Le : 828 cd/m2


    Non working 4k HEVC 10 bit

    Code:
    Video
    ID                             : 1
    Format                         : HEVC
    Format/Info                    : High Efficiency Video Coding
    Format profile                 : Main 10@L5.1@High
    Codec ID                       : V_MPEGH/ISO/HEVC
    Duration                       : 2 h 8 min
    Bit rate                       : 44.3 Mb/s
    Width                          : 3 840 pixels
    Height                         : 2 160 pixels
    Display aspect ratio           : 16:9
    Frame rate mode                : Constant
    Frame rate                     : 23.976 (24000/1001) FPS
    Color space                    : YUV
    Chroma subsampling             : 4:2:0 (Type 2)
    Bit depth                      : 10 bits
    Bits/(Pixel*Frame)             : 0.223
    Stream size                    : 39.7 GiB (91%)
    Title                          : MPEG-H HEVC Video / 44265 kbps / 2160p / 23.976 fps / 16:9 / Main 10 Profile 5.1 High / 4:2:0 / 10 bits / HDR / BT.2020
    Language                       : English
    Default                        : Yes
    Forced                         : No
    Color range                    : Limited
    Color primaries                : BT.2020
    Transfer characteristics       : SMPTE ST 2084
    Matrix coefficients            : BT.2020 non-constant
    Mastering display color primar : R: x=0.680000 y=0.320000, G: x=0.265000 y=0.690000, B: x=0.150000 y=0.060000, White point: x=0.312700 y=0.329000
    Mastering display luminance    : min: 0.0001 cd/m2, max: 1000.0000 cd/m2
    Maximum Content Light Level    : 1000 cd/m2
    Maximum Frame-Average Light Le : 153 cd/m2
     

    Attachments

    • upload_2018-11-1_21-25-13.png
      upload_2018-11-1_21-25-13.png
      51 KB

    Owlsroost

    Retired Team Member
  • Premium Supporter
  • October 28, 2008
    5,540
    5,038
    Cambridge
    Home Country
    United Kingdom United Kingdom
    4k x264 (works in MP2)

    The screen grabs below that line look like they are for a 720 x 480 frame size file, not 4k (look at the 'rcSource' and 'rcTarget' values).

    I might be looking for the wrong thing but where do you see if its using DXVA in graphstudio? I did notice graphstudio is not using hardware acceleration in LAV which may or may not matter for the info you need.

    In theory, the 'biCompression' value should be 'DXVA' - but if you have the sys tray icon enabled for LAV Video and use it to open the property page it will tell you which decoder is in use ('Active Decoder: dxva2n' in the example below - it will be 'avcodec' if it is using software decoding):

    upload_2018-11-2_8-22-33.png


    I think there may be some confusion here about using GraphStudio with MP2 - what we need is to use the 32-bit version of GraphStudio in 'connect to remote graph' mode while MP2 is playing a file (run MP2 in windowed mode to make this easier). That allows you see the live graph that MP2 is using. Example using MP1 below (note 'biCompression' = 0x61767864 [dxva]):

    GraphStudeo_remote_connect_hevc_1.jpg


    To make the remote connect work, you need to drop 'proppage.dll' (attached) into the same folder that 32-bit GraphStudio is installed, then open an administrator command prompt and type "regsvr32 proppage.dll" to register the dll. Then run GraphStudio and select 'Connect to Remote Graph...' from the file menu
     

    Attachments

    • proppage.zip
      130.6 KB

    Owlsroost

    Retired Team Member
  • Premium Supporter
  • October 28, 2008
    5,540
    5,038
    Cambridge
    Home Country
    United Kingdom United Kingdom
    This is playing a 4k HEVC version of the movie (in MP1):

    GraphStudeo_remote_connect_hevc_4k.jpg


    upload_2018-11-2_9-48-14.png
     

    Attachments

    • upload_2018-11-2_9-47-59.png
      upload_2018-11-2_9-47-59.png
      59.1 KB

    JSchuricht

    MP Donator
  • Premium Supporter
  • January 13, 2009
    239
    45
    Arizona
    Home Country
    United States of America United States of America
    Yep, I definitely wasn't using graphstudio right.

    4k 10 bit HEVC
    upload_2018-11-3_2-47-29.png
    upload_2018-11-3_2-47-41.png


    4k x264
    upload_2018-11-3_2-52-30.png
    upload_2018-11-3_2-52-42.png


    4k 8 bit HEVC
    upload_2018-11-3_2-54-22.png

    upload_2018-11-3_2-54-33.png


    4k 10 bit HEVC
    upload_2018-11-3_2-56-53.png
    upload_2018-11-3_2-57-3.png


    720p 8 bit HEVC
    upload_2018-11-3_2-59-22.png
    upload_2018-11-3_2-59-35.png
     

    Attachments

    • upload_2018-11-3_2-56-36.png
      upload_2018-11-3_2-56-36.png
      89.8 KB

    Users who are viewing this thread

    Top Bottom