Skip to content

Black Screen with AMD Encoded H265 Stream #355

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
davlenx opened this issue Jan 7, 2024 · 17 comments · May be fixed by LizardByte/Sunshine#3888
Open

Black Screen with AMD Encoded H265 Stream #355

davlenx opened this issue Jan 7, 2024 · 17 comments · May be fixed by LizardByte/Sunshine#3888
Labels
bug Something isn't working compatibility Issues or information about device compatibility lg-lm21a SoC Platform video Issues related to video decoder

Comments

@davlenx
Copy link

davlenx commented Jan 7, 2024

Moonlight Version

1.6.2

Device Type

webOS TV

Device Model

LG 50up7500psf

Device OS

WebOS 6.4.0

Host OS

Windows

Host Software

Sunshine

Host Setup

Ryzen 5 5600G, Radeon Rx6600, 16GB Ram DDR4 3200mhz

Bug Description

Moonlight on WebOs was working properly until recently the tv updated. Since then either with the moonlight or Steam app there is a black screen every time i tried to stream my pc. I tested on my iphone and other computer and it works fine but it’s not working on my LG tv. Tried with different configurations of the video decoder and audio backend. There’s still the black screen with any config, and audio works only when i select any other source beside WebOS NDL, if I set NDL audio also dissapear

Reproduction Steps

No response

Expected Behavior

To LG tv show my pc streaming through moonlight properly as it happen before the update

@davlenx davlenx added the bug Something isn't working label Jan 7, 2024
@mariotaku mariotaku added lg-lm21a SoC Platform compatibility Issues or information about device compatibility video Issues related to video decoder labels Jan 12, 2024
@DanO83
Copy link

DanO83 commented Jan 19, 2024

Same issue with my LG tv, disabling H265 gets the video back

@mariotaku
Copy link
Owner

mariotaku commented Jan 22, 2024

@DanO83 Hi, would you mind sharing the software version & model of your TV? Sounds like we're having a pattern...

@DanO83
Copy link

DanO83 commented Jan 22, 2024

@DanO83 Hi, would you mind sharing the software version & model of your TV? Sounds like we're having a pattern...

software version is 03.40.70 , my model number is OLED48A16LA

@mariotaku
Copy link
Owner

@DanO83 Thanks so much for your info. Your TV is running webOS 6.4.0 too.

@davlenx
Copy link
Author

davlenx commented Jan 22, 2024

Same issue with my LG tv, disabling H265 gets the video back

How you disable it? sorry

@DanO83
Copy link

DanO83 commented Jan 22, 2024

Same issue with my LG tv, disabling H265 gets the video back

How you disable it? sorry

go to settings > video settings and make sure "Use H265 when possible" is not checked

@mostafa0017
Copy link

Same issue here, but it was the first time I tried moonlight-tv, so couldn't tell it was a new bug.
And disabling H.265 fixes the issue 😓.

Moonlight Version
1.6.8

Device Type
webOS TV

Device Model
LG 43UQ80006LD

Device OS
WebOS 7.3.1-46 (mullet-mebbin)

Host OS
Windows 10

Host Software
Sunshine

Host Setup
Ryzen 5 3600, Radeon Rx580, 64GB Ram DDR4 3200mhz

@mariotaku
Copy link
Owner

Are you all Having an AMD GPU? This looks like a pattern to me...

@mostafa0017
Copy link

@davlenx When you said black screen while streaming either with the moonlight or Steam app what exactly did you mean? what was the streaming server and corresponding client when you tried streaming via Steam ?

@xenouch
Copy link

xenouch commented Sep 30, 2024

Same issue and I have AMD GPU.
Using sunshine for streaming:

If i use AMF encoder i get black screen in h265
If i use software encoder all work in h265

Moonlight Version
1.6.18 / 1.6.19 pré-release

Device Type
webOS TV

Device Model
LG 43UR73006LA

Device OS
WebOS 8.3.0-2306

Software version
03.31.16

Host OS
Windows 10

Host Software
Sunshine

