Open RVC-CAL Compiler

The Open RVC-CAL Compiler (Orcc) can generate code for any platform, including hardware (Verilog, VHDL), software (C, LLVM), heterogeneous platforms (mixed hardware/software), and multi-softcore platforms, from a platform-agnostic, high-level description.

The Orcc project also provides a dedicated Virtual Machine, the Just-in-time Adaptive Decoder Engine (Jade) based on LLVM infrastructure, that can dynamically produce machine code for a wide range of software platforms.


Orcc is a collection of support tools under BSD license. The primary purpose of Orcc is to provide developers with a compiler infrastructure to allow several languages and combination of languages (in the case of co-design) to be generated from RVC-CAL actors and XDF networks. Orcc does not generate assembly or executable code directly, rather it generates source code that must be compiled by another tool.

What is a network?

Something like this:

What is an actor?

Something like this:

package org.mpeg4.part10.cbp.selectMacroblock;

import org.mpeg4.part10.cbp.MacroBlockInfo.BLOCK_TYPE_INTRA_MAX;

actor SelectMb()
	uint(size=6) MbType,
	uint(size=8) MbFromIntra,
	uint(size=8) MbFromInter
	uint(size=8)  MbOut
	uint(size=6) mbType;

	getMbType: action MbType:[valMbType] ==>
		mbType := valMbType;

	forwardMb.intra: action MbFromIntra:[x] repeat 64 ==>
		MbOut:[x] repeat 64

	forwardMb.inter: action MbFromInter:[x] repeat 64 ==>
		MbOut:[x] repeat 64

	schedule fsm GetMbType:
		GetMbType (getMbType  ) --> ForwardMb;
		ForwardMb (forwardMb  ) --> GetMbType;

Quick install

Install Orcc from the update site
More information


Whether you need (or want to offer) help or advice, or if you just want to discuss/chat about Orcc, feel free to contact us!

Most of the team is based in Europe, so you might expect people to be connected and answer mail during the day (GMT+1).

Useful links

Main Github page
Open RVC CAL Compiler project
Open RVC CAL applications project

OpenDF community
Cyberspace of Shujun Li on RVC
Open Video Coding

RVC on wikipedia
CAL on wikipedia
TTA on wikipedia

LLVM compiler infrastructure
TTA-based Co-design Environment

This website is hosted by Get Open RVC-CAL Compiler at