├── lib_fpga ├── lib_fpga.def ├── dll_fpga.def ├── project.mk ├── DevicePool.h └── BoardNone.c ├── Doxygen ├── logo.jpg ├── SmallLogo.jpg ├── MainPage.txt ├── README ├── doxygen.sh ├── footer.html ├── SvgCleanAndLink.py └── tabs.css ├── test └── config │ ├── simple.yuv │ ├── Sample_ROI_Cmd.txt │ ├── Sample_Dynamic_Cmd.txt │ └── QPs.hex ├── exe_decoder ├── Allegro.ico ├── al_resource.h ├── project.mk ├── CodecUtils.h ├── crc.h ├── IpDevice.h └── Conversion.h ├── exe_encoder ├── Allegro.ico ├── resource.h ├── sink_md5.h ├── sink_frame_writer.h ├── sink_bitstream_writer.h ├── container.cpp ├── MD5.h ├── ICommandsSender.h ├── sink.h ├── CommandsSender.h ├── FileUtils.h ├── IpDevice.h └── project.mk ├── ctrlsw_version.mk ├── lib_bitstream ├── project.mk ├── AVC_RbspEncod.h ├── HEVC_RbspEncod.h ├── lib_bitstream.h ├── SkippedPicture.h └── IRbspWriter.h ├── lib_common_dec ├── project.mk └── IpDecFourCC.c ├── lib_conv_yuv ├── project.mk ├── lib_conv_yuv.h ├── AL_NvxConvert.h └── ConvSrc.h ├── lib_common_enc ├── project.mk ├── EncSize.c ├── EncEPBuffer.h ├── EncRecBuffer.c └── EncSize.h ├── setlocalversion.sh ├── lib_app ├── project.mk ├── BufferMetaFactory.h ├── console.h ├── timing.h ├── BufferMetaFactory.c └── console_linux.cpp ├── lib_parsing ├── project.mk ├── Concealment.c ├── Concealment.h ├── AvcParser.h └── Aup.h ├── lib_rtos ├── lib_rtos.def ├── dll_rtos.def └── project.mk ├── lib_common ├── project.mk ├── AvcLevelsLimit.h ├── BufferCircMeta.h ├── Fifo.h ├── BufConst.h ├── ChannelResources.h ├── BufferCircMeta.c ├── StreamBufferPrivate.h └── BufferPictureMeta.c ├── encoder_defs.mk ├── lib_decode ├── project.mk ├── InternalError.h ├── NalUnitParserPrivate.h ├── NalDecoder.h ├── DecoderFeeder.h └── NalUnitParser.h ├── base.mk ├── README ├── LICENSE.md ├── lib_encode ├── JpegTables.c ├── JpegTables.h ├── AVC_Sections.h ├── HEVC_Sections.h ├── LoadLda.h ├── IScheduler.c ├── McuTimers.h ├── Encoder.h ├── DriverDataConversions.h ├── SourceBufferChecker.h ├── ISchedulerCommon.h ├── AVC_Sections.c ├── HEVC_Sections.c └── project.mk ├── include ├── lib_common │ ├── HardwareDriver.h │ ├── versions.h │ ├── Pitches.h │ ├── OffsetYC.h │ └── VideoMode.h ├── lib_encode │ └── SchedulerMcu.h ├── lib_common_dec │ └── DecSynchro.h ├── lib_fpga │ └── DmaAlloc.h └── traces │ └── Traces.h └── extra └── include └── allegro_ioctl_reg.h /lib_fpga/lib_fpga.def: -------------------------------------------------------------------------------- 1 | Board_Create 2 | DmaAlloc_Create 3 | -------------------------------------------------------------------------------- /Doxygen/logo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xilinx/vcu-ctrl-sw/HEAD/Doxygen/logo.jpg -------------------------------------------------------------------------------- /Doxygen/SmallLogo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xilinx/vcu-ctrl-sw/HEAD/Doxygen/SmallLogo.jpg -------------------------------------------------------------------------------- /lib_fpga/dll_fpga.def: -------------------------------------------------------------------------------- 1 | LIBRARY AL_fpga 2 | EXPORTS 3 | Board_Create 4 | DmaAlloc_Create 5 | -------------------------------------------------------------------------------- /test/config/simple.yuv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xilinx/vcu-ctrl-sw/HEAD/test/config/simple.yuv -------------------------------------------------------------------------------- /exe_decoder/Allegro.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xilinx/vcu-ctrl-sw/HEAD/exe_decoder/Allegro.ico -------------------------------------------------------------------------------- /exe_encoder/Allegro.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xilinx/vcu-ctrl-sw/HEAD/exe_encoder/Allegro.ico -------------------------------------------------------------------------------- /Doxygen/MainPage.txt: -------------------------------------------------------------------------------- 1 | /*! 2 | 3 | \mainpage Encoder / Decoder Control Software 4 | 5 | 6 | */ 7 | 8 | -------------------------------------------------------------------------------- /ctrlsw_version.mk: -------------------------------------------------------------------------------- 1 | MAJOR=0 2 | MINOR=9 3 | STEP=0 4 | CTRLSW_VER?=$(shell ./setlocalversion.sh) 5 | 6 | VERSION=$(MAJOR).$(MINOR).$(STEP)$(CTRLSW_VER) 7 | 8 | -------------------------------------------------------------------------------- /Doxygen/README: -------------------------------------------------------------------------------- 1 | To generate doxygen documentation 2 | ================================= 3 | 1) Install doxygen 4 | 2) Generate the html documentation : 5 | - Launch doxygen with doxygen.cfg config file 6 | doxygen doxygen.cfg 7 | - or use the doxygen wizard 8 | 3) Browse the html documentation starting from doc/html/index.html 9 | -------------------------------------------------------------------------------- /lib_bitstream/project.mk: -------------------------------------------------------------------------------- 1 | LIB_BITSTREAM_SRC:=\ 2 | lib_bitstream/BitStreamLite.c\ 3 | lib_bitstream/RbspEncod.c\ 4 | lib_bitstream/HEVC_RbspEncod.c\ 5 | lib_bitstream/HEVC_SkippedPict.c\ 6 | lib_bitstream/AVC_RbspEncod.c\ 7 | lib_bitstream/AVC_SkippedPict.c\ 8 | 9 | UNITTEST+=$(shell find lib_bitstream/unittests -name "*.cpp") 10 | -------------------------------------------------------------------------------- /lib_common_dec/project.mk: -------------------------------------------------------------------------------- 1 | LIB_COMMON_DEC_SRC:=\ 2 | lib_common_dec/DecBuffers.c\ 3 | lib_common_dec/DecHwScalingList.c\ 4 | lib_common_dec/DecInfo.c\ 5 | lib_common_dec/RbspParser.c\ 6 | lib_common_dec/IpDecFourCC.c\ 7 | 8 | UNITTEST+=$(shell find lib_common_dec/unittests -name "*.cpp") 9 | UNITTEST+=$(LIB_COMMON_DEC_SRC) 10 | 11 | -------------------------------------------------------------------------------- /lib_conv_yuv/project.mk: -------------------------------------------------------------------------------- 1 | LIB_CONV_SRC:=\ 2 | lib_conv_yuv/AL_NvxConvert.cpp\ 3 | 4 | ifneq ($(ENABLE_LG_COMP),0) 5 | LIB_CONV_SRC+=\ 6 | 7 | endif 8 | 9 | ifneq ($(ENABLE_LIBREF),0) 10 | ifneq ($(ENABLE_TILE_SRC),0) 11 | LIB_CONV_SRC+=\ 12 | $(LIB_FBCSTANDALONE_SRC)\ 13 | $(LIB_REFFBC_SRC)\ 14 | 15 | endif 16 | endif 17 | -------------------------------------------------------------------------------- /lib_common_enc/project.mk: -------------------------------------------------------------------------------- 1 | LIB_COMMON_ENC_SRC:=\ 2 | lib_common_enc/EncBuffers.c\ 3 | lib_common_enc/EncRecBuffer.c\ 4 | lib_common_enc/IpEncFourCC.c\ 5 | lib_common_enc/EncSize.c\ 6 | lib_common_enc/EncHwScalingList.c\ 7 | lib_common_enc/Settings.c\ 8 | 9 | UNITTEST+=$(shell find lib_common_enc/unittests -name "*.cpp") 10 | UNITTEST+=$(LIB_COMMON_ENC_SRC) 11 | -------------------------------------------------------------------------------- /test/config/Sample_ROI_Cmd.txt: -------------------------------------------------------------------------------- 1 | frame 0 : BkgQuality=STATIC_QUALITY, Order=QUALITY_ORDER 2 | 100:52, 8x4, HIGH_QUALITY 3 | 144:86, 5x5, LOW_QUALITY 4 | 5 | frame 13 : 6 | 12:8, 7x5, HIGH_QUALITY 7 | 14:8, 5x5, STATIC_QUALITY 8 | 9 | frame 20 : BkgQuality=NO_QUALITY, Order=INCOMING_ORDER 10 | 6:4, 8x4, LOW_QUALITY 11 | 11:9, 5x5, HIGH_QUALITY 12 | 20:15, 5x7, MEDIUM_QUALITY -------------------------------------------------------------------------------- /setlocalversion.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -euo pipefail 4 | scriptDir=$(dirname -- "$(readlink -f -- "$0")") 5 | 6 | res="" 7 | 8 | has () 9 | { 10 | which $1 > /dev/null 11 | } 12 | 13 | if has svnversion ; then 14 | svnversion="$(svnversion -n $scriptDir)" 15 | if !(echo $svnversion | grep "Unversioned" > /dev/null 2>&1) ; then 16 | res="+$svnversion" 17 | fi 18 | fi 19 | 20 | echo -n "$res" 21 | 22 | -------------------------------------------------------------------------------- /lib_app/project.mk: -------------------------------------------------------------------------------- 1 | LIB_APP_SRC:= 2 | 3 | LIB_APP_SRC+=lib_app/utils.cpp\ 4 | lib_app/convert.cpp\ 5 | lib_app/BufPool.cpp\ 6 | lib_app/BufferMetaFactory.c\ 7 | lib_app/AllocatorTracker.cpp\ 8 | 9 | ifeq ($(findstring mingw,$(TARGET)),mingw) 10 | else 11 | LIB_APP_SRC+=lib_app/console_linux.cpp 12 | endif 13 | 14 | UNITTEST+=$(shell find lib_app/unittests -name "*.cpp") 15 | UNITTEST+=$(LIB_APP_SRC) 16 | -------------------------------------------------------------------------------- /lib_parsing/project.mk: -------------------------------------------------------------------------------- 1 | LIB_PARSING_SRC:=\ 2 | lib_parsing/common_syntax.c\ 3 | lib_parsing/AvcParser.c\ 4 | lib_parsing/HevcParser.c\ 5 | lib_parsing/SliceHdrParsing.c\ 6 | lib_parsing/DPB.c\ 7 | lib_parsing/I_PictMngr.c\ 8 | lib_parsing/Avc_PictMngr.c\ 9 | lib_parsing/Hevc_PictMngr.c\ 10 | lib_parsing/Concealment.c\ 11 | 12 | UNITTEST+=$(shell find lib_parsing/unittests -name "*.cpp") 13 | UNITTEST+=$(LIB_PARSING_SRC) 14 | -------------------------------------------------------------------------------- /lib_rtos/lib_rtos.def: -------------------------------------------------------------------------------- 1 | Rtos_Malloc 2 | Rtos_Free 3 | Rtos_Memcpy 4 | Rtos_Memmove 5 | Rtos_Memset 6 | Rtos_Memcmp 7 | Rtos_GetTime 8 | Rtos_CreateMutex 9 | Rtos_DeleteMutex 10 | Rtos_GetMutex 11 | Rtos_ReleaseMutex 12 | Rtos_CreateSemaphore 13 | Rtos_DeleteSemaphore 14 | Rtos_GetSemaphore 15 | Rtos_ReleaseSemaphore 16 | Rtos_CreateEvent 17 | Rtos_DeleteEvent 18 | Rtos_WaitEvent 19 | Rtos_SetEvent 20 | Rtos_CreateThread 21 | Rtos_JoinThread 22 | Rtos_DeleteThread 23 | -------------------------------------------------------------------------------- /Doxygen/doxygen.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | dir_script=$(dirname -- "$(readlink -f -- "$0")") 4 | 5 | pushd "$dir_script" > /dev/null 6 | Version=`grep AL_ENCODER_VERSION_STR "../exe_encoder/resource.h" | sed -e 's/^.*\"\(.*\)\".*$/\1/'` 7 | 8 | AL_VERSION=$Version doxygen doxygen.cfg 9 | 10 | ./SvgCleanAndLink.py Encoder.svg doc/html/Encoder.svg doc/html/globals_func.html 11 | ./SvgCleanAndLink.py Decoder.svg doc/html/Decoder.svg doc/html/globals_func.html 12 | popd > /dev/null 13 | -------------------------------------------------------------------------------- /lib_fpga/project.mk: -------------------------------------------------------------------------------- 1 | LIB_FPGA_SRC:= 2 | 3 | ifeq ($(findstring mingw,$(TARGET)),mingw) 4 | ifeq ($(findstring i686,$(TARGET)),i686) 5 | LDFLAGS += lib_windriver/wdapi1140_x86_K32.lib 6 | endif 7 | endif 8 | 9 | ifeq ($(findstring linux,$(TARGET)),linux) 10 | LIB_FPGA_SRC+=lib_fpga/DmaAllocLinux.c 11 | LIB_FPGA_SRC+=lib_fpga/DevicePool.c 12 | LDFLAGS+=-lpthread 13 | endif 14 | 15 | # provide dummy implementation 16 | ifeq ($(LIB_FPGA_SRC),) 17 | LIB_FPGA_SRC+=lib_fpga/BoardNone.c 18 | endif 19 | 20 | -------------------------------------------------------------------------------- /test/config/Sample_Dynamic_Cmd.txt: -------------------------------------------------------------------------------- 1 | 40: NumB=2 # Change B-Frames to 2 2 | 45: KF # Insert Key Frame 3 | 85: SC # Scene Change Event 4 | 120: GopLen=15 # Change GOP Length 5 | 140: LT # Define this frame as LT reference 6 | 175: KF, NumB=4 # Insert Key Frame and Change B-Frames to 4 7 | 180: UseLT # Use LT reference Picture for encoding this frame 8 | 200: BR=10000 # Change Bitrate to 10Mbps 9 | 250: SC, GopLen=20 # Scene Change Event and Change GOP Length 10 | 300: Fps=30 # Change Framerate to 30 11 | -------------------------------------------------------------------------------- /lib_rtos/dll_rtos.def: -------------------------------------------------------------------------------- 1 | LIBRARY AL_rtos 2 | EXPORTS 3 | Rtos_Malloc 4 | Rtos_Free 5 | Rtos_Memcpy 6 | Rtos_Memmove 7 | Rtos_Memset 8 | Rtos_Memcmp 9 | Rtos_GetTime 10 | Rtos_CreateMutex 11 | Rtos_DeleteMutex 12 | Rtos_GetMutex 13 | Rtos_ReleaseMutex 14 | Rtos_CreateSemaphore 15 | Rtos_DeleteSemaphore 16 | Rtos_GetSemaphore 17 | Rtos_ReleaseSemaphore 18 | Rtos_CreateEvent 19 | Rtos_DeleteEvent 20 | Rtos_WaitEvent 21 | Rtos_SetEvent 22 | Rtos_CreateThread 23 | Rtos_JoinThread 24 | Rtos_DeleteThread 25 | -------------------------------------------------------------------------------- /Doxygen/footer.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
9 |
10 | $projectname documentation
11 | |
12 |
13 |
14 | Allegro DVT
15 | Copyright 2008-2018
16 |
17 |
18 | |
19 |