real.finder
11th December 2013, 15:50
hi all :)
need help in Spatial field-blend source, field-blend in a part of the picture, not all of it
and of course, the source is generally field-blend and I managed to deal with it, but there are such cases
http://i.imgur.com/fmGNQYc.png
and
http://i.imgur.com/3kZRylQ.png
Whether with bob + srestore or AnimeIVTC(2)
Sample1 (www.solidfiles.com/d/27952bbfbd/)
Sample2 (http://www.solidfiles.com/d/82a604f848/)
Note, this may not appear when you move between frames, but it will appear in full encoding
It's a wicked status :devil:
thanks
edit: fixed here http://forum.doom9.org/showthread.php?t=170364 in mode22
ty2010
11th December 2013, 22:18
I had similar content and ended up using restore24, it seems to work better for cam and vhs.
poisondeathray
12th December 2013, 03:50
and of course, the source is generally field-blend and I managed to deal with it, but there are such cases
If you can deal with most of the other parts, and it's only certain sections like that panning shot , you can bob deinterlace, interpolate over the bad frames using various mvtools2 functions and srestore . But that will give you "jerky" movement similar to a 3:2 judder because 59.94p (unique frames) => 23.976p . So you can go one step farther and interpolate over bad frames to 59.94p, then interpolate to 119.88p , then select every 5th frame (so they are evenly spaced in time)
eg. for the panning sequence (1MB, xvid/avi)
https://www.mediafire.com/?27yoc5lmai7ys76
Interpolation only works well on certain types of content; if there are rotational movements, occlusions and objects moving in front of each other, complex non predictable motions - the results can be poor .
In your example, the pattern after bobbing was 1 good frame, 4 bad frames. So it's quite easy to replace those 4 "bad" frames using the good frames on either end of each section. The function used below is called "rx" and it replaces the 1st frame listed, plus the number after. e.g. RX(101, 5) would replace 101,102,103,104,105 , by using 100 and 106 as reference points. You can use a spreadsheet to auto fill once you get the pattern down, assuming the pattern holds (instead of manually typing)
There are some artifacts on the right edge border from the interpolation. You can crop that out or play with some of the settings like hpad/vpad for msuper, and other related interpolation scripts (there are a bunch of variations and related scripts on this theme) , you might get slightly better results.
MPEG2Source()
crop(4,0,-8,0,true)
yadifmod(order=1,mode=1, edeint=nnedi3(field=3)) #or use a different bobber
rx(504,4)
rx(509,4)
rx(514,4)
rx(519,4)
rx(524,4)
rx(529,4)
rx(534,4)
rx(539,4)
rx(544,4)
rx(549,4)
rx(554,4)
rx(559,4)
rx(564,4)
rx(569,4)
rx(574,4)
rx(579,4)
rx(584,4)
rx(589,4)
rx(594,4)
rx(599,4)
rx(604,4)
rx(609,4)
rx(614,4)
rx(619,4)
rx(624,4)
rx(629,4)
rx(634,4)
rx(639,4)
rx(644,4)
###trim to section of interest
Trim(503,648)
###interpolate to 120p
source=last
super = source.MSuper(pel=2)
backward_vec = MAnalyse(super, overlap=4, isb = true, search=3)
forward_vec = MAnalyse(super, overlap=4, isb = false, search=3)
source.MFlowFps(super, backward_vec, forward_vec, blend=false, num=120000, den=1001)
###take every 5th frame
selectrangeevery(5,1)
assumefps(24000,1001)
addborders(6,0,6,0)
function RX(clip Source, int N, int X)
{
# N is number of the 1st frame in Source that needs replacing.
# X is total number of frames to replace
#e.g. RX(101, 5) would replace 101,102,103,104,105 , by using 100 and 106 as reference points for mflowfps interpolation
start=Source.trim(N-1,-1) #one good frame before, used for interpolation reference point
end=Source.trim(N+X,-1) #one good frame after, used for interpolation reference point
start+end
AssumeFPS(1) #temporarily FPS=1 to use mflowfps
super = MSuper()
backward_vec = MAnalyse(super, isb = true)
forward_vec = MAnalyse(super, isb = false)
MFlowFps(super, backward_vec, forward_vec, blend=false, num=X+1, den=1) #num=X+1
AssumeFPS(FrameRate(Source)) #return back to normal source framerate for joining
Trim(1, framecount-1) #trim ends, leaving replacement frames
Source.trim(0,-N) ++ last ++ Source.trim(N+X+1,0)
}
real.finder
12th December 2013, 10:53
thank you guys :)
I'm trying as your advice
Other sample was added
----------
poisondeathray, the result is fantastic in your sample (https://www.mediafire.com/?27yoc5lmai7ys76), but difficult to apply it manually
Can be there a script do this? Or maybe an update for srestore (http://forum.doom9.org/showthread.php?p=1650423#post1650423)
thanks
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.