Host Setup
Ryzen 5 3700x, Radeon Rx5700xt, 16GB Ram DDR4 3200mhz

@roullig
Copy link

roullig commented Nov 20, 2024

So I have a similar issue and did some testing. All tests done with WebOS NDL option.

Sunshine AMD encoder + TV only AV1:
= Image completely freezes after few minutes of gameplay but audio is still there.

Sunshine AMD encoder + TV only H265:
= Black screen but audio is there.

Sunshine Software encoder + TV only AV1:
= No AV1.

Sunshine Software encoder + TV only H265:
= Automatically selects H264. (FPS drops to 50 from 60 when 4K, but fine with 1440p, also very high latency)

Sunshine Intel Quicksync + TV only AV1:
= Image completely freezes after few minutes of gameplay but audio is still there.

Sunshine Intel Quicksync + TV only H265:
= Black screen and no audio.

Sunshine AMD encoder + TV H264:
= Now this is the best one so far. Has very low latency and also can keep stable 4K 60FPS. However, though there is no frame drop, games feel like 50-55 FPS. I see some micro stuttering, similar to this post. Turning off or on the Vsync / Lowering the bitrate did not help. Games are still playable with distance from TV.

My Specs:
i5-13600K
RX 7900 XT
1000/120 internet speed. Using ethernet for both host and client.

TV:
LG 65UR81006LJ

TV Moonlight Version:
1.6.25

WebOS & TV Version:
WebOS23 / 8.4.0-19

@mariotaku mariotaku changed the title Black screen and audio working only with SMP video decoder Black Screen with AMD Encoded H265 Stream Feb 4, 2025
@mariotaku
Copy link
Owner

I'm able to purchase a device with similar SoC. Hopefully I could reproduce this issue locally and figure out the way to fix that.

@mariotaku mariotaku pinned this issue Apr 4, 2025
@mariotaku
Copy link
Owner

The board has arrived and I was able to reproduce this issue!

Basically, a huge bunch of 4K models through 2021 to 2023 (lm21a, lm21an, lm21ann), has this issue. The internal video decoder for H.265 would crash upon decoding video encoded by AMD card.

However, on an older firmware this issue doesn't seems to exist. So I'm trying to figure out what's going on.

@mariotaku
Copy link
Owner

mariotaku commented Apr 24, 2025

Verification

Here are 3 videos (H.265 codec, MP4 format) from the same test pattern, encoded by FFMPEG Software Encoder, NVENC and AMF.

sample_hevc_sw.mp4

sample_hevc_nvenc.mp4

sample_hevc_amf.mp4

The one that's encoded by AMF, can't be played on TV (no preview at all!):

Image

Behavior on Each Firmware

  • 03.33.11: Working
  • 03.34.70: Working
  • 03.36.35: Working
  • 03.40.70: Broken
  • 03.51.16: Broken

Investigation

HEVC Decoder logs errors as follows:

