Breif Description of nal_ref_idc Value in H.246 NALU

I am so sorry for my late update because of my study!
A quite update of myself: I have actually stopped working on H.264 and MP4 for some time but will probably pick up again in the near future.

As in the article Introduction to H.264: (1) NAL Unit, Suji Mani asked what is the exact meaning of different values in nal_ref_idc. In fact, nal_ref_idc is base on “Start Code Value” and represents the priority of the current frame (i.e. how important of the frame – the higher the value, the more important the frame). Here is a list of nal_ref_idc values with the corresponding Start Code Type:
(more…)

免費下載:訊連科技威力導演12 LE

訊連科技跟SharewareOnSale合作,提供了威力導演12 LE的限時免費下載。只要3個步驟,你就可以免費用它了!現在只剩3天了!這次他們提供的終身的,可用於家用或商業用途~那就是說,可以在公司的電腦上安裝了!

PowerDirector 12 LE Giveaway

軟件名稱:PowerDirector 12 LE
鏈接:
http://www.cyberlink.com/stat/edms/Giveaway/SharewareOnSale/PDR12/index.jsp, or,
http://sharewareonsale.com/s/cyberlink-powerdirector-sale

要上面兩個鏈接的步驟都差不多,我只拿其中之一作為例子來告訴你如何下載使用它。
(more…)

Free CyberLink PowerDirector 12 LE Giveaway!!

CyberLink cooperates with SharewareOnSale to offer a PowerDirector 12 LE giveaway recently. For only 3 steps, you can get a free copy! Only 3 days left! A good news is that this is a 1-computer lifetime license for home or business use, which means you can install it in your company computers!

PowerDirector 12 LE Giveaway

Software Name: PowerDirector 12 LE
Giveaway Link:
www.cyberlink.com/stat/edms/Giveaway/SharewareOnSale/PDR12/index.jsp, or,
sharewareonsale.com/s/cyberlink-powerdirector-sale

The procedure of getting the offer is very similar for both links. I just take one of them as an example to show you how to get it.
(more…)

Obtain a list of process scheduling policy and priority

Normally, you can read the file /proc/[pid]/sched and get the related information. But since I am using a simplified one, the sched file is not presented. And I need to figure out another way to get it. I finally found there is a C library, <sched.h>, to do that. You can find the following declarations in the library.

struct sched_param {
    int sched_priority;
};

/* Set scheduling parameters for a process */
int sched_setparam(pid_t pid, const struct sched_param *param);

/* Retrieve scheduling parameters for a particular process */
int sched_getparam(pid_t pid, struct sched_param *param);

/* Set scheduling algorithm and/or parameters for a process */
int sched_setscheduler(pid_t pid, int policy, const struct sched_param *param);

/* Retrieve scheduling algorithm for a particular purpose */
int sched_getscheduler(pid_t pid);

In this case, we only need sched_getparam() to obtain scheduling priority and sched_getscheduler() to obtain scheduling policy.
(more…)

How to get the number / id of processes and threads?

Since I am working on Hi3518 with Linux, in order to reduce the use of computing power of the device, I used a simplified version of Linux. So, most of the applications are gone or are simplified without any option. I just summarized the methods I can use on Hi3518 and should be also work on some other Embedded Linux.

In fact, the applications in Linux usually obtain related information by reading the files in /proc. Under /proc, you can see a lot of folder, some of them are in numbers. Those folders named in numbers, which are process ids (PIDs) represent the processes run in the system. Thus, you can see the details of each process in each folder.

/proc/***/

where *** are the corresponding process pid.
(more…)

Difference: Program VS Process VS Thread

Here are the definitions and the explanations from Wikipedia.

Program:

A computer program, or just a program, is a sequence of instructions, written to perform a specified task with a computer.

http://en.wikipedia.org/wiki/Computer_program

Process:

A process is an instance of a computer program that is being executed. It contains the program code and its current activity. Depending on the operating system (OS), a process may be made up of multiple threads of execution that execute instructions concurrently.
(more…)

免費YouTube影片下載器 – ClipConverter.cc

Home Page of ClipConverter.cc

8,9年前,我已經開始下載視頻在線,。我以前學習的網站的源代碼,發現視頻的直接鏈接。我救了很多成功的影片。但很難做同樣的事情在Youtube上(至少對我來說,在那個時候……當我在中學1 …)。我看了網上下載,然後與試了幾個網站。然而,他們大多是不可用了,像kissyoutube。一段時間後,我用JDownloader代替。多年來,YouTube還不斷變化的視頻檢索方法,我懷疑它帶來了一些挑戰這些下載者。最近,我重新設置我的電腦,我懶得重新安裝JDownloader。所以,我看網上申請了。我發現ClipConverter.cc即可。這是很好的,因為很多網上的視頻下載器只提供下載的視頻只(不帶聲音)或音頻。但是ClipConverter.cc幫助您兩個軌道合併,這樣就可以直接下載的有聲視頻。您也可以選擇視頻片段的分辨率。

(more…)

Embedded Linux: How to run a shell script at startup on Hisilicon’s Hi3518?

I am now developing on a Hisilicon’s chip, Hi3518E. The Linux kernal is built and compiled from the code of the SDK provided by Hisilicon. Thus, I think what I am going to say is also valid for other chips from Hisilicon.

I have studied Hi3518 for a few months. I now want to load some drives and programs at startup automatically so I spent some time to figure out how to do it on this chip. First of all, since I needed to run a set of commands, I wrote a Shell Script to organize all the commands together. Thus,I can run them all when I run the script once. Then, put the script into startup. I am not going to talk about how to write a Shell script as I don’t really know much about it.

0. Basic Knowledge

/etc/init.d/ : init.d is a folder for containing Unix/Linux Shell Scripts. If you enabled init.d in your kernal, the system will load and run the scripts placing here when it turns on. In common, all the init scripts of the services needed in a system are placed in this folder. So, you should find it on almost every Linux.
(more…)