Skip to content

ammrat13/hdmi-dev-video-player

Repository files navigation

HDMI Peripheral: Video Player

This is a user-space application that drives the HDMI Peripheral for the Zynq 7000 defined by hdmi-cmd-gen and hdmi-cmd-enc. Taking a video file as input, this program decodes the video using libav, then plays the decoded stream using the device.

Video files must be 640x480, they must have pixels encoded as AV_PIX_FMT_YUV420P, and they can only have one stream. I didn't implement any logic to handle the other cases.

Usage

This program expects positional command-line arguments for:

  1. the video file to play [VIDEO], and
  2. the frame rate divider [FDIV], which has 60Hz / [FDIV] = Frame Rate and which must be an integer.

Additionally, this application uses the HDMI Peripheral. It expects to be running on a Zynq 7000 platform, and it needs to be able to program the PL via the sysfs interface mentioned on Confluence. It also needs to be able to access device memory via /dev/mem, and it has to be able use the ZOCL interface on the platform-axi:zyxclmm_drm-render DRI device.

Finally, the .bit file for the HDMI Peripheral needs to be converted to a .bin file, and the result needs to be placed at /lib/firmware/hdmi_dev.bin. The scripts/bit2bin.py script can be used to perform the conversion. This program expects to find the AXI4-Lite interface to the device at 0x4000_0000.

About

User-space video player that drives the HDMI Peripheral

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published