Console Output
[HLunaServiceBridge::proc]--> {"otaId":"HE_DTV_W21A_AFADATAA","sdkVersion":"6.4.0","returnValue":true}
Request audio module: webOS NDL
Request video module: webOS NDL
[SDL2:SYSTEM:0] SDL Init start with flag : 32
[SS4S.Audio] Opening driver ndl-webos5
[SS4S.Audio] Opened driver: ndl-webos5
[SS4S.Video] Opening driver ndl-webos5
[SS4S.Video] Opened driver: ndl-webos5
[SS4S.NDL] Driver init.
[SS4S.NDL] OpenVideo called
[SS4S.NDL] ReloadWithSize(3840, 2160) called
[SS4S.NDL] Reloading media
[SS4S.NDL] NDL_DirectMediaLoad(video=2 (3840*2160), atype=0)
AquireLogContext result = 0
AquireLogContext result = 0[MsVsinkPrintk] [GST][V] class_init
[MsVsinkPrintk] [GST][V] dec_init
[MsVsinkPrintk] Open /etc/gst/gstcool.conf successful
[MsVsinkPrintk] Show Debug feature result...
[MsVsinkPrintk] Debug feature GST_OMX_VIDEO_DEBUG_FEATURE_CHECK_UNDERRUN = 0
[MsVsinkPrintk] Debug feature GST_OMX_VIDEO_DEBUG_FEATURE_DUMP_ES = 0
[MsVsinkPrintk] Debug feature GST_OMX_VIDEO_DEBUG_FEATURE_DUMP_INAVLID_ES = 0
[MsVsinkPrintk] Debug feature GST_OMX_VIDEO_DEBUG_FEATURE_PROFILE = 0
[MsVsinkPrintk] app_type=DIRECTMEDIA
[MsVsinkPrintk] [GST][V][S]gst_mvsink_class_init
[MsVsinkPrintk] Open /etc/gst/gstcool.conf successful
[MsVsinkPrintk] Show Debug feature result...
[MsVsinkPrintk] Debug feature GST_MVSINK_DEBUG_FEATURE_USE_SYSTEM_CLOCK = 0
[MsVsinkPrintk] Debug feature GST_MVSINK_DEBUG_FEATURE_VIDEO_FREE_RUN = 0
[MsVsinkPrintk] Debug feature GST_MVSINK_DEBUG_FEATURE_GST_COMMAND = 0
[MsVsinkPrintk] Debug feature GST_MVSINK_DEBUG_FEATURE_MORE_AVSYNC_INFORMATION = 0
[MsVsinkPrintk] Debug feature GST_MVSINK_DEBUG_FEATURE_PROFILE = 0
[MsVsinkPrintk] [GST][V][S]gst_mvsink_init
[MsVsinkPrintk] x_madp_vsink_open  vsink_id:0
[MsVsinkPrintk] v4l2_vsink_open  vsink_id:0  v4l2_fd:30
[MsVsinkPrintk] app_type=DIRECTMEDIA, app_val=5

(sample-av-threaded:11372): GLib-GObject-WARNING **: 23:57:57.456: g_object_set_is_valid_property: object class 'GSTMVSink' has no property named 'lipsync-offset'
11372 (sample-av-threaded) PBNJSON src/pbnjson_c/jobject.c:1938 :: Trying to access 0 as a number
[MsVsinkPrintk] [GST][V][S] 68062839: NULL ==> NULL

[MsVsinkPrintk] [MsVsinkPrintLockStatus]msVsinkV4L2[0].u32lockby=0
[MsVsinkPrintk] [GST][V][S] invoke parent state change
[MsVsinkPrintk] [GST][V][S] invoke parent state change done
[MsVsinkPrintk] [GST][V][S] 68062840: NULL ==> NULL done
[MsVsinkPrintk] [GST][V][D] video-port 0 w:3840 h:2160 seamless 1  is_SHVC:0
[MsVsinkPrintk] [GST][V][S] 68062840: NULL ==> READY

[MsVsinkPrintk] [MsVsinkPrintLockStatus]msVsinkV4L2[0].u32lockby=0
 msil_system_init, version MSIL_-01.01.1233982[Utopia][MSOS]: [INFO][MsOS_SHM_Init][1097]     Mappd share memory: 0xt66513000
