Author Archive: Yumi Chan

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:

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:, or,

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.

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.

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.


where *** are the corresponding process pid.

Difference: Program VS Process VS Thread

Here are the definitions and the explanations from Wikipedia.


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


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.

免費YouTube影片下載器 –

Home Page of

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


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.

Embedded Linux: 如何讓海思Hi3518開機後自動執行Shell Script?


已經了解了Hi3518一段時間,目前需要它於開機啟動時自動插入一些驅動和程序,所以小小研究了一下要怎麼做。首先,因為有一系列的指令要做,所以就給它寫了個Shell Script(腳本),讓它可以一次過運行我所有的指令,之後再放入Startup。至於Shell Script要怎麼寫,我暫時就不多說了,因為我知的也不多~ 哈哈~

0. 基礎知識

/etc/init.d/ : init.d 是一個用來存放Unix/Linux Shell Script的文件夾,如果你的內核有開啟 init.d 的話,系統啟動時,會在登入前自行執行存放在這裡的腳本。一般系統上所有服務的啟動腳本都會放在這裡,一般是Linux系統的話,應該都會看到它的蹤影。