in reply to Re^6: encoding hdmi video byte
in thread encoding hdmi video byte
Okay. I took your spec and coded this slow and labourious implementation and applied it to the bytes 0 .. 255:
#! perl -slw use strict; use Data::Dump qw[ pp ]; my %map; for my $i ( 0 .. 255 ) { my @Q; my @D = split '', unpack 'b8', chr $i; $Q[ 0 ] = $D[ 0 ]; $Q[ 1 ] = $D[ 1 ] ^ $Q[ 0 ]; $Q[ 2 ] = $D[ 2 ] ^ $Q[ 1 ]; $Q[ 3 ] = $D[ 3 ] ^ $Q[ 2 ]; $Q[ 4 ] = $D[ 4 ] ^ $Q[ 3 ]; $Q[ 5 ] = $D[ 5 ] ^ $Q[ 4 ]; $Q[ 6 ] = $D[ 6 ] ^ $Q[ 5 ]; $Q[ 7 ] = $D[ 7 ] ^ $Q[ 6 ]; my $outb = ord pack 'b8', "@Q"; $map{ $i } = $outb; } pp \%map;
And it produced this output:
{ "0" => 0, 1 => 85, 2 => 84, 3 => 1, 4 => 80, 5 => 5, 6 => 4, 7 => 81, 8 => 64, 9 => 21, 10 => 20, 11 => 65, 12 => 16, 13 => 69, 14 => 68, 15 => 17, 16 => 0, 17 => 85, 18 => 84, 19 => 1, 20 => 80, 21 => 5, 22 => 4, 23 => 81, 24 => 64, 25 => 21, 26 => 20, 27 => 65, 28 => 16, 29 => 69, 30 => 68, 31 => 17, 32 => 0, 33 => 85, 34 => 84, 35 => 1, 36 => 80, 37 => 5, 38 => 4, 39 => 81, 40 => 64, 41 => 21, 42 => 20, 43 => 65, 44 => 16, 45 => 69, 46 => 68, 47 => 17, 48 => 0, 49 => 85, 50 => 84, 51 => 1, 52 => 80, 53 => 5, 54 => 4, 55 => 81, 56 => 64, 57 => 21, 58 => 20, 59 => 65, 60 => 16, 61 => 69, 62 => 68, 63 => 17, 64 => 0, 65 => 85, 66 => 84, 67 => 1, 68 => 80, 69 => 5, 70 => 4, 71 => 81, 72 => 64, 73 => 21, 74 => 20, 75 => 65, 76 => 16, 77 => 69, 78 => 68, 79 => 17, 80 => 0, 81 => 85, 82 => 84, 83 => 1, 84 => 80, 85 => 5, 86 => 4, 87 => 81, 88 => 64, 89 => 21, 90 => 20, 91 => 65, 92 => 16, 93 => 69, 94 => 68, 95 => 17, 96 => 0, 97 => 85, 98 => 84, 99 => 1, 100 => 80, 101 => 5, 102 => 4, 103 => 81, 104 => 64, 105 => 21, 106 => 20, 107 => 65, 108 => 16, 109 => 69, 110 => 68, 111 => 17, 112 => 0, 113 => 85, 114 => 84, 115 => 1, 116 => 80, 117 => 5, 118 => 4, 119 => 81, 120 => 64, 121 => 21, 122 => 20, 123 => 65, 124 => 16, 125 => 69, 126 => 68, 127 => 17, 128 => 0, 129 => 85, 130 => 84, 131 => 1, 132 => 80, 133 => 5, 134 => 4, 135 => 81, 136 => 64, 137 => 21, 138 => 20, 139 => 65, 140 => 16, 141 => 69, 142 => 68, 143 => 17, 144 => 0, 145 => 85, 146 => 84, 147 => 1, 148 => 80, 149 => 5, 150 => 4, 151 => 81, 152 => 64, 153 => 21, 154 => 20, 155 => 65, 156 => 16, 157 => 69, 158 => 68, 159 => 17, 160 => 0, 161 => 85, 162 => 84, 163 => 1, 164 => 80, 165 => 5, 166 => 4, 167 => 81, 168 => 64, 169 => 21, 170 => 20, 171 => 65, 172 => 16, 173 => 69, 174 => 68, 175 => 17, 176 => 0, 177 => 85, 178 => 84, 179 => 1, 180 => 80, 181 => 5, 182 => 4, 183 => 81, 184 => 64, 185 => 21, 186 => 20, 187 => 65, 188 => 16, 189 => 69, 190 => 68, 191 => 17, 192 => 0, 193 => 85, 194 => 84, 195 => 1, 196 => 80, 197 => 5, 198 => 4, 199 => 81, 200 => 64, 201 => 21, 202 => 20, 203 => 65, 204 => 16, 205 => 69, 206 => 68, 207 => 17, 208 => 0, 209 => 85, 210 => 84, 211 => 1, 212 => 80, 213 => 5, 214 => 4, 215 => 81, 216 => 64, 217 => 21, 218 => 20, 219 => 65, 220 => 16, 221 => 69, 222 => 68, 223 => 17, 224 => 0, 225 => 85, 226 => 84, 227 => 1, 228 => 80, 229 => 5, 230 => 4, 231 => 81, 232 => 64, 233 => 21, 234 => 20, 235 => 65, 236 => 16, 237 => 69, 238 => 68, 239 => 17, 240 => 0, 241 => 85, 242 => 84, 243 => 1, 244 => 80, 245 => 5, 246 => 4, 247 => 81, 248 => 64, 249 => 21, 250 => 20, 251 => 65, 252 => 16, 253 => 69, 254 => 68, 255 => 17, }
That's a byte to byte mapping table. I then used that to build the translation table I posted.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^8: encoding hdmi video byte
by AnomalousMonk (Archbishop) on Feb 24, 2010 at 23:54 UTC | |
by BrowserUk (Patriarch) on Feb 25, 2010 at 00:12 UTC | |
by hdmiguru (Initiate) on Feb 25, 2010 at 16:36 UTC | |
by AnomalousMonk (Archbishop) on Feb 25, 2010 at 18:16 UTC | |
|
Re^8: encoding hdmi video byte
by hdmiguru (Initiate) on Feb 24, 2010 at 22:01 UTC | |
by AnomalousMonk (Archbishop) on Feb 25, 2010 at 00:43 UTC | |
by BrowserUk (Patriarch) on Feb 25, 2010 at 10:37 UTC | |
by hdmiguru (Initiate) on Feb 25, 2010 at 17:13 UTC |