Is it possible to output YUV 444 from a YUV 420 source file?

Sorry for my (maybe) stupid question : I had a Vero 4K box connected to an ACER m550 4K projector.

It seems this projector cannot display correctly HDR with 420 encoding : it must receive 444 instead.

My sources are UHD MKVs files all encoded with YUV 420 :frowning:

Does exist a way the Vero box is able to transcode (somehow???) the source and output a 444 signal to the projector ?

echo “444,10bit” | sudo tee /sys/class/amhdmitx/amhdmitx0/attr will probably do it for you.

Awesome ! That works perfectly now !
Many thanks !

I realize this attr file does not persist in case of reboot of the device. How to make it persistent ?

You would need to put the command into your /etc/rc.local file before the exit 0 to make it load at boot time

Thanks but I added the command in the rc.local file as below

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.                     
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
echo  '444,10bit' | sudo tee /sys/class/amhdmitx/amhdmitx0/attr
exit 0

After reboot there is no attr file existing. I do a check by

sudo cat /sys/class/amhdmitx/amhdmitx0/attr 

that returns nothing. So I did the command manually with ssh then the cat returns the right parameters.

Did I miss something ?

/etc/rc.local runs as root, so the line should be

echo  '444,10bit' > /sys/class/amhdmitx/amhdmitx0/attr

Thanks. I tried several times and attr file remains empty :frowning:

Please show your updated rc.local

In the next update I’ll add this option to the GUI.

Sam

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing
echo  '444,10bit' > /sys/class/amhdmitx/amhdmitx0/attr
exit 0

I tried various syntaxes

echo  '444,10bit' | tee /sys/class...
echo  '444,10bit' | sudo tee /sys/class...

Then I did a reboot on ssh. After rebooting I checked with

sudo cat /sys/class/amhdmitx/amhdmitx0/attr

And it is empty.

You have extra spaces after echo

Well, that’s really strange. I changed rc.local weeks ago and

sudo cat /sys/class/amhdmitx/amhdmitx0/attr

always gave the reply 444,10bit

Today I saw this thread and out of curiosity I checked and the reply was empty.

My rc.local:

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

echo '444,10bit' > /sys/class/amhdmitx/amhdmitx0/attr

exit 0

I see this:

Last login: Fri Mar 16 18:51:01 2018 from 192.168.1.2
osmc@vero4k:~sudo cat /sys/class/amhdmitx/amhdmitx0/attr

osmc@vero4k:~$ echo “444,10bit” | sudo tee /sys/class/amhdmitx/amhdmitx0/attrtr
“444,10bit”
osmc@vero4k:~$ sudo cat /sys/class/amhdmitx/amhdmitx0/attr
“444,10bit”

I upddated to 2018.3-2 a few hours ago. Sadly I can’t say since when the entry in rc.local has been ignored - haven’t checked for quite a while.

On the other hand I did not notice any changes in the picture quality, so the line does not seem to matter in my setup anyway (AVR: Yamaha RX-V483 / TV: Sony XE9305)

Can you run grab-logs -A for us? I guess it’s possible that rc.local isn’t running.

Also what’s the output from running systemctl status rc-local ?

hmmm, that looked differently in the past as far as I remember

osmc@vero4k:/etc$ systemctl status rc.local
* rc-local.service - /etc/rc.local Compatibility
   Loaded: loaded (/lib/systemd/system/rc-local.service; static; vendor preset: enabled)
  Drop-In: /lib/systemd/system/rc-local.service.d
           `-debian.conf
   Active: inactive (dead)

Logs available at https://paste.osmc.tv/nuquciveci

looking better now

osmc@vero4k:/etc$ sudo systemctl daemon-reload
osmc@vero4k:/etc$ sudo systemctl start rc-local
osmc@vero4k:/etc$ systemctl status rc-local
* rc-local.service - /etc/rc.local Compatibility
   Loaded: loaded (/lib/systemd/system/rc-local.service; static; vendor preset: enabled)
  Drop-In: /lib/systemd/system/rc-local.service.d
           `-debian.conf
   Active: active (exited) since Fri 2018-03-16 19:31:56 CET; 5s ago
  Process: 2904 ExecStart=/etc/rc.local start (code=exited, status=0/SUCCESS)

Mar 16 19:31:56 vero4k systemd[1]: Starting /etc/rc.local Compatibility...
Mar 16 19:31:56 vero4k systemd[1]: Started /etc/rc.local Compatibility.

Now let’s see, what it does after a reboot

SOLVED - well, it works

to be honest - I am not sure, what I did or what happened, but after editing rc.local again and rebooting, voila

Last login: Fri Mar 16 19:06:49 2018 from 192.168.1.2
osmc@vero4k:~$ sudo cat /sys/class/amhdmitx/amhdmitx0/attr
444,10bit

Sorry for disturbing. As in most cases the problem was sitting in front of the computer…

2 Likes