recreate divx compression error

Jan 21, 2008 at 3:13pm

recreate divx compression error

Hi there,
i’m trying to recreate that compression error that we can see on divx especially with VLC with you are seeking or when you re doing a preview a movie you are downloading before the download is done..
(the image freeze or partialy freeze and it looks like the animation is still running on the back changing the actuall image .. kind of morphing stuff..)

if somebody have an idea of where to start…

thanks a lot

freeka

#35465
Jan 21, 2008 at 3:40pm

i tried that once. even asked that same question in doom9 and got some scary
looks.
you can try to do a 2pass encoding and before the second pass fiddle with
the numbers in the first pass generated txt file. thats kinda funky but not
that predictable.
ye, that effect is great and i love it when it happens.
when i think about it it can be done in jitter with cv.jit pixel flow
tracker and some op.

On Jan 21, 2008 5:13 PM, freeka wrote:

>
> Hi there,
> i’m trying to recreate that compression error that we can see on divx
> especially with VLC with you are seeking or when you re doing a preview a
> movie you are downloading before the download is done..
> (the image freeze or partialy freeze and it looks like the animation is
> still running on the back changing the actuall image .. kind of morphing
> stuff..)
>
> if somebody have an idea of where to start…
>
> thanks a lot
>
> freeka
>

#120934
Jan 21, 2008 at 5:06pm

hey thanks for your reply!
cv.jit pixel flow tracker ?? what do you mean??

you re talking about the cv.jit.tracker????

#120935
Jan 21, 2008 at 5:15pm

The issue here is that jitter gives you the decoded pixels, whereas
the ‘image processing’ happens during the decoding stage within the
divx codec itself, which is somewhat out of jitters realm, so you
would have to do ‘glitch alike’, and reverse engineer the look with
expensive pixel operations.

Ive often fantasized about a set of jitter objects that let you:

1) read raw data off disk and pass a matrix through somehow
2) munge its binary data with jit.op whatevers before:
3) passing this raw encoded binary matrix to various different
jit.decode.jpeg, jit.decode.png etc software decoders, or perhaps
automatic objects that wrap around installed qt components

thus you might have just a new jit.encode and jit.decode, which would
perhaps take in a binary stream, and output a 4 char matrix of size
determined by the binary stream, and with jit.encode you would have a
4 char matrix whatever dim producing a jit.encoded binary stream output.

You could then do things super easily like finding harmonics in video
encoders by feeding back the output of the jpeg decoder to the jpeg
encoder with a jit.xfade for feedback… live!

fuck yes. Would be amazing.

On Jan 21, 2008, at 10:40 AM, yair reshef wrote:

> i tried that once. even asked that same question in doom9 and got
> some scary looks.
> you can try to do a 2pass encoding and before the second pass fiddle
> with the numbers in the first pass generated txt file. thats kinda
> funky but not that predictable.
> ye, that effect is great and i love it when it happens.
> when i think about it it can be done in jitter with cv.jit pixel
> flow tracker and some op.
>
> On Jan 21, 2008 5:13 PM, freeka < freeka.freeka@gmail.com> wrote:
>
> Hi there,
> i’m trying to recreate that compression error that we can see on
> divx especially with VLC with you are seeking or when you re doing a
> preview a movie you are downloading before the download is done..
> (the image freeze or partialy freeze and it looks like the animation
> is still running on the back changing the actuall image .. kind of
> morphing stuff..)
>
> if somebody have an idea of where to start…
>
> thanks a lot
>
> freeka
>

#120936
Jan 21, 2008 at 5:28pm

word!
but until we get that we can lick our bones :D

#120937
Jan 21, 2008 at 5:34pm

hum i had a look on the jitter recipe book
40.scenewarp… which is actually a good start i think do you think
i dunno about the jit.gl stuff.. but do you think its possible to put a second video on the back to substitute the white screen that appear when we start the deformation? Puting the same video but without the deformation will be great!

#120938
Jan 22, 2008 at 5:11am

The Debris recipe does a passable job of collecting bits of pixel trash
in real-time, if that is what you are looking for. Trying to mimic an
aesthetic or effect is a great learning exercise, and you often come up
with great ideas in the process, even if it doesn’t end up looking just
right. Let us know what you come up with

Andrew B.

#120939
Jan 22, 2008 at 7:29am

Here’s my clumsy tryout of ‘divx’ effect recreation, I think it’s the
same idea Yair mentioned – cv.jit.hsflow+jit.repos.
It’s quite heavy&dirty since this is one of those train patches(‘make
it clean’ vs ‘end up in Dordrecht’).

best,
nesa

