Skip to content
a simple jpeg codec.
C Makefile
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.


Type Name Latest commit message Commit time
Failed to load latest commit information.


ffjpeg library

ffjpeg is a simple jpeg encoding and decoding implemention.

jpeg is the most popular image compress standard. for most people, it's just a .jpg picture,
but for me and other software engineer, we want to understand how dose it working, how to
compress image into jpeg format, and how to display a jpeg file on screen.

after studying related courses at university, maybe everyone known what's jpeg. many documents
and books, also tell you how to do jpeg encoding or decoding, and how data are stored in jpeg
files. but the most important thing is how to write code, how to debug, and finally make a 
correct code by your self, to decode and display a jpeg file on the screen. it's interesting but

maybe some one will say, there is no need to reinvent wheel. but i say, if you don't write code,
you will never really know how it works, and how to optimize it. the jpeg standard is the most
important standard, and also the foundation of image and video compression. if you want to
study more about video compression, you should write a correct jpeg encoding/decoding code by
you self first.

i was studied jpeg standard at my university period. but i spent lots of time to write a really
correct code. after many years, someone ask me how to encoding and decoding jpeg. i rewrite all
of my code, and put it on github. yes, it was ffjpeg library. i tried my best, to make code
simple and easy to read. for your reference.

how to compile
you need a mingw32 or linux gcc enviroment, then execute commmand:

you will get ffjpeg.exe or (ffjpeg on linux) file.

how to test
ffjpeg -d test.jpg
will decode test.jpg file into decode.bmp, you can use a picture viewer to watch it.

ffjpeg -e test.bmp
will encode test.bmp file into encode.jpg, you can use a picture viewer to watch it.

want to learn more?
want to learn more about ffjpeg, please visit our wiki.

You can’t perform that action at this time.