• Stars
    star
    106
  • Rank 325,871 (Top 7 %)
  • Language
    C
  • License
    GNU General Publi...
  • Created almost 9 years ago
  • Updated about 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

a simple jpeg codec.
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

More Repositories

1

fanplayer

A portable video player based on ffmpeg for windows and android platform.
C
605
star
2

ffplayer

a video player based on ffmpeg for win32 and android platform.
C
274
star
3

ffrdp

ffrdp is a fast reliable protocol base on udp + arq + fec.
C
121
star
4

ffcnn

ffcnn is a cnn neural network inference framework, written in 600 lines C language.
C
75
star
5

v4l2test

v4l2 camera test for android platform.
C
66
star
6

ffnes

this is a nes emulator
C
51
star
7

cube

implement a simple algorithm to solve Rubik's Cube.
C
46
star
8

ffmp4muxer

C
44
star
9

LiveDesk

win32 livedesk rtsp server, rtmp pusher, screen recorder, avkcp server, ffrdp server.
C
34
star
10

ffvm

a riscv32 rv32imc emulator written in c.
C
31
star
11

ffhttpd

a simple http server
HTML
31
star
12

tinygl

C
28
star
13

games

C
25
star
14

ping

C
25
star
15

ffavimuxer

C
20
star
16

CameraDVR

DVR app for android.
Java
18
star
17

xiangqi

Chinese chess implemention
C
15
star
18

fftask

a simple rtos.
C
12
star
19

soundlink

C
12
star
20

ffeq

C
11
star
21

lxqchip8

chip8 & schip8 emulator
C++
8
star
22

dither

halftone image dither tool.
C
8
star
23

sngen

a des sn & key gen program
C
8
star
24

tpms

codes for TPMS (Tire Pressure Monitoring System)
Java
8
star
25

mp4muxer

C
8
star
26

fanplayer-binary

fanplayer binary release
C
7
star
27

ffpl0

Yacc
7
star
28

motiondet

a simple motion detection c language library.
C
7
star
29

ffencoder

a video recorder based on ffmpeg.
C
7
star
30

edog

C
5
star
31

mini2440-bsp

mini2440 android bsp
C
5
star
32

smartlink

C
5
star
33

swfloat

a software float point library
C
5
star
34

onvif-server

C
4
star
35

Isdbt

Isdbt TV player for android.
Java
4
star
36

mt7628_eeprom_tool

C
4
star
37

ffann

C
4
star
38

riscv32-test

C
3
star
39

mstar_model_convert

Python
3
star
40

ffyolodet

C++
3
star
41

FactoryTestNew

new factory test app for android device.
Java
3
star
42

barcode

C
3
star
43

ffrecorder

C
2
star
44

ffota

Java
2
star
45

sounddet

C
2
star
46

fighter

a windows console fighter game.
C
2
star
47

riscv32-toolchain

C
2
star
48

dossharelib

share lib for dos.
C
2
star
49

speextest

C
1
star
50

librtmp

C
1
star
51

android-avdev-test

android platform capture mic audio and capture screen.
C++
1
star
52

WiFiTest

an android wifitest app.
Java
1
star
53

DiskScanner

an example code for scaning disk file and displaying on activity.
Java
1
star
54

FactoryTest

android device fatory test tool.
Java
1
star
55

ffrge

C
1
star
56

ffrpg2

C
1
star
57

bmp24to32

C
1
star
58

ffmtcnn

C++
1
star
59

ultrafacedet

C++
1
star
60

SoundRecorder

wince sound recorder
C++
1
star
61

BatteryTest

a battery test tool for android
C
1
star
62

soundtouch

this project is fork of soundtouch for android platform.
C++
1
star
63

MediaCodecTest

android mediacodec test app.
Java
1
star
64

ffsnserver

C
1
star
65

ffhal

an android hal implemention.
C
1
star
66

libuvc

usb uvc camera
C
1
star
67

fanplayer-wince

port fanplayer to wince platform.
C
1
star