[Utopia][MSOS]: [INFO][_MsOS_InitEventGroup][4053]     Flag=MSOS_SHM_QUERY Addr=0x6651AF90
[utopia info] utopia init
[utopia info] default using kernel mode utopia
[Utopia][PWS]: Function = PWSRegisterToUtopia, Line = 1134, PWS Register finished
[Utopia][MFE_EX]: MFERegisterToUtopia
[Utopia][AUDIO]: AUDIORegisterToUtopia is invoked
[Utopia][AUDIO]: AUDIORegisterToUtopia : Success to register resource 'audio0' of 1 resource
HDMITxRegisterToUtopia..................
##########  MsOS_MPool_Init:1
##########  InitMMAPInfo
-----------------YF MMAPCfg Start---------------------
total_mem_size = 1536 MB, miu0_mem_size = 1536 MB, miu1_mem_size = 0 MB,         miu_boundary = 0 MB, n_mmap_items = 60
MMAP[00] = 0x00000000 len:0x00000000  layer = 0 align = 0x00000000 (MIU1)
MMAP[00] = 0x00000000 len:0x00000000  layer = 0 align = 0x00000000 (MIU1)
MMAP[00] = 0x00000000 len:0x00000000  layer = 0 align = 0x00000000 (MIU1)
MMAP[00] = 0x00000000 len:0x00000000  layer = 0 align = 0x00000000 (MIU1)
MMAP[69] = 0x22200000 len:0x00800000  layer = 0 align = 0x00000010 (MIU0)
MMAP[78] = 0x22b00000 len:0x00000000  layer = 0 align = 0x00001000 (MIU0)
MMAP[00] = 0x00000000 len:0x00000000  layer = 0 align = 0x00000000 (MIU1)
MMAP[00] = 0x00000000 len:0x00000000  layer = 0 align = 0x00000000 (MIU1)
MMAP[00] = 0x00000000 len:0x00000000  layer = 0 align = 0x00000000 (MIU1)
MMAP[00] = 0x00000000 len:0x00000000  layer = 0 align = 0x00000000 (MIU1)
MMAP[00] = 0x00000000 len:0x00000000  layer = 0 align = 0x00000000 (MIU1)
MMAP[00] = 0x00000000 len:0x00000000  layer = 0 align = 0x00000000 (MIU1)
MMAP[26] = 0x20c00000 len:0x00000000  layer = 0 align = 0x00000008 (MIU0)
MMAP[00] = 0x00000000 len:0x00000000  layer = 0 align = 0x00000000 (MIU1)
MMAP[00] = 0x00000000 len:0x00000000  layer = 0 align = 0x00000000 (MIU1)
MMAP[00] = 0x00000000 len:0x00000000  layer = 0 align = 0x00000000 (MIU1)
MMAP[00] = 0x00000000 len:0x00000000  layer = 0 align = 0x00000000 (MIU1)
MMAP[00] = 0x00000000 len:0x00000000  layer = 0 align = 0x00000000 (MIU1)
MMAP[00] = 0x00000000 len:0x00000000  layer = 0 align = 0x00000000 (MIU1)
MMAP[00] = 0x00000000 len:0x00000000  layer = 0 align = 0x00000000 (MIU1)
MMAP[00] = 0x00000000 len:0x00000000  layer = 0 align = 0x00000000 (MIU1)
MMAP[00] = 0x00000000 len:0x00000000  layer = 0 align = 0x00000000 (MIU1)
MMAP[00] = 0x00000000 len:0x00000000  layer = 0 align = 0x00000000 (MIU1)
MMAP[00] = 0x00000000 len:0x00000000  layer = 0 align = 0x00000000 (MIU1)
MMAP[00] = 0x00000000 len:0x00000000  layer = 0 align = 0x00000000 (MIU1)
MMAP[00] = 0x00000000 len:0x00000000  layer = 0 align = 0x00000000 (MIU1)
MMAP[00] = 0x00000000 len:0x00000000  layer = 0 align = 0x00000000 (MIU1)
MMAP[00] = 0x00000000 len:0x00000000  layer = 0 align = 0x00000000 (MIU1)
MMAP[00] = 0x00000000 len:0x00000000  layer = 0 align = 0x00000000 (MIU1)
MMAP[00] = 0x00000000 len:0x00000000  layer = 0 align = 0x00000000 (MIU1)
MMAP[00] = 0x00000000 len:0x00000000  layer = 0 align = 0x00000000 (MIU1)
MMAP[00] = 0x00000000 len:0x00000000  layer = 0 align = 0x00000000 (MIU1)
MMAP[11] = 0x1d000000 len:0x00000000  layer = 0 align = 0x00001000 (MIU0)
MMAP[79] = 0x22b00000 len:0x00000000  layer = 0 align = 0x00000008 (MIU0)
MMAP[00] = 0x00000000 len:0x00000000  layer = 0 align = 0x00000000 (MIU1)
MMAP[00] = 0x00000000 len:0x00000000  layer = 0 align = 0x00000000 (MIU1)
MMAP[00] = 0x00000000 len:0x00000000  layer = 0 align = 0x00000000 (MIU1)
MMAP[00] = 0x00000000 len:0x00000000  layer = 0 align = 0x00000000 (MIU1)
MMAP[00] = 0x00000000 len:0x00000000  layer = 0 align = 0x00000000 (MIU1)
MMAP[49] = 0x21320000 len:0x00004000  layer = 0 align = 0x00000008 (MIU0)
MMAP[00] = 0x00000000 len:0x00000000  layer = 0 align = 0x00000000 (MIU1)
MMAP[00] = 0x00000000 len:0x00000000  layer = 0 align = 0x00000000 (MIU1)
MMAP[00] = 0x00000000 len:0x00000000  layer = 0 align = 0x00000000 (MIU1)
MMAP[66] = 0x1d000000 len:0x00500000  layer = 0 align = 0x00000008 (MIU0)
MMAP[89] = 0x23100000 len:0x00000000  layer = 0 align = 0x00000008 (MIU0)
MMAP[00] = 0x00000000 len:0x00000000  layer = 0 align = 0x00000000 (MIU1)
MMAP[00] = 0x00000000 len:0x00000000  layer = 0 align = 0x00000000 (MIU1)
MMAP[00] = 0x00000000 len:0x00000000  layer = 0 align = 0x00000000 (MIU1)
MMAP[00] = 0x00000000 len:0x00000000  layer = 0 align = 0x00000000 (MIU1)
MMAP[00] = 0x00000000 len:0x00000000  layer = 0 align = 0x00000000 (MIU1)
MMAP[00] = 0x00000000 len:0x00000000  layer = 0 align = 0x00000000 (MIU1)
MMAP[00] = 0x00000000 len:0x00000000  layer = 0 align = 0x00000000 (MIU1)
MMAP[00] = 0x00000000 len:0x00000000  layer = 0 align = 0x00000000 (MIU1)
MMAP[00] = 0x00000000 len:0x00000000  layer = 0 align = 0x00000000 (MIU1)
MMAP[00] = 0x00000000 len:0x00000000  layer = 0 align = 0x00000000 (MIU1)
MMAP[00] = 0x00000000 len:0x00000000  layer = 0 align = 0x00000000 (MIU1)
MMAP[00] = 0x00000000 len:0x00000000  layer = 0 align = 0x00000000 (MIU1)
MMAP[00] = 0x00000000 len:0x00000000  layer = 0 align = 0x00000000 (MIU1)
MMAP[00] = 0x00000000 len:0x00000000  layer = 0 align = 0x00000000 (MIU1)
MMAP[00] = 0x00000000 len:0x00000000  layer = 0 align = 0x00000000 (MIU1)
-----------------MMAPCfg End-----------------------

