1 |
|
+--------------------------------------------------------------------+ |
2 |
|
| XviD core lib examples | |
3 |
|
+--------------------------------------------------------------------+ |
4 |
|
|
5 |
In this directory can find some examples how to use XviD MPEG4 codec |
In this directory can find some examples how to use XviD MPEG4 codec |
6 |
in your own programs. |
in your own programs. |
7 |
|
|
8 |
Christoph (gruel@web.de) |
** cactus.pgm.bz2 |
9 |
|
---------------------------------------------------------------------- |
10 |
|
|
11 |
|
This a test sequence of 3 images with a cactus moving from right to |
12 |
|
left. It bzip2-compressed for size reason (half the size of a |
13 |
|
ZIP-file). Binaries of bunzip2 are available for all major OSes at |
14 |
|
http://sources.redhat.com/bzip2/ The original source of the cactus |
15 |
|
image is unknown... |
16 |
|
|
17 |
|
* xvid_encraw.c |
18 |
|
---------------------------------------------------------------------- |
19 |
|
|
20 |
|
This is a small example that allows you to encode YUV streams or PGM |
21 |
|
files into a MPEG4 stream. It can output single files (on per encoded |
22 |
|
frame), or one file for all the enced stream (m4v format or a simple |
23 |
|
container format that we called mp4u, its description can be found at |
24 |
|
the end of this file). This program also outputs some very basic time |
25 |
|
results. |
26 |
|
|
27 |
|
Type "xvid_encraw -help" to have all options' description. |
28 |
|
|
29 |
|
Examples : |
30 |
|
|
31 |
|
1) bzip2 -dc cactus.pgm.bz2 | ./xvid_encraw -type 1 |
32 |
|
|
33 |
|
This command decompress cactus.pgm.bz2 and pipe the pgm file to |
34 |
|
xvid_encraw that will compress it to mpeg4 format. No mp4 stream |
35 |
|
output is written to disk. |
36 |
|
|
37 |
|
2) ./xvid_encraw -type 1 -i cactus.pgm -save |
38 |
|
|
39 |
|
Compress cactus.pgm frames into mpeg4 stream, and then writes a |
40 |
|
m4v file per encoded frame. |
41 |
|
|
42 |
|
3) ./xvid_encraw -type 1 -i cactus.pgm -o my_xvid_example.m4v -stats |
43 |
|
|
44 |
|
Same thing as above but saves all raw m4v data to a singlefile, |
45 |
|
and displays yuv-plane psnr statistics to stdout. |
46 |
|
|
47 |
|
|
48 |
|
** xvid_decraw.c |
49 |
|
---------------------------------------------------------------------- |
50 |
|
|
51 |
|
This is a decoder example that is able to decode a m4v or mp4u |
52 |
|
stream. You can use it to decode what xvid_encraw encoded. |
53 |
|
|
54 |
|
Type "xvid_decraw -help" to have all options' description. |
55 |
|
|
56 |
|
Examples : |
57 |
|
|
58 |
* xvid_enc_dec.c |
1) ./xvid_decraw -i stream.m4v -d |
59 |
|
|
60 |
This is a complete example of the XviD-API for encoding and decoding: |
This command decodes a m4v file from stream.m4v and saves all |
61 |
The program reads a file of YUV 4:2:0 images (as greyscale picture in |
decoder output frames to individual PGM files (framexxxxx.pgm). |
|
PGM-format) and encodes this sequence to a MPEG4 bytestream. Then it |
|
|
decodes right away. |
|
62 |
|
|
63 |
* odivx_enc_dec.c |
2) cat stream.m4v | ./xvid_decraw |
64 |
|
|
65 |
Same program, but using the OpenDivX/DivX4 compatibility API. Wit this |
This examples decodes a m4v stream from standard input, but does |
66 |
you can use source written for DivX4 and simply relink with XviD-corelibrary. |
save any decoded frames. |
67 |
|
|
68 |
|
|
69 |
* cactus.pgm.bz2 |
** xvid_bench.c |
70 |
|
---------------------------------------------------------------------- |
71 |
|
|
72 |
Example input file for multi_dec_enc.c. A sequence of 3 images, a szene |
This is a tool to conduct unit testing and profiling of the signal |
73 |
with a cactus moving from right to left. It bzip2-compressed for size |
processing functions used internally within libxvidcore. |
|
reason (half the size of a ZIP-file). Binaries of bunzip2 are available |
|
|
for all major OSes at http://sources.redhat.com/bzip2/ |
|
|
The original source of the cactus image is unknown... |
|
74 |
|
|