Jump to content

Cannot decode HEVC yuv444p10le format


Go to solution Solved by ebr,

Recommended Posts

happytonakai
Posted

The Emby android tv app is unable to decode HEVC YUV444p10LE video files. Transcoding the file to HEVC YUV420p10LE makes it work successfully.

This issue has also been observed with the standard Emby android app on the same device. Both apps are the latest version.

I have attached two example MKV files for your reference, the original yuv444 one and the one transcoded to yuv420.

yuv444p10le.mkv yuv420p10le.mkv

happytonakai
Posted (edited)

Here's the log of server when the issue occurred. I didn't allow transcoding on the server so there is no transcoding logs. It is ok on my iOS devices. Does it mean that my TV does not support hardware decoding the yuv444 hevc?

embyserver.txt

Edited by happytonakai
happytonakai
Posted (edited)

Hi, anyone can help me? Would greatly appreciate any insights or if someone could look into this. Thanks for your time and all the great work on Emby!

If this format is not planned for support in the near term, I am preparing to transcode my videos to YUV420p10LE. However, I remain hopeful for native support in the future.

@Luke @ebr

Edited by happytonakai
Happy2Play
Posted

Can't tell from the log but if you enable transcoding what reason is provided for transcoding of these files in that app?  But sounds like you answered your own question if the client can not decode YUV444p10LE.

happytonakai
Posted
1 minute ago, Happy2Play said:

Can't tell from the log but if you enable transcoding what reason is provided for transcoding of these files in that app?  But sounds like you answered your own question if the client can not decode YUV444p10LE.

Yes I didn't enable transcoding from the server because I want to avoid transcoding as much as possible. If emby client can decode this format directly that would be the best solution rather than transcoding to YUV420.

Happy2Play
Posted
Just now, happytonakai said:

Yes I didn't enable transcoding from the server because I want to avoid transcoding as much as possible. If emby client can decode this format directly that would be the best solution rather than transcoding to YUV420.

Devs would have to comment on that but a ffmpeg log should tell us the same if you enabled transcoding.

  • Solution
Posted

image.png

happytonakai
Posted
3 minutes ago, Luke said:

@happytonakaihas this helped?

Well I understand that enabling transcoding from server can solve this problem, but that will increase server power and temperature and also decrease the video quality a little bit. The best way I think is native support from the client. That's why I'm asking for your help. If you are not planning it for now, I'm going to do the transcode offline.

Happy2Play
Posted

And if you tested with options enabled I would guess the transcode reason would tell you unsupported.  As I don't believe there is a universal list of everything supported across ever possible device.

happytonakai
Posted
7 minutes ago, Happy2Play said:

And if you tested with options enabled I would guess the transcode reason would tell you unsupported.  As I don't believe there is a universal list of everything supported across ever possible device.

Yes you are right. The transcode log tells me the color format (yuv444p10) is not supported.

 

>>>>>> FindVideoEncoder - MediaType: h264, UseHardwareCodecs: True, HWA-Mode: Automatic
Info Checking: 'QuickSync JasperLake UHD Graphics - H.264 (AVC)'
Info Check successful - selecting 'QuickSync JasperLake UHD Graphics - H.264 (AVC)'
 
>>>>>> FindVideoDecoder - MediaType: hevc, UseHardwareCodecs: True, HWA-Mode: Automatic
Info Checking: 'VAAPI JasperLake UHD Graphics - H.265 (HEVC)'
NoMatch The color format (yuv444p10) is not supported)
Info Decoder does not match
Info Checking: 'QuickSync JasperLake UHD Graphics - H.265 (HEVC)'
NoMatch The color format (yuv444p10) is not supported)
Info Decoder does not match
Info Checking: 'Automatic software decoder'
Info Check successful - selecting 'Automatic software decoder'
 
Warning: GetSwPixelFormatInHwContext: Unable to map video color format 'yuv444p10' to codec format
 