MsOS_MPOOL_MAPPED checking, start MsOS_MPool_Mapping..
Get Memory Block[33] pMMap.u32Addr[22b00000] pMMap.u32Size[0] miu[0]
Get Memory Block[39] pMMap.u32Addr[21320000] pMMap.u32Size[4000] miu[0]
Get Memory Block[5] pMMap.u32Addr[22b00000] pMMap.u32Size[0] miu[0]
Get Memory Block[4] pMMap.u32Addr[22200000] pMMap.u32Size[800000] miu[0]
Get Memory Block[32] pMMap.u32Addr[1d000000] pMMap.u32Size[0] miu[0]
Get Memory Block[43] pMMap.u32Addr[1d000000] pMMap.u32Size[500000] miu[0]
Get Memory Block[44] pMMap.u32Addr[23100000] pMMap.u32Size[0] miu[0]
Get Memory Block[45] pMMap.u32Addr[23100000] pMMap.u32Size[0] miu[0]
##### File:[src/msil_system.c] Function:[msil_system_init] Line:[2905]#####
[Utopia][MSOS]: [WARN][MsOS_Init][5846]     Already inited.
[Utopia][MSOS]: [INFO][MsOS_SHM_Init][1070]     Already inited.
##### File:[src/msil_system.c] Function:[msil_system_init] Line:[2931]#####
[MsVsinkPrintk] [GST][V][S] invoke parent state change
[MsVsinkPrintk] [GST][V][S] invoke parent state change done
[MsVsinkPrintk] [GST][V][S] 68062859: NULL ==> READY done
[MsVsinkPrintk] [GST][V][D] NULL ==> READY
[MsVsinkPrintk] [GST][V][D] invoke parent state change
[MsVsinkPrintk] [GST][V] Opening decoder
[68063103][INF](MS_OMX_CORE)[OMX_GetHandle()][494] ComponentName : OMX.MS.HEVC.Decoder, version OMX_-01.01.a853a7f2fa2451dad108c9187b7f5bef9b7402dd
[MsVsinkPrintk] OMX DEBUG INFO: ComponentName : OMX.MS.HEVC.Decoder, version OMX_-01.01.a853a7f2fa2451dad108c9187b7f5bef9b7402dd
[MsVsinkPrintk] [GST][V] debug port_number 0
[68063104][DBG](MS_OMX_VDEC)[MS_OMX_VideoDecodeSetParameter()][2868] Enable N decode, port = 0
[MsVsinkPrintk] [GST][V][D] Opened decoder
[MsVsinkPrintk] [GST][V][D] invoke parent state change done
[MsVsinkPrintk] [GST][V][D] NULL ==> READY done
[MsVsinkPrintk] [GST][V][S] 68063104: READY ==> PAUSED

