spoRv,
something to play with, Shuffle v0.00:- LINK REMOVED, See Here:-
https://forum.doom9.org/showthread.p...92#post1868592
Code:
# Stack Overhead Subtitle Text, with optional FrameNumber shown.
Function TSub(clip c,string Tit,Bool "ShowFrameNo",Int "Col"){
c.BlankClip(height=20,Color=Default(Col,0))
(Default(ShowFrameNo,False))?ScriptClip("""Subtitle(String(current_frame,"%.f] """+Tit+""""))"""):Trim(0,-1).Subtitle(Tit)
Return StackVertical(c).AudioDubEx(c)
}
/*
ShuffleV(clip c, Int "Seed"=0 , Int "blkH"=8 , Bool "Interlaced"=False , Bool "Inverse"=False ) # Vertical Shuffle
ShuffleH(clip c, Int "Seed"=0 , Int "blkW"=8 , Bool "Inverse"=False ) # Horizontal Shuffle
*/
LoadPlugin(".\Shuffle.dll")
#LoadPlugin(".\Shuffle_x64.dll")
SECRET_KEY_H = 123456789 # EDIT: I should perhaps have called this one SECRET_KEY_V Vertical Shuffle
SECRET_KEY_W = 987654321 # EDIT: I should perhaps have called this one SECRET_KEY_H Horizontal Shuffle
AviSource("D:\Parade.avi")
Crop(0,0,Width/8*8,Height/8*8) # Can Crop or AddBorders to achieve required Width/Height BlkW/H
ConvertToYV12
#ConvertToYV16
#ConvertToYV24
#ConvertToYV411
#ConvertToY8
ORG=Last
BlkH=8 # Blks for Vertial Shuffle
BlkW=8 # Blks for Horizontal Shuffle
INTERLACED=False # Doubles minimum required ShuffleV BlkH, eg YV12 interlaced requires multiple of 4 when INTERLACED=True, else 2
ShuffleV(seed=SECRET_KEY_H,blkH=BLKH,Interlaced=INTERLACED) # Shuffle Vertical blocks
#Return Last
ShuffleH(seed=SECRET_KEY_W,blkW=BLKW) # Shuffle Horizontal blocks
#Return Last
SHUFFLED=Last
ShuffleV(seed=SECRET_KEY_H,blkH=BLKH,Interlaced=INTERLACED,Inverse=True) # Inverse: De-Shuffle V/H, Order does not matter
ShuffleH(seed=SECRET_KEY_W,blkW=BLKW,Inverse=True)
#Return Last
StackHorizontal(SHUFFLED.TSub("Shuffled"+String(BlkH," BlkH=%.0f")+String(BlkW," BlkW=%.0f"),true),Last.TSub("De-Shuffled"))
#ConvertToRGB32
8x8
2x2
Have Not tried at all to compress, but likely a lot better than the XOR stuff (so long as BlkW,blkH not so small).
EDIT: Of course you can still do whatever flipping etc you want, just need to unmagle in reverse order.
EDIT: Seed as for The XOR thing, 0 = ALWAYS SAME, -1 = based on system Uptime, Ie not reversable, else user seed which is reversable.