diff options
author | Uoti Urpala <uau@glyph.nonexistent.invalid> | 2010-04-26 18:25:34 +0300 |
---|---|---|
committer | Uoti Urpala <uau@glyph.nonexistent.invalid> | 2010-04-26 18:25:34 +0300 |
commit | 7795726e0f8c70edd6ecde7fd2137214af302f4f (patch) | |
tree | 87a087e69a0e2912183736de409676f824fb2248 /DOCS/tech/realcodecs/video-codecs.txt | |
parent | ba3b65b92f3f822fa75b0210b841557f5b20f6d1 (diff) | |
parent | e16f02fe4001f3056b8efd1a099a563569b73f5d (diff) | |
download | mpv-7795726e0f8c70edd6ecde7fd2137214af302f4f.tar.bz2 mpv-7795726e0f8c70edd6ecde7fd2137214af302f4f.tar.xz |
Merge svn changes up to r31033
Diffstat (limited to 'DOCS/tech/realcodecs/video-codecs.txt')
-rw-r--r-- | DOCS/tech/realcodecs/video-codecs.txt | 96 |
1 files changed, 48 insertions, 48 deletions
diff --git a/DOCS/tech/realcodecs/video-codecs.txt b/DOCS/tech/realcodecs/video-codecs.txt index 2bef957172..af2152061a 100644 --- a/DOCS/tech/realcodecs/video-codecs.txt +++ b/DOCS/tech/realcodecs/video-codecs.txt @@ -40,12 +40,12 @@ anything and is only called in the beginning. result=RV20toYUV420Init(struct init_data *, struct rvyuvMain **); struct init_data { - short constant=0xb; - short width, height; - short 0, 0, 0; - ulong format1; - long 1; - ulong format2; + short constant=0xb; + short width, height; + short 0, 0, 0; + ulong format1; + long 1; + ulong format2; }; format1 and format2 are stored in the .rm file's stream headers. @@ -53,22 +53,22 @@ format1 and format2 are stored in the .rm file's stream headers. it's the only difference between low and high bitrate files. result=RV20toYUV420Transform(char *input_stream, char *output_data, - struct transin *, struct transout *, struct rvyuvMain *); + struct transin *, struct transout *, struct rvyuvMain *); struct transin { - ulong length_of_input_data; - ulong null; - ulong num_sub_packets_in_block_minus_one; - ulong *sub_packets_list; - ulong another_null; - ulong timestamp_from_stream; + ulong length_of_input_data; + ulong null; + ulong num_sub_packets_in_block_minus_one; + ulong *sub_packets_list; + ulong another_null; + ulong timestamp_from_stream; }; struct transout { - ulong flag1; // ((var_94&2!=0)&&(result==0))?1:0 - ulong flag2; // 4 LBS from var_94 - ulong zero; - ulong width, height; + ulong flag1; // ((var_94&2!=0)&&(result==0))?1:0 + ulong flag2; // 4 LBS from var_94 + ulong zero; + ulong width, height; }; The length of output_stream is 1.5*width*height (I420 planar yuv 4:2:0). @@ -131,37 +131,37 @@ DWORDS (the entries are not always constant) there are two w/h pairs at 05C. the first is the size of the unscaled video stream, the second possibly image size -000 1 6 3 1 -010 1 0 AEBFC0D1(magic) 0 -020 0 ptr->? 0 0 -030 0 0 ->rvyuvMain+0x050 ? -040 width height 0x17 0x479 -050 ->rvyuvMain 0x17 0x17 width -060 height width height 0 -070 0 1 0 0 -080 0 0xb w h -090 w h 0 0 -0A0 1 0xb0(w?) 0x58 0x58 -0B0 ptr->? 0 0 1 -0C0 0x32 1 0 0 -0D0 0 0 0 0 -0E0 0 0 0 0 -0F0 0 0 0 0 -100 0 0 0 0 -110 p p p p p are pointers to several function, for -120 p p p p example to the actual public functions -130 p p p p (except init, the others are some kind of -140 p p p p interfaces) -150 p 0 0 0 -160 0 0x2000 1 0 -170 0 0 0 0 -180 1 1 0 0 -190 0 0 0 0 -1A0 0 0 0 0 -1B0 1 0 ptr->? ptr->? -1C0 1 0 0 0 -1D0 0 0 0 0 -1E0 0 0 0 0 +000 1 6 3 1 +010 1 0 AEBFC0D1(magic) 0 +020 0 ptr->? 0 0 +030 0 0 ->rvyuvMain+0x050 ? +040 width height 0x17 0x479 +050 ->rvyuvMain 0x17 0x17 width +060 height width height 0 +070 0 1 0 0 +080 0 0xb w h +090 w h 0 0 +0A0 1 0xb0(w?) 0x58 0x58 +0B0 ptr->? 0 0 1 +0C0 0x32 1 0 0 +0D0 0 0 0 0 +0E0 0 0 0 0 +0F0 0 0 0 0 +100 0 0 0 0 +110 p p p p p are pointers to several function, for +120 p p p p example to the actual public functions +130 p p p p (except init, the others are some kind of +140 p p p p interfaces) +150 p 0 0 0 +160 0 0x2000 1 0 +170 0 0 0 0 +180 1 1 0 0 +190 0 0 0 0 +1A0 0 0 0 0 +1B0 1 0 ptr->? ptr->? +1C0 1 0 0 0 +1D0 0 0 0 0 +1E0 0 0 0 0 ... |