Selective Decoding and the Source Code

This is follow up post on Selective Decoding, my master thesis project. You can get the main idea of selective decoding at previous post. This post simply provides some resources related to the project.

I’ve upload two videos to YouTube demonstrating how selective decoding works.

Selective Decoding without Zoom
Selective Decoding with Zoom

The source code for the Android player is available at github. You can find it at Note that there are multiple branches, with the master branch containing the stable code and other branches having various experiments I did.

There is a research paper about selective decoding, available at If you want more detailed info, you can refer to my master thesis at

This project is part of the jiku project. There’re lots of other interesting stuff going on under the jiku project. We can refer to for more information. 

Selective Decoding–My Master Thesis Project

Finally, it’s done!

Work full-time and study part-time can be touch sometimes. But after 2 years of hard working, I’ve made it through. Smile

My thesis is about selective decoding. As the name suggests, decoding video selectively. Zoom interface has been available for photos, web pages and maps, but few players support zoomable video. When a video is zoomed in, only part of the scene is displayed but the entire frame is decoded. It’s a waste.

The idea of selective decoding is to decode what you can see. However, simply decode those parts won’t work because video codec introduces dependencies among macroblocks. So we need to analyze the dependencies among macroblocks and try to decode the minimum.

The benefits of selective decoding comes from two aspects, higher playback frame rate and lower energy consumption.

One can find the entire thesis here.