Tuesday, December 27, 2011

Hopefully x265 will like x264, which has been the best open source implementation of H.264. One of x264 pioneers, Min Chen, started the x265 projectto push open source development for HEVC / H.265. His goal targets for embedded system, FPGA, GPU, and multi-cores system. We are looking forward to it.

HEVC or H.265 (nickname) is targeted at next-generation HDTV displays and content capture systems which feature progressive scanned frame rates and display resolutions from QVGA (320x240) up to 1080p and Ultra HDTV (7680x4320), as well as improved picture quality in terms of noise level, color gamut and dynamic range. The performance goal is that HEVC should provide 2x better video compression performance than AVC (H.264) high profile, at the expense of increased computational complexity (so hardware implementations would be important). HEVC will significantly reduce bandwidth requirements with comparable image quality for video conferencing and streaming.

Sunday, December 25, 2011

According to "PCI Interrupt Handling on DM6467/DM6467T PCI Host", DM6467/DM6467T devices do not have PCI interrupts input lines (INTA, INTB, INTC, INTD). Thus the default EVMs cannot receive PCI interrupts from targets connected over the bus and in turn, cannot interrupt DM6467 ARM on the same. This can be worked around by using GPIO lines to receive PCI interrupts from the PCI slot to which DM6467 PCI Host EVM is connected. This requires using wires to get the INTA...D lines from the slot and connect them to DM6467 GPIO lines and modify the Host Controller driver accordingly.

Hardware Modifications

Use wires to connect PCI interrupt lines from target device(s) from respective slots to DM6467 PCI Host's GPIO pins. Following figures show 2 of the possible arrangements when using 4 target devices:

The Pin Multiplexing 0 Register controls the pin function in the EMIFA, ATA, HPI, PCI, TSIF0, TSIF1, and CRGEN. Some muxed pins are controlled by more than one PINMUX bit field. The Pin Multiplexing 1 Register controls the pin function in the UART0, UART1, and UART2 Blocks.

This utility allows the pin multiplexing registers
of the device to be calculated with ease, as well as showing what peripherals
can be used together.

Saturday, December 24, 2011

The above table lists the source of EDMA synchronization events associated with each of the programmable EDMA channels (the first column) for ARM and DSP. For the DM6467T device, the association of an event to a channel is fixed; each of the EDMA channels has one specific event associated with it. These specific events are captured in the EDMA event registers (ER, ERH) even if the events are disabled by the EDMA event enable registers (EER, EERH). See more in the following references:

Tuesday, December 20, 2011

High Efficiency Video Coding (HEVC) or H.265 is the current joint video coding standardization project of ITU-T Video Coding Experts Group (ITU-T Q.6/SG 16) and ISO/IEC Moving Picture Experts Group (ISO/IEC JTC 1/SC 29/WG 11). It will further reduce by 50% the data rate needed for high quality video coding, as compared to H.264.

Saturday, December 17, 2011

There are several Java Virtual machines and the most popular one is the Oracle Java SE. Sometime we use a remote or cloud server or run between cross platforms, even for a simple hello world Java program, we often get the "Exception in thread "main" java.lang.NoClassDefFoundError" that the class which you are trying to run was not found in the classpath, because the java.exe does not take current directory by default! The "-cp option" may help:

java -cp "C:/Program Files/Java/jdkxxx/jre/lib;./;"

Please pay attention at the "./" at the end of the paths. See more detail in codegravity.com.

Table 1 Structure of tools forming the high efficiency and low complexity configurations of the HM

High Efficiency

Low Complexity

Coding unit tree structure (8×8 up to 64×64 luma samples)

Prediction units

Transform unit tree structure (maximum of 3 levels)

Transform unit tree structure (maximum of 2 levels)

Transform block size of 4×4 to 32×32 samples (always square)

Angular intra prediction (maximum of 34 directions)

DCT-based interpolation filter for luma samples (1/4-sample, 12-tap)

Directional interpolation filter for luma samples (1/4-sample, 6-tap)

Bi-linear interpolation filter for chroma samples (1/8-sample)

Advanced motion vector prediction

Context adaptive binary arithmetic entropy coding

Low complexity entropy coding phase 2

Internal bit-depth increase (4 bits)

N/A

N/A

Transform precision extension (4 bits)

Deblocking filter

Adaptive loop filter

N/A

The following figure shows the framework of HEVC test model (HM) decoder. The yellow, blue and white boxes indicates the building blocks for only high efficiency configuration, only low complexity configuration, and both configurations, respectively.

Saturday, December 10, 2011

When we set up a SVN repository at our local machine using tortoisesvn, we often encounter the problems of "Can't connect to host localhost". This is because unless explicitly stated, svnserve will listen for IPv6 connections where the IPv6 protocol is supported, which is true of Windows Vista, 7 and Server 2008. In order to get TortoiseSVN connecting properly, you need to set up the svnserve service as follows (from an Admin command prompt, assuming your binaries are installed at C:\SVN):

In a multi-core system, resource and cache management is very important since potential resource and cache contention may cause unexpected behaviors such as crashes and performance degradation. The following links provide good references: