View Single Post
Old 30th June 2004, 14:42   #6  |  Link
Didée
Registered User
 
Join Date: Apr 2002
Location: Germany
Posts: 5,391
Accidentialy, I've made myself a little function some time ago

Code:
Function BorderMirror( clip clp, int "hh", int "vv")
{
hh = default( hh, 8 )
vv = default( vv, 8 )

top=clp.crop(0,0,-0,vv)
bot=clp.crop(0,clp.height-vv,-0,-0)

stackvertical( top.flipvertical(),clp,bot.flipvertical() )

left=last.crop(0,0,hh,-0)
right=last.crop(last.width-hh,0,hh,-0)

stackhorizontal(left.fliphorizontal(),last,right.fliphorizontal())

return last
}
Just call "BorderMirror()" to expand all sides 8-pixel-wide with mirrors, or call i.e. "BorderMirror(16,16)" to define the width & height on your own.

BTW, I like to use this function for visualizing if my general cropping is tight enough, or if there are any serious artefacts around the borders in the source itself. If so, they become much more obvious this way.

***

I think Dust uses 8-pixel cells internally. (But don't nail me down on that!).

Then, I think you can get a pretty nice artefact reduction already with only 2 offsetted sources, instead of 4. Just in case you're in a hurry
In that case, make the 2 copies offset by 2 pixel horizontally + 2 pixel vertically. Speak, offset them diagonal to each other.

And my final note: Although I know about these artefacts, and usually find them myself in my encodings, I hardly can spot any of them when actually watching my stuff as a normal spectator


- Didée
__________________
- We´re at the beginning of the end of mankind´s childhood -

My little flickr gallery. (Yes indeed, I do have hobbies other than digital video!)
Didée is offline   Reply With Quote