#P window setfont “Sans Serif” 9.;
#P window linecount 1;
#N vpatcher 10 59 610 459;
#P window setfont “Sans Serif” 9.;
#P newex 53 50 94 196617 jit.matrix @thru 0;
#P newex 53 152 53 196617 jit.pack;
#P newex 53 183 58 196617 jit.hsl2rgb;
#P newex 53 107 66 196617 jit.unpack;
#P newex 53 79 58 196617 jit.rgb2hsl;
#P inlet 53 30 15 0;
#P inlet 212 41 15 0;
#P outlet 53 205 15 0;
#P connect 2 0 7 0;
#P connect 7 0 3 0;
#P connect 3 0 4 0;
#P connect 4 0 6 0;
#P connect 6 0 5 0;
#P connect 5 0 0 0;
#P connect 4 1 6 1;
#P connect 4 2 6 2;
#P connect 1 0 6 3;
#P pop;
#P newobj 326 270 51 196617 p recolor;
#P message 188 89 30 196617 read;
#P message 174 72 86 196617 read redball.mov;
#P newex 29 141 117 196617 jit.matrix 4 char 80 60;
#P newex 27 290 115 196617 jit.matrix 2 long 80 60;
#P flonum 141 222 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 27 229 101 196617 jit.op @op + @val 2.;
#P newex 28 262 136 196617 jit.op @op * * @val 80. 60.;
#P button 367 33 15 0;
#P newex 326 137 40 196617 t b b l;
#P newex 367 187 55 196617 jit.matrix;
#P newex 367 93 121 196617 jit.noise 1 char 320 240;
#P newex 367 236 364 196617 jit.repos @mode 1 @interpbits 2 @offset_x
-40 @offset_y -28 @boundmode 1;
#P number 676 177 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P message 676 196 65 196617 interpbits $1;
#P number 695 134 35 9 0 4 3 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P message 695 153 71 196617 boundmode $1;
#P number 629 134 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 549 134 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P message 629 153 62 196617 offset_y $1;
#P message 549 153 62 196617 offset_x $1;
#P user jit.pwindow 365 315 326 242 0 1 0 0 1 0;
#P user jit.pwindow 29 384 82 62 0 1 0 0 1 0;
#P newex 29 194 124 196617 cv.jit.hsflow @maxiter 8;
#P newex 29 168 66 196617 jit.rgb2luma;
#P flonum 104 54 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P message 104 74 42 196617 rate $1;
#P message 164 54 76 196617 read bball.mov;
#P flonum 63 54 35 9 0.5 0 1 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P toggle 29 54 15 0;
#P newex 29 74 51 196617 qmetro 2;
#P newex 29 111 111 196617 jit.qt.movie @unique 1;
#B color 5;
#P connect 2 0 1 0;
#P hidden connect 2 0 23 0;
#P connect 0 0 28 0;
#P fasten 0 0 9 0 34 135 22 135 22 359 35 359;
#P connect 0 0 31 0;
#P connect 17 0 19 0;
#P connect 11 0 19 0;
#P connect 12 0 19 0;
#P connect 15 0 19 0;
#P connect 21 0 19 0;
#P connect 22 2 19 1;
#P connect 19 0 31 1;
#P connect 22 0 31 0;
#P connect 31 0 10 0;
#P fasten 30 0 0 0 193 107 34 107;
#P fasten 29 0 0 0 179 104 34 104;
#P connect 16 0 15 0;
#P connect 18 0 17 0;
#P connect 14 0 12 0;
#P connect 13 0 11 0;
#P connect 27 0 22 0;
#P connect 22 1 21 0;
#P connect 20 0 21 0;
#P connect 23 0 20 0;
#P connect 26 0 25 1;
#P connect 6 0 5 0;
#P connect 3 0 1 1;
#P connect 7 0 8 0;
#P connect 28 0 7 0;
#P fasten 4 0 0 0 169 101 34 101;
#P fasten 5 0 0 0 109 101 34 101;
#P fasten 1 0 0 0 34 104 34 104;
#P connect 25 0 24 0;
#P connect 24 0 27 0;
#P connect 8 0 25 0;
#P window clipboard copycount 32;

#120940
Jan 22, 2008 at 2:32pm

i recently experienced *amazing* compression errors by simply
exporting a video via [jit.qt.record] using the “sorenson” codec.

it actually outperforms divx in terms of glitch aesthetic.

./eth

>Hi there,
i’m trying to recreate that compression error that we can see on divx
especially with VLC

#120941
Jan 22, 2008 at 3:47pm

freeka skrev:
> Hi there,
> i’m trying to recreate that compression error that we can see on divx especially with VLC with you are seeking or when you re doing a preview a movie you are downloading before the download is done..
> (the image freeze or partialy freeze and it looks like the animation is still running on the back changing the actuall image .. kind of morphing stuff..)
>
haha, I have been sooooo wondering about that thing since getting into
Jitter. As an aside, I wonder if people are documenting those kinds of
errors online, or even deliberately creating them?

The weirdest error I ever saw was in a movie where the main character
walked around with a fragment of old video plastered across his face,
wrapped to conform to his face – FREAKY!

#120942
Jan 22, 2008 at 5:21pm

check : http://www.corrupt.ie/

i think benjamin’s on this list as well ..

On 22 jan 2008, at 16:47, Andreas Wetterberg wrote:

> haha, I have been sooooo wondering about that thing since getting
> into Jitter. As an aside, I wonder if people are documenting those
> kinds of errors online, or even deliberately creating them?
>
> The weirdest error I ever saw was in a movie where the main
> character walked around with a fragment of old video plastered
> across his face, wrapped to conform to his face – FREAKY!