[MsVsinkPrintk] [MsVsinkPrintLockStatus]msVsinkV4L2[0].u32lockby=0
[MsVsinkPrintk] [GST][V][S] invoke parent state change
[MsVsinkPrintk] [GST][V][S] invoke parent state change done
[MsVsinkPrintk] [GST][V][S] 68063104: READY ==> PAUSED done
[MsVsinkPrintk] [GST][V][D] READY ==> PAUSED
[MsVsinkPrintk] [GST][V][D] invoke parent state change
[MsVsinkPrintk] [GST][V][D] invoke parent state change done
[MsVsinkPrintk] [GST][V][D] READY ==> PAUSED done
[SS4S.NDL] OpenVideo returned 0
[68063107][DBG](MS_OMX_VDEC)[MS_OMX_VideoDecodeSetParameter()][3037] Max width = 3840
[68063107][DBG](MS_OMX_VDEC)[MS_OMX_VideoDecodeSetParameter()][3043] Max height = 2160
[MsVsinkPrintk] [GST][V] low_queue 0 media video/x-h265
[MsVsinkPrintk] MS_OMX_VideoDecodeSetParameter  OMX_IndexParamPortDefinition  pMimeType:video/hevc
[MsVsinkPrintk] maxWidth:3840  maxHeight:2160
[MsVsinkPrintk] MS_OMX_VideoDecodeSetParameter  OMX_IndexParamPortDefinition  pMimeType:raw/video
[MsVsinkPrintk] Enable low latency mode
[68063107][DBG](MS_OMX_VDEC)[MS_OMX_VideoDecodeSetParameter()][2903] Enable Mstar Live Streaming Playback mode
[MsVsinkPrintk] MS_OMX_VideoDecodeSetParameter  OMX_IndexParamPortDefinition  pMimeType:raw/video
[68063108][DBG](MS_OMX_VDEC)[MS_OMX_AllocateBuffer()][1053] Allocate pBuffer[0]: 0x6280f008
[68063108][DBG](MS_OMX_VDEC)[MS_OMX_AllocateBuffer()][1053] Allocate pBuffer[0]: 0x6230e008
[68063108][DBG](MS_OMX_VDEC)[MS_OMX_AllocateBuffer()][1053] Allocate pBuffer[0]: 0x61e0d008
[68063108][DBG](MS_OMX_VDEC)[MS_OMX_AllocateBuffer()][1053] Allocate pBuffer[0]: 0x6190c008
[68063108][DBG](MS_OMX_VDEC)[MS_OMX_AllocateBuffer()][1053] Allocate pBuffer[0]: 0x6140b008
[68063108][DBG](MS_OMX_VDEC)[MS_OMX_AllocateBuffer()][1053] Allocate pBuffer[1]: 0x6c708120
[68063108][DBG](MS_OMX_VDEC)[MS_OMX_AllocateBuffer()][1053] Allocate pBuffer[1]: 0x6c7082c0
[68063108][DBG](MS_OMX_VDEC)[MS_OMX_AllocateBuffer()][1053] Allocate pBuffer[1]: 0x6c708460
[68063108][DBG](MS_OMX_VDEC)[MS_OMX_AllocateBuffer()][1053] Allocate pBuffer[1]: 0x6c708600
[68063108][DBG](MS_OMX_VDEC)[MS_OMX_AllocateBuffer()][1053] Allocate pBuffer[1]: 0x6c7087a0
[68063108][DBG](MS_OMX_VDEC)[MS_OMX_AllocateBuffer()][1053] Allocate pBuffer[1]: 0x6c708940
[68063108][DBG](MS_OMX_VDEC)[MS_OMX_AllocateBuffer()][1053] Allocate pBuffer[1]: 0x6c708ae0
[MsVsinkPrintk] v4l2_open  vdec_fd:49
[68063108][INF](MSTAR_VDEC_V4L2)[v4l2_open_devname()][396] open video device /dev/video20
[MsVsinkPrintk] MtkVdecSetLowDelay  LowDelay:1
[68063131][INF](MS_OMX_VDEC)[MS_OMX_OutputBufferProcess()][2089] [OMX.MS.HEVC.Decoder]MS_OMX_OutputBufferProcess: in pause state , waiting for resume...
[68063131][INF](MS_OMX_VDEC)[MS_OMX_BufferProcess()][1974] [OMX.MS.HEVC.Decoder]MS_OMX_BufferProcess: in pause state , waiting for resume...
[68063133][INF](MS_OMX_VDEC)[MS_OMX_OutputBufferProcess()][2091] [OMX.MS.HEVC.Decoder]MS_OMX_OutputBufferProcess: ...resumed
[MsVsinkPrintk] signal svp handle 0x6acbb7f0, svp flow 1
[68063133][INF](MS_OMX_VDEC)[MS_OMX_BufferProcess()][1976] [OMX.MS.HEVC.Decoder]MS_OMX_BufferProcess: ...resumed
[MsVsinkPrintk] userdata_thread  Running
[MsVsinkPrintk] [GST][V][D]segment, rate = 1.000000, base = 0, offset = 0, start = 0, stop = 18446744073709551615, time = 0, position = 0
[MsVsinkPrintk] First frame pushed
[MsVsinkPrintk] MsVdecDecInfo  E_MSVDEC_HVD_ERR_CODE_OUT_OF_SPEC
[68063258][ERR](MS_OMX_HEVCDEC)[MS_MFC_HEVC_Decode()][896] Error Code: 3000001 0 1 0
[MsVsinkPrintkError] [GST] Component Decoder is in error state: Unknown error
[SS4S.SMP] LoadCallback ERROR, numValue: 100, strValue: Playing error

@mariotaku
Copy link
Owner

Some updates: AMD AMF produces [email protected] by default, while webOS declares support up to L5.1 for 4K devices (L5.2 is also acceptable though)

For some devices, they strictly follows the specs, and rejects L6.2 codec.

So we need to modify Sunshine to produce minimal supported level.

@mariotaku
Copy link
Owner

Sunshine testing build: https://github.com/mariotaku/Sunshine/actions/runs/15106680321

Can you give this snapshot a try, to see if AMF HEVC codec on webOS TV works?

@mostafa0017
Copy link

Hi,
I tested the portable version, and it worked well with H265 however I couldn't use HDR 😅, selecting HDR in Moonlight settings would get me a black screen on my TV for a couple of seconds then "Network Error Happened", I am not sure if I am asking a lot here 😁. However, great work so far now that H265 is working 😍.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working compatibility Issues or information about device compatibility lg-lm21a SoC Platform video Issues related to video decoder
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants