#!/bin/bash

cat > /etc/udev/rules.d/99-rk-device-permissions.rules <<EOF
KERNEL=="mpp_service", MODE="0660", GROUP="video" RUN+="/usr/bin/create-chromium-vda-vea-devices.sh"
KERNEL=="rga", MODE="0660", GROUP="video"
KERNEL=="system-dma32", MODE="0666", GROUP="video"
KERNEL=="system-uncached", MODE="0666", GROUP="video"
KERNEL=="system-uncached-dma32", MODE="0666", GROUP="video" RUN+="/usr/bin/chmod a+rw /dev/dma_heap"
EOF

cat > /usr/bin/create-chromium-vda-vea-devices.sh <<EOF
#!/bin/bash
case "$(cat /proc/device-tree/compatible)" in
    *rk3588*)
        {
            echo "type=dec"
            echo "codecs=VP8:VP9:H.264:H.265:AV1"
            echo "max-width=7680"
            echo "max-height=4320"
        } > /dev/video-dec0
        ;;
    *rk3568*)
        {
            echo "type=dec"
            echo "codecs=VP8:VP9:H.264:H.265"
            echo "max-width=3840"
            echo "max-height=2160"
        } > /dev/video-dec0
        ;;
    *)
        echo dec > /dev/video-dec0
esac
chown root:video /dev/video-dec0
chmod 0660 /dev/video-dec0
echo enc > /dev/video-enc0
chown root:video /dev/video-enc0
chmod 0660 /dev/video-enc0
EOF

chmod +x  /usr/bin/create-chromium-vda-vea-devices.sh