#120943
Jan 22, 2008 at 5:29pm

some video’s here :

http://www.recyclism.com/corrupt.php

On 22 jan 2008, at 18:21, Gideon Kiers wrote:

> check : http://www.corrupt.ie/
>
> i think benjamin’s on this list as well ..

#120944
Jan 22, 2008 at 5:33pm

Hey Nesa
thanks for your patch!! the movement and animation on the pixel are really good, do you think there is a way to remove this grain stuff
to more the original file ??
what i’m looking for is that sort of wave/deformation around the movement you get on your patch..

thanks all the guys who are in touch!

#120945
Jan 22, 2008 at 10:53pm

nesa thats cool

On Jan 22, 2008 7:33 PM, freeka wrote:

>
> Hey Nesa
> thanks for your patch!! the movement and animation on the pixel are really
> good, do you think there is a way to remove this grain stuff
> to more the original file ??
> what i’m looking for is that sort of wave/deformation around the movement
> you get on your patch..
>
> thanks all the guys who are in touch!
>
>
>

#120946
Jan 27, 2008 at 10:59pm

trying to follow up…

On Jan 22, 2008, at 6:33 PM, freeka wrote:

> this grain stuff
> to more the original file ??

instead of using jit.noise, you can occasionally send the original
movie matrix…
add some feedback in the mix, and it’s even tastier:

#P window setfont “Sans Serif” 9.;
#P window linecount 1;
#N vpatcher 108 68 404 376;
#P window setfont “Sans Serif” 9.;
#P newex 50 50 117 196617 jit.matrix 4 char 80 60;
#P newex 50 226 115 196617 jit.matrix 2 long 80 60;
#P newex 50 165 102 196617 jit.op @op * @val 3.;
#P newex 50 198 136 196617 jit.op @op * * @val 80. 60.;
#P newex 50 103 124 196617 cv.jit.hsflow @maxiter 8;
#P newex 50 77 66 196617 jit.rgb2luma;
#P inlet 142 145 15 0;
#P inlet 50 30 15 0;
#P outlet 50 248 15 0;
#P connect 1 0 8 0;
#P connect 8 0 3 0;
#P connect 3 0 4 0;
#P connect 4 0 6 0;
#P connect 6 0 5 0;
#P connect 5 0 7 0;
#P connect 7 0 0 0;
#P connect 2 0 6 1;
#P pop;
#P newobj 243 228 62 196617 p cv hsflow;
#P number 58 166 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 29 124 40 196617 t b l l;
#P newex 44 190 50 196617 qlim 250;
#P message 188 75 30 196617 read;
#P message 174 58 86 196617 read blading.mov;
#P flonum 295 192 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 29 216 94 196617 jit.matrix @thru 0;
#P newex 29 265 224 196617 jit.repos @mode 1 @interpbits 6 @boundmode 1;
#P user jit.pwindow 28 309 326 242 0 1 0 0 1 0;
#P flonum 104 40 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P message 104 60 42 196617 rate $1;
#P message 164 40 76 196617 read bball.mov;
#P flonum 63 40 35 9 0.5 0 1 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P toggle 29 40 15 0;
#P newex 29 60 51 196617 qmetro 2;
#P newex 29 97 100 196617 jit.qt.movie @vol 0.;
#B color 5;
#P comment 333 192 65 196617 destruction;
#P connect 3 0 2 0;
#P connect 7 0 6 0;
#P connect 4 0 2 1;
#P connect 16 0 14 1;
#P connect 15 1 14 0;
#P connect 15 0 10 0;
#P connect 14 0 10 0;
#P connect 10 0 9 0;
#P connect 17 0 9 1;
#P connect 15 2 17 0;
#P connect 11 0 17 1;
#P connect 9 0 8 0;
#P fasten 9 0 10 0 34 297 11 297 11 202 34 202;
#P connect 1 0 15 0;
#P fasten 2 0 1 0 34 90 34 90;
#P fasten 6 0 1 0 109 87 34 87;
#P fasten 5 0 1 0 169 87 34 87;
#P fasten 12 0 1 0 179 90 34 90;
#P fasten 13 0 1 0 193 93 34 93;
#P window clipboard copycount 18;

#120947
Jan 27, 2008 at 11:06pm

you rules!

i will look more into it now

thanks a lot

#120948
Jan 28, 2008 at 1:18pm

Hey Nesa,
your patch is really great,
i think it need now just a lil thing:
when you perform the destruction,if i understood well, the patch decompose the screen into several square area and move them using the hsflow as reference right?
it will be perfect to have different square area size, more random size as the real divx error, maybe grouping the area by color or something, but maybe really hard to do..
if you have any idea?

Adding an alphabend between the wet signal and the raw signal at the end is good to eliminate the black zone coming with the derformation..

thanks

#120949
Oct 7, 2012 at 11:03pm

kind of funny to read that post again 4 year after Ö

#120950

You must be logged in to reply to this topic.