JeffyCN / libv4l-rkmpp

A rockchip-mpp V4L2 wrapper plugin for chromium V4L2 VDA/VEA
GNU Lesser General Public License v2.1
79 stars 26 forks source link

split library by dec size limit #11

Closed amazingfate closed 1 year ago

amazingfate commented 1 year ago

I want to maintain a ppa repo supporting more than one rockchip socs. But the decode size limit is defined in meson options at build time. So I build twice with two different meson config supporting 4k and 8k, and provide two different debs libv4l-rkmpp-4k and libv4l-rkmpp-8k.

Other small fixes: a, delete useless debian/libv4l-rkmpp1.* files b, add missing build depends meson, librga-dev, and librga2

JeffyCN commented 1 year ago

maybe we can just use 8k by default, guessing chromium would fallback to sw dec when mpp reports error

amazingfate commented 1 year ago

maybe we can just use 8k by default, guessing chromium would fallback to sw dec when mpp reports error

Tested on rk3568, when setting 8K dec size and playing 8K h265 video, chromium won't fallback to sw dec.

JeffyCN commented 1 year ago

sounds like an mpp issue, guessing a best way would be adding extra mpp api for this

JeffyCN commented 1 year ago

another possible way is to add a boot time service to create those virtual device node, and write configs based on the chip type, for example:

case "$(cat /proc/device-tree/compatible)" in
   *rk3588*)
       {
           echo "type=dec"
           echo "codecs=xxx"
           echo "max-width=xxx"
           echo "max-height=xxx"
       } > /dev/video-dec0
esac