element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Members
    Members
    • Benefits of Membership
    • Achievement Levels
    • Members Area
    • Personal Blogs
    • Feedback and Support
    • What's New on element14
  • Learn
    Learn
    • Learning Center
    • eBooks
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • Experts & Guidance
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Dev Tools
    • Manufacturers
    • Raspberry Pi
    • RoadTests & Reviews
    • Avnet Boards Community
    • Product Groups
  • Store
    Store
    • Visit Your Store
    • 'Choose another store...'
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
Personal Blogs
  • Members
  • More
Personal Blogs
Legacy Personal Blogs UltraZed-EV Software VCU Lib Test
  • Blog
  • Documents
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Blog Post Actions
  • Subscribe by email
  • More
  • Cancel
  • Share
  • Subscribe by email
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: mollex
  • Date Created: 30 Aug 2019 2:57 PM Date Created
  • Views 607 views
  • Likes 3 likes
  • Comments 1 comment
  • ultrazed-ev
  • h.265
  • h.264_encoder
  • h.264_decoder
  • mpsoc
  • vcu
  • xczu7ev
Related
Recommended

UltraZed-EV Software VCU Lib Test

mollex
mollex
30 Aug 2019

Hi everyone!

If you want to create your project based on a VCU library or modify it, then perhaps my repository will be useful to you.

 

Getting Started

 