>>>>>> Processing Plan
Name CanDoInHW WillDoInHW Reason
Automatic software decoder >> False False Software Codec
VideoInput >> False False Not a hardware decoder
ColorConversion >> True True
VideoOutput >> True True Hardware encoder
QuickSync JasperLake UHD Graphics - H... >> True True Hardware Codec
 
>>>>>> Video Processing Steps for [0:0]: H.265 (HEVC)
Step HW-Context Format SW-Format Size Next
HEVC >> - yuv444p10 yuv444p10 1920x1080 >> hwupload
hwupload >> QSV qsv nv12 1920x1080 >> vpp_qsv
vpp_qsv >> QSV qsv nv12 1920x1080 >>

Transcoding indeed solves the playback problem.

Posted
7 hours ago, happytonakai said:

The best way I think is native support from the client.

Yes but that is provided by the device/platform not the app.

Happy2Play
Posted
7 hours ago, happytonakai said:

Yes you are right. The transcode log tells me the color format (yuv444p10) is not supported.

 

>>>>>> FindVideoEncoder - MediaType: h264, UseHardwareCodecs: True, HWA-Mode: Automatic
Info Checking: 'QuickSync JasperLake UHD Graphics - H.264 (AVC)'
Info Check successful - selecting 'QuickSync JasperLake UHD Graphics - H.264 (AVC)'
 
>>>>>> FindVideoDecoder - MediaType: hevc, UseHardwareCodecs: True, HWA-Mode: Automatic
Info Checking: 'VAAPI JasperLake UHD Graphics - H.265 (HEVC)'
NoMatch The color format (yuv444p10) is not supported)
Info Decoder does not match
Info Checking: 'QuickSync JasperLake UHD Graphics - H.265 (HEVC)'
NoMatch The color format (yuv444p10) is not supported)
Info Decoder does not match
Info Checking: 'Automatic software decoder'
Info Check successful - selecting 'Automatic software decoder'
 
Warning: GetSwPixelFormatInHwContext: Unable to map video color format 'yuv444p10' to codec format
 
>>>>>> Processing Plan
Name CanDoInHW WillDoInHW Reason
Automatic software decoder >> False False Software Codec
VideoInput >> False False Not a hardware decoder
ColorConversion >> True True
VideoOutput >> True True Hardware encoder
QuickSync JasperLake UHD Graphics - H... >> True True Hardware Codec
 
>>>>>> Video Processing Steps for [0:0]: H.265 (HEVC)
Step HW-Context Format SW-Format Size Next
HEVC >> - yuv444p10 yuv444p10 1920x1080 >> hwupload
hwupload >> QSV qsv nv12 1920x1080 >> vpp_qsv
vpp_qsv >> QSV qsv nv12 1920x1080 >>

Transcoding indeed solves the playback problem.

Can you post the ffmpeg log.  As all that is about your server hardware decoder.

happytonakai
Posted
On 6/22/2024 at 9:55 PM, ebr said:

Yes but that is provided by the device/platform not the app.

OK. If there is nothing we can do about the client, this post can be closed. This format has indeed limited support.

Posted

Hi.  Can you try searching for our standard android app (Just "Emby" on Amazon and "Emby for Android on Google) on the same device's app store and see how that compares?

Thanks.

 

happytonakai
Posted
3 minutes ago, Luke said:

Hi.  Can you try searching for our standard android app (Just "Emby" on Amazon and "Emby for Android on Google) on the same device's app store and see how that compares?

Thanks.

 

Hi Luke, the standard android app cannot decode the file as well on the same device. Both apps are the latest version.

  • 1 month later...
Posted
On 6/25/2024 at 1:38 AM, happytonakai said:

Hi Luke, the standard android app cannot decode the file as well on the same device. Both apps are the latest version.

@happytonakaiwhat exactly happens? Do you get an error, or does it play without video?

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...