View Single Post
Old 11th March 2019, 05:52   #4  |  Link
StainlessS
HeartlessS Usurer
 
StainlessS's Avatar
 
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
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.
__________________
I sometimes post sober.
StainlessS@MediaFire ::: AND/OR ::: StainlessS@SendSpace

"Some infinities are bigger than other infinities", but how many of them are infinitely bigger ???

Last edited by StainlessS; 12th March 2019 at 23:16.
StainlessS is offline   Reply With Quote