This repository contains example how to build library and app for an easy start debugging with it.

  -[vcu-ctrl-sw](https://github.com/Xilinx/vcu-ctrl-sw) - Official Xilinx repositories vcu-ctrl-sw

  -[vcu-omx-il](https://github.com/Xilinx/vcu-omx-il) - Official Xilinx repositories vcu-omx-il

 

Prerequisites

 

- Windows 10

- Xilinx SDK 2018.3

- [UltraZed-EV Starter Kit](http://zedboard.org/product/ultrazed-ev-starter-kit)

 

Set up workspace

 

- clone  https://github.com/mollex/workspace_uz7ev_vcu_20183

- open as workspace with Xilinx SDK 2018.3

- import projects

- set off Build Automatically

 

Menu: Project -> Build Automatically off

 

image

 

Import projects

 

right click on Project Explorer -> Import -> General -> Existings Project Into Workspace -> Browse -> Finish

 

imageimageimage

 

Build

 

  Workspace consists of:

 

- vcu-ctrl-sw-xilinx-v2018-3 - main library for control vcu (build first)

- vcu-ctrl-lib-app - library for application  (build second)

- vcu-ctrl-encoder - encoder application

- vcu-ctrl-decoder - decoder application

 

- vcu-omx-il-xilinx-v2018-3 - omx library for control vcu (build first)

- vcu-omx-encoder - omx encoder application

- vcu-omx-decoder - omx decoder application

 

image

 

Prepare board

 

Images were taken by the  R. Jason Moss blog post (https://www.element14.com/community/community/designcenter/zedboardcommunity/ultrazed/ultrazed-ev/blog/2019/07/09/ultrazed-ev-io-carrier-card-vcu-design-example-v20183)

 

Source 1

- clone repository avnet-uzev-ports

- copy files from *avnet-uzev-ports/rdf0428-uz7ev-vcu-trd-2018-3/images/vcu_uz7ev_cc/*  to *SD/* card

Source 2

- download bins from dropbox https://www.dropbox.com/sh/5t0dag4momczk0j/AADh7vHkb0LU07Et-9y4ecYha?dl=0

- copy files from *dropbox/images/*  to *SD/* card

 

- load linux *root:root*

- connect to ethernet

- set correct IP Address

- prepare and connect WinSCP.exe by SFTP for copying files to target

 

Testing

 

Test vcu-ctrl-encoder

 

- copy vcu-ctrl-encoder/Debug/vcu-ctrl-encoder_debug.elf  to  /home

- copy /images/drop.yuv to /home

- copy /images/vcu_encode_h264.cfg to /home

- copy /images/vcu_encode_h265.cfg* to /home

 

$ cd /home

$ chmod +x ./vcu-ctrl-encoder_debug.elf

$  ./vcu-ctrl-encoder_debug.elf -cfg vcu_encode_h264.cfg

$  ./vcu-ctrl-encoder_debug.elf -cfg vcu_encode_h265.cfg

 

In folder /home will appear two files drop_vcuenc.h264 and drop_vcuenc.h265 files.

Copy both to Host and play with VLC media Player.

 

Test vcu-ctrl-decoder

 

- copy vcu-ctrl-decoder/Debug/vcu-ctrl-decoder_debug.elf  to  /home

 

$ cd /home

$ chmod +x ./vcu-ctrl-decoder_debug.elf

$ ./vcu-ctrl-decoder_debug.elf -avc -in drop_vcuenc.h264 -out drop_dec264.yuv

$ ./vcu-ctrl-decoder_debug.elf -hevc -in drop_vcuenc.h265 -out drop_dec265.yuv

 

In folder /home will appear two files drop_dec264.yuv and drop_dec265.yuv files.

Copy both to Host and play with YUV Player.

 

Test vcu-omx-encoder

 

- copy /vcu-omx-encoder/Debug/vcu-omx-encoder_debug.elf  to /home

- copy /images/drop.yuv to /home

 

$ cd /home

$ chmod +x ./vcu-omx-encoder_debug.elf

$ ./vcu-omx-encoder_debug.elf  drop.yuv --width 256 --height 240 --framerate 25 --avc --out drop_omxenc.h264

$ ./vcu-omx-encoder_debug.elf  drop.yuv --width 256 --height 240 --framerate 25 --hevc --out drop_omxenc.h265

 

In folder /home will appear two files drop_omxenc.h264 and drop_omxenc.h265 files.

Copy both to Host and play with VLC media Player.

 

Test vcu-omx-decoder

 

  - copy /vcu-omx-decoder/Debug/vcu-omx-decoder_debug.elf  to /home

 

$ cd /home

$ chmod +x ./vcu-omx-decoder_debug.elf

$ ./vcu-omx-decoder_debug.elf drop_omxenc.h264 -avc -o drop_omx264.yuv

$ ./vcu-omx-decoder_debug.elf drop_omxenc.h265 -hevc -o drop_omx265.yuv

 

In folder /home will appear two files drop_omx264.yuv and drop_omx265.yuv files.

Copy both to Host and play with YUV Player.

 

Test v4l2_capture_raw

  Current hardware bitstream for UltraZed-EV does not include any capture port by that reason I have prepared virtual video source module vivid.ko. (use images from Source 2)

 

- copy dropbox/module/vivid.ko  to /home card

- copy v4l2_capture_raw/Debug/v4l2_capture_raw.elf  to /home

 

$ cd /home

$ chmod +x ./v4l2_capture_raw.elf.elf

 

  $ insmod vivid.ko

  $ v4l2-ctl --list-devices  `

      vivid (platform:vivid-000):

    /dev/video

    /dev/video1

    /dev/radio0

    /dev/radio1

    /dev/vbi0

    /dev/vbi1

    /dev/swradio0

 

$ ./v4l2_capture_raw.elf -o  -m -f -c 10

 

Files will appear in the folder */home*. Copy to host and open with YUV viewer.

Settings of files: YUV420 planar NV12 1280*720

image

 

Test drmdemo

  Connect monitor to DP UltraZed-EV.

  - copy *drmdemo/Debug/drmdemo_debug.elf*  to */home* card

 

```$ cd /home ```

  ```$ chmod +x ./drmdemo_debug.elf ```

  ```$ ./drmdemo_debug.elf ```

  wait ~10 sec, default path display device /dev/dri/card0

image

 

Test drmkmsdemo

  Connect monitor to DP UltraZed-EV.

  - copy *drmkmsdemo/Debug/drmkmsdemo_debug.elf*  to */home* card

 

```$ cd /home ```

  ```$ chmod +x ./drmkmsdemo_debug.elf ```

  ```$ ./drmkmsdemo_debug.elf /dev/dri/card0 ```

image

  • Sign in to reply
  • pierlum
    pierlum over 3 years ago

    Hello I compiled vcu control decoder app using xilinx sdk 2019.1 and I'm running it on ultrazed ev carrier card with petalinux 2019.2. VCU works because using I can encode or decode video using gstreamer. But if I execute vcu-ctrl-decoder_debug.elf I have this error:

    ./vcu-ctrl-decoder_debug.elf -avc -in testcut.

    Start

    Start

    Start

    Start

    Start

    Start

    Start

    VCU control software decoder sample app

    VCU control software decoder sample app

    Allegro DVT2 - AVC/HEVC Decoder Reference Software v1.0.41 - Copyright (C) 2018

    Confidential material

     

     

    Resolution : 1920x1088

    FourCC : NV12

    Profile : 100

    Level : 40

    Bitdepth : 8

    Crop top    : 0

    Crop bottom : 8

    [ 5092.972347] Unknown ioctl: 0xC20C7102

     

     

    Crop right  : 0

    Display resolution : 1920x1080

    Sequence pictu[ 5092.978047] Known ioctl are:

    re : progressive

    Buffers needed : 8 of size 3342336

     

     

    [ 5092.986460] AL_MCU_CONFIG_CHANNEL:C2087102

    [ 5092.995392] AL_MCU_DESTROY_CHANNEL:00007104

    [ 5092.999568] AL_MCU_DECODE_ONE_FRM:C40C7105

    [ 5093.003663] AL_MCU_WAIT_FOR_STATUS:C2047106

    [ 5093.007840] AL_MCU_SEARCH_START_CODE:C4087108

    [ 5093.012195] GET_DMA_FD:C00C710D

     

     

    Codec error: Unknown error

    The error is "[ 5092.972347] Unknown ioctl: 0xC20C7102"

     

    What am i doing wrong?

    Thank you very much.

     

    EDIT: I solved downloading vcu control software sample app version 2019.2 from here github.com/Xilinx/vcu-ctrl-sw/tree/release-2019.2

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2023 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube