Skip to content

rockcarry/ffjpeg

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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
challenging.

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:
make

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.
https://github.com/rockcarry/ffjpeg/wiki



2016-05-03
rockcarry