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:

"The TMuC has similarities to the H.264/MPEG-4 AVC standard, including block-based intra / inter prediction, block transform and entropy coding. New features include increased prediction ﬂexibility, more sophisticated interpolation ﬁlters, a wider range of block sizes and new entropy coding schemes. Twice the compression efﬁciency of H.264/MPEG-4 AVC is expected to be achieved, at the expense of a considerable increase in computational complexity. The performance of the coding algorithm resulting from this integration step will be analyzed by means of formal subjective quality assessment in a next subjective test campaign."

The article "High Performance, Low Complexity Video Coding and the Emerging HEVC Standard" describes a low complexity video codec with high coding efficiency. It was proposed to the high efficiency video coding (HEVC) standardization effort of moving picture experts group and video coding experts group, and has been partially adopted into the initial HEVC test model under consideration design. The proposal utilizes a quadtree-based coding structure with support for macroblocks of size 64 × 64, 32 × 32, and 16 × 16 pixels.

Average interpolation complexity is less than that of H.264/AVC due to the 1-D directional interpolation filters.

Memory bandwidth for motion compensation is lower than H.264/AVC. This is because motion partitions smaller than 8 × 8 are not used.

Interpolation complexity for B pictures is significantly lower in the proposal than in H.264/AVC, as the SKIP and DIRECT modes use integer motion vectors. Using motion vectors with integer pixel accuracy implies that reconstruction of a SKIP/DIRECT block can be done by copying pixels from one location in memory to another location, instead of applying the 6-tap interpolation filter.

The deblocking filter has significantly lower computational complexity. This is mainly because a much lower number of block edges are filtered, and the filter has simpler logic for enabling/disabling the filter on an edge. In addition, filtering can be performed in parallel first for each of the vertical edges and then for each of the horizontal edges, which is not possible for H.264/AVC.

VLC (de)coding of coefficients is simpler than H.264/AVC CAVLC coefficient (de)coding. In particular, CAVLC relies on decoding a large number of syntax elements (e.g., coeff−token, trailing−ones−sign−flag, level−prefix, level−suffix, total−zeros, and run−before). Also, the VLC decoding uses significantly fewer syntax elements, and requires less conditional branches (run/level/sign in run mode, and level/sign in level mode).

Samuelsson at el. proposed a method to for "Simplification of Intra Prediction Mode" for HEVC. The result shows that this processing is adaptive to the content of the video, and results in a reduction in the computational complexity of the prediction process by approximately 50%.

Android NDK (Native Development Kit) allows working with native C code using a shared C library. It includes the entire toolchain needed to build for your target platform (ARM). Native C code accessible via JNI still runs inside the Dalvik VM, and as such is subject to the same life-cycle rules that any Android application lives by. The advantage of writing parts of your app code in native language is presumably speed in certain cases.

The problem is due to "It is possible that when PLL is being programmed you loose RTCK while PLL is switching over. The RTCK will also become much slower as it is slaved to the device core clock. It may only work if you are using an external adaptive clocking adapter to deal the RTCK issue. Aside of this, you will need to configure the PP+ via SdConfig(Ex) to uncheck disable polling and set the port speed to 100. This will force the emulator to poll for emulator command completion and the 100 is the max retry loop count. " The fix is as follows.

Thursday, November 17, 2011

Like in recently announced Eee Pad Transformer Prime, the first tablet to feature Nvidia's new Tegra 3 quad-core processor, has attracted attention, Tegra 3 quad-core processor seems that it will be adapted by more phones and tablet. Desire Athow wrote:

HTC will apparently break the exclusivity of Qualcomm by adopting the penta-core Nvidia Tegra 3 chipset to power a new handset, the Edge, that is set to be launched next year at MWC.

According to Monica Chen and Joseph Tsai from Digitimes, the phone will launch either in March or April and will come with Nvidia's chipset, which would be a blow to Qualcomm who may lose both HTC and Sony Ericsson as exclusive partners in a single year.

In addition, Microsoft has also confirmed that ST-Ericsson will also start producing chips for Windows Phone handsets ,heralding the end of the monopoly Qualcomm had on the platform.

Samsung Electronics, Motorola and LG have also adopted the Tegra 3 for their handsets and Asus has already shipped the first tablet based on the chipset , the Transformer Prime.

The new Tegra 3 adopts a similar strategy as ARM's big.LITTLE or TI's OMAP4, with smaller CPU(s) taking over from big ones for mundane and light tasks.

Nvidia says that the system on chip has three times the graphics performance of its predecessor - thanks to 12 GPU cores - while consuming almost two thirds less power than the Tegra 2.

If "adb devices" returns nothing, you may unplug the USB cable and try to update the device driver using the USB driver in the transformer 3.1 rootkit. If sometime SU can't not be installed due to ADB path problem, may also try the transformer 3.1 rootkit. However, if your adb path is set in the Windows environment, you may also need to delete the adb.exe in the tool kit;

Flash Video is a container file format used to deliver video over the Internet using Adobe Flash Player versions 6–11. Flash Video content may also be embedded within SWF files. There are two different video file formats known as Flash Video: FLV and F4V. The audio and video data within FLV files are encoded in the same way as they are within SWF files. Flash Video FLV files usually contain material encoded with codecs following VP6 video compression formats. The most recent public releases of Flash Player also support H.264 video and HE-AAC audio.

Today David Murphy reported "Who's to Blame for Adobe Flash's Failures?" in pcmag.com. In his report, he referred to Cera Technology CEO Michael Mace's words "The root causes of the Flash failure should blame to a fundamental misreading of the mobile market, and to short-term revenue goals that were more important than long-term strategy at both Macromedia and Adobe. The full Flash player had been designed for PCs; it was too fat to run well on a smartphone." ...

Currently HTML5 Video Player is an opt-in trial for YouTube. It supports browsers that support both the video tag in HTML5 and either the h.264 video codec or the WebM format (with VP8 codec).

Saturday, November 12, 2011

I tried to update my iPhone 3GS with iOS 5.0.1 which was released on Thursday to fix a critical security hole and promise better battery life for iPhone 4S users. It seems Apple may have not sufficiently tested it before release. Not only my update failed, but also my iPhone firmware could not be restored at the first try. I tried reset via tap both home button and power off button and a different cable, and finally got the restored firmware.

Updated: strangely enough, after I restored the firmware, my iOS is 5.0.1.

Wednesday, November 9, 2011

There is more than enough room for tablet players. Current estimates suggest tablet sales will increase on average 83% a year to 185 million units in 2014; RBC estimates Apple will sell 50 million iPads in fiscal 2012 (up 54% yearly) and 65 million in 2013.

Android 4.0 Ice Cream Sandwich includes many improvements including a new interface and system bar that makes accessing and navigating through applications easier. Other features include an improved keyboard, integration of multiple email accounts, improved security, core application improvements, and near-field communications (NFC) abilities for mobile payments. It also provides impressive media processing features, such as face unlock, camera functions for quicker photo, live effect, enhanced Talk-to-Text, and photo editor.

It has already been shown to work on a smartphone with an ARM processor. HTC confirmed that the HTC Sensation, HTC Sensation XL, HTC Sensation XE, HTC Rezound, HTC EVO 3D, HTC EVO Design 4G, and HTC Amaze 4G would all be seeing the update to Android 4.0.

The new OS includes OS optimization for x86, so Intel architecture-based devices, can support it, according to Suzy Greenberg, an Intel spokeswoman. HP new tablet Slate 2 includes faster hardware including Intel's Atom Z670 processor, which runs at a clock speed of 1.5GHz and has accelerators to decode 1080p video.

MIPS is the third processor architecture challenging ARM in the tablet and smartphone space. Tablets with MIPS processors already support Android 3.0, which is code-named Honeycomb, and the company is porting Android 4.0 for tablets.

Friday, November 4, 2011

This release is another try to support Artix-7 and Virtex-7 XT. According to the company press release, a full custom precision floating-point support, including new bit and cycle accurate, single, double and full custom precision floating-point in system generator for DSP, is provided to extend productivity for DSP designers.

Artix™-7 FPGAs deliver the lowest power and lowest cost to address high-volume markets. This family is one of three product families built on a common 28nm architecture designed for maximum power efficiency and offers over two times the capacity, 30% higher performance, 50% lower power consumption -- and logic up to 350K logic cell density at lower price points than Spartan®-6 FPGAs.

the latest Virtex-7, 2000T FPGA, integrates 2 million logic cells, 6.8 billion transistors and 12.5Gb/s serial transceivers on a single device making it the world’s highest capacity FPGA. This is equivalent to 20 million ASIC gates.Virtex-7 XT provides larger block RAM (85.0Mb) than other Virtex-7 devices.

Saturday, October 29, 2011

Grid 10 is a Nvidia Tegra II 1Ghz Dual Core based 10.1 inch Android device. It uses a clever customized Android OS called Grid OS. The base Wi-Fi-only model, with 16 GB of memory, costs $299, a full $200 less than the comparable Apple model. It gave users good experience with gesture controls. The latest firmware version is 1.00.37. Adobe Flash Player 11 can be installed and YouTube video plays very well .

When a black screen appears and likes dead, the power button has no effect. It may be due to a firmware crash. The customer support can be reached @ 1-855-822-5534 and a very good prompt help may be provided. Usually "holding reset and power button in the same time, and then restart" may solve the problem.