-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathREADME.txt
89 lines (58 loc) · 2.57 KB
/
README.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
YUV3
2014-09-12
--------------
Welcome to YUV3.
You can find YUV3's home page at http://code.google.com/p/yuv3 .
YUV3 is licenced under the MPL 1.1 .
YUV3 is the spiritual (and actual) successor to the YUV2 which was
shipped as part of tstools (http://code.google.com/p/tstools).
It is written in C# and should work on both Linux and Windows. On
Windows you will need the .NET runtime v.4 or above.
DANGER WILL ROBINSON! On Linux you will need the latest
Xamarin packages from http://www.mono-project.org/ , as
Ubuntu 14.04 (at least) has broken distribution packages.
Then run:
make
mono bin/yuv3.exe
And you should be away.
Things you should know:
- Support for YUV420I and VYUY formats is tentative as I don't have any
files in these formats.
- What I mean by the file formats:
Y8 - Y data only, 8 bpp
Y16 - Y data only, 16 bpp
YUV420P - W*H Y bytes, followed by (W*H)/4 U bytes followed by (W*H)/4 V bytes.
YUV420I - W*H Y bytes followed by (W*H)/4 pairs of UV .
YUYV - W*H*2 total bytes in YUYV groups.
VYUY - W*H*2 total bytes in VYUY groups.
- YUV3 can pick up parameters from the file names you give it:
* Width and height are discovered from the first match of the regex
_([0-9]+)x([0-9]+), so loading 'foo_540x230' will autoset the
dimensions to 540x320.
* Format is found from the file extension:
.yuv420p - YUV420P
.yuv420i - YUV420I
.yuyv
.yuyv422 - YUYV
.vyuy
.vyuy422 - VYUY
- There is a field called 'ID'. If you put 4 bytes of ID (PTS or whatever)
in the first four bytes of each frame of your YUV file, you can search
by them. This is useful to align files from different decoders.
When you hit return in the ID field, we will attempt to search for this ID
from the next frame onward.
- YUV3 calculates a checksum for every frame. This is a simple 32-bit
sum of all the bytes in a frame, in the order in which they occur in the
YUV file. It is somewhat useful for deciding if a decoder is decoding the
same pixels in a different frame, or is just Wrong (tm).
- There are bugs. Please report them at the Google code page and I will try
to fix them.
- Pixel grids only happen when zoom > 4 (to avoid cluttering the display).
- Sorry for the lack of XOR rendering; GDI+ doesn't support it. Boo.
Any problems, <[email protected]> is your friend. Allegedly.
Many thanks to Kynesim Ltd for supporting this work; http://www.kynesim.co.uk/
for further details.
Enjoy :-)
rrw 2014-09-12
-----------------