Hello guest, if you like this forum, why don't you register? https://fanrestore.com/member.php?action=register (December 14, 2021) x


Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Peter Pan
#21
For Vdub plugins: http://avisynth.nl/index.php/FAQ_using_v...ub_plugins
Thanks for looking at this further.

The quick answer:
Quote:LoadVirtualDubPlugin
Loads a plugin written for VirtualDub. These are distributed as special DLLs with the file extension .VDF.
LoadVirtualDubPlugin (string filename, string filtername [, int preroll])
string filename =
The path of the .VDF file.
string filtername =
The name to be given to the plugin function after loading in AviSynth.
int preroll = 0
Some filters' output depends on previous frames; for these, preroll should be set to a suitable number.
VirtualDub filters support only RGB32.
Reply
Thanks given by:
#22
Thanks, I'll get to that right after I set up the Avisynth structure. *poof*  Okay, it's set up.  Big Grin

Code:
##=================
## Avisynth 2.6.0
## Disney's Peter Pan restoration/correction
##=================


## ==========
## SECTION - load files
##
## Load sample frames as video
## NOTE: replace this section with acutal video-files code
## ==========

## DVD sample frames - files path & name
## ----------
frameDVD01 = "frames\DPP_DVDSE2002_01.jpg"
frameDVD02 = "frames\DPP_DVDSE2002_02.jpg"
frameDVD03 = "frames\DPP_DVDSE2002_03.jpg"
frameDVD04 = "frames\DPP_DVDSE2002_04.jpg"
frameDVD05 = "frames\DPP_DVDSE2002_05.jpg"
frameDVD06 = "frames\DPP_DVDSE2002_06.jpg"
frameDVD07 = "frames\DPP_DVDSE2002_07.jpg"
frameDVD08 = "frames\DPP_DVDSE2002_08.jpg"
frameDVD09 = "frames\DPP_DVDSE2002_09.jpg"
frameDVD10 = "frames\DPP_DVDSE2002_10.jpg"
frameDVD11 = "frames\DPP_DVDSE2002_11.jpg"
frameDVD12 = "frames\DPP_DVDSE2002_12.jpg"
frameDVD13 = "frames\DPP_DVDSE2002_13.jpg"
frameDVD14 = "frames\DPP_DVDSE2002_14.jpg"
frameDVD15 = "frames\DPP_DVDSE2002_15.jpg"
frameDVD16 = "frames\DPP_DVDSE2002_16.jpg"
frameDVD17 = "frames\DPP_DVDSE2002_17.jpg"
frameDVD18 = "frames\DPP_DVDSE2002_18.jpg"
frameDVD19 = "frames\DPP_DVDSE2002_19.jpg"

vidDVD = (
    \  ImageSource( frameDVD01, start=0, end=0, fps=0.5 )
    \ +ImageSource( frameDVD02, start=0, end=0, fps=0.5 )
    \ +ImageSource( frameDVD03, start=0, end=0, fps=0.5 )
    \ +ImageSource( frameDVD04, start=0, end=0, fps=0.5 )
    \ +ImageSource( frameDVD05, start=0, end=0, fps=0.5 )
    \ +ImageSource( frameDVD06, start=0, end=0, fps=0.5 )
    \ +ImageSource( frameDVD07, start=0, end=0, fps=0.5 )
    \ +ImageSource( frameDVD08, start=0, end=0, fps=0.5 )
    \ +ImageSource( frameDVD09, start=0, end=0, fps=0.5 )
    \ +ImageSource( frameDVD10, start=0, end=0, fps=0.5 )
    \ +ImageSource( frameDVD11, start=0, end=0, fps=0.5 )
    \ +ImageSource( frameDVD12, start=0, end=0, fps=0.5 )
    \ +ImageSource( frameDVD13, start=0, end=0, fps=0.5 )
    \ +ImageSource( frameDVD14, start=0, end=0, fps=0.5 )
    \ +ImageSource( frameDVD15, start=0, end=0, fps=0.5 )
    \ +ImageSource( frameDVD16, start=0, end=0, fps=0.5 )
    \ +ImageSource( frameDVD17, start=0, end=0, fps=0.5 )
    \ +ImageSource( frameDVD18, start=0, end=0, fps=0.5 )
    \ +ImageSource( frameDVD19, start=0, end=0, fps=0.5 )
    \ ).ConvertToYV12()

## Get sample frames for video - files path & name
## ----------
frameLD01 = "frames\DPP_LDCAV1990_01.jpg"    # blank for missing sample
frameLD02 = "frames\DPP_LDCAV1990_02.jpg"
frameLD03 = "frames\DPP_LDCAV1990_03.jpg"
frameLD04 = "frames\DPP_LDCAV1990_04.jpg"
frameLD05 = "frames\DPP_LDCAV1990_05.jpg"
frameLD06 = "frames\DPP_LDCAV1990_06.jpg"
frameLD07 = "frames\DPP_LDCAV1990_07.jpg"
frameLD08 = "frames\DPP_LDCAV1990_08.jpg"
frameLD09 = "frames\DPP_LDCAV1990_09.jpg"
frameLD10 = "frames\DPP_LDCAV1990_10.jpg"
frameLD11 = "frames\DPP_LDCAV1990_11.jpg"
frameLD12 = "frames\DPP_LDCAV1990_12.jpg"
frameLD13 = "frames\DPP_LDCAV1990_13.jpg"
frameLD14 = "frames\DPP_LDCAV1990_14.jpg"
frameLD15 = "frames\DPP_LDCAV1990_15.jpg"
frameLD16 = "frames\DPP_LDCAV1990_16.jpg"
frameLD17 = "frames\DPP_LDCAV1990_17.jpg"
frameLD18 = "frames\DPP_LDCAV1990_18.jpg"
frameLD19 = "frames\DPP_LDCAV1990_19.jpg"

vidLD = (
    \  ImageSource( frameLD01, start=0, end=0, fps=0.5 )
    \ +ImageSource( frameLD02, start=0, end=0, fps=0.5 )
    \ +ImageSource( frameLD03, start=0, end=0, fps=0.5 )
    \ +ImageSource( frameLD04, start=0, end=0, fps=0.5 )
    \ +ImageSource( frameLD05, start=0, end=0, fps=0.5 )
    \ +ImageSource( frameLD06, start=0, end=0, fps=0.5 )
    \ +ImageSource( frameLD07, start=0, end=0, fps=0.5 )
    \ +ImageSource( frameLD08, start=0, end=0, fps=0.5 )
    \ +ImageSource( frameLD09, start=0, end=0, fps=0.5 )
    \ +ImageSource( frameLD10, start=0, end=0, fps=0.5 )
    \ +ImageSource( frameLD11, start=0, end=0, fps=0.5 )
    \ +ImageSource( frameLD12, start=0, end=0, fps=0.5 )
    \ +ImageSource( frameLD13, start=0, end=0, fps=0.5 )
    \ +ImageSource( frameLD14, start=0, end=0, fps=0.5 )
    \ +ImageSource( frameLD15, start=0, end=0, fps=0.5 )
    \ +ImageSource( frameLD16, start=0, end=0, fps=0.5 )
    \ +ImageSource( frameLD17, start=0, end=0, fps=0.5 )
    \ +ImageSource( frameLD18, start=0, end=0, fps=0.5 )
    \ +ImageSource( frameLD19, start=0, end=0, fps=0.5 )
    \ ).ConvertToYV12()


## place-holder for the fixed video
## ----------
vidDVDfix = vidDVD

## ==========
## END SECTION
## ==========


## ==========
## SECTION - processing
## ==========

## DeHalo_alpha MT2 - remove ringing artifacts
## rx        default = 2.0
## ry        default = 2.0
## darkstr    default = 1.0
## brightstr    default = 1.0
## lowsens    default = 50
## highsens    default = 50
## ss        default = 1.5
## ----------
vidDVD_DHAdef = DeHalo_alpha( vidDVD )
vidDVD_DHAfix = DeHalo_alpha( vidDVD, darkstr=0.8, brightstr=1.8 )


## restore lost picture-look from DeHalo_alpha processing
## ----------
#vidDVDfix = vidDVD_DHAfix.Tweak( hue=4, sat=1.05, bright=-7, cont=1.05, coring=false )


## re-sharpen
## ----------


## color correction
## ----------


## ==========
## END SECTION
## ==========


## ==========
## SECTION - display files
##  video comparisons - uncomment the one to show
## ==========

## show x4 ZOOM DeHalo_alpha testing
## ----------
zoom_factor    = 4
zoomsize_wide    = 480
zoomsize_high    = 360
## format is "zoomsize_wide/4" when not "0"
zoompos_x    = 0            
zoompos_y    = -zoomsize_high/4

zoom_wide    = 640*zoom_factor
zoom_high    = 480*zoom_factor

zm_left        = (zoom_wide-zoomsize_wide)/2
zm_right    = zm_left
zm_top        = (zoom_high-zoomsize_high)/2
zm_bot        = zm_top

vidSpacer = vidDVD
    \ .PointResize( zoom_wide, zoom_high ).Crop( 0, zm_top+zoompos_y, 8, -zm_bot+zoompos_y )

vidDVD_zoom = vidDVD
    \ .PointResize( zoom_wide, zoom_high ).Crop( zm_left, zm_top+zoompos_y, -zm_right, -zm_bot+zoompos_y )

vidDVD_DHAdef_zoom = vidDVD_DHAdef
    \ .PointResize( zoom_wide, zoom_high ).Crop( zm_left, zm_top+zoompos_y, -zm_right, -zm_bot+zoompos_y )

vidDVD_DHAfix_zoom = vidDVD_DHAfix
    \ .PointResize( zoom_wide, zoom_high ).Crop( zm_left, zm_top+zoompos_y, -zm_right, -zm_bot+zoompos_y )

StackHorizontal( vidDVD_zoom.Subtitle( "DVD-SE 2002 (x4 zoom)", size=36, text_color=$ffff00, align=2), vidSpacer, vidDVD_DHAdef_zoom.Subtitle( "w/ DeHalo_alpha (default)", size=36, text_color=$ffff00, align=2), vidSpacer, vidDVD_DHAfix_zoom.Subtitle( "w/ DeHalo_alpha (fix)", size=36, text_color=$ffff00, align=2) )


## show individual videos
## ----------
#vidDVD
#vidLD
#vidDVDfix


## show DVD & LD
## ----------
#StackHorizontal( vidDVD, vidLD )


## show DVD & DVD-fix
## ----------
#StackHorizontal( vidDVD, vidDVDfix )


## show DVD & LD & DVD-fix (smaller for convenience)
## ----------
#StackHorizontal( vidDVD.Subtitle( "DVD-SE 2002" ), vidLD.Subtitle( "LD-CAV 1990" ), vidDVDfix.Subtitle( "DVD-SE fix" ) ).BilinearResize( 480*3, 360 )


## ==========
## END SECTION
## ==========

The first thing was working up the DeHalo_alpha settings. As you can see in the above code, I tested using values stepped away from the defaults. It's tedious but it's the only way to see what those values actually do. These screen-caps show I was able to squeeze more ringing out of the picture.

New DeHalo_alpha values were able to smooth away the remaining halo'ing inside the letters. (The screen-caps are zoomed in x4 to give you a good look. Click on the pictures for their proper zoom-in size.) It's tricky because light haloing and dark haloing are separate. (On average, try to get the best, all around with allot of back and forth.) . .
[Image: DPP_w_De_Halo_tests_1.png]

Compare the edge of the nose in this one . .
[Image: DPP_w_De_Halo_tests_2.png]

Check out the eye brow. The default setting removes a good amount of haloing, but a little more and it's practically gone . .
[Image: DPP_w_De_Halo_tests_3.png]

Same with this shot, only it's under the eye . .
[Image: DPP_w_De_Halo_tests_4.png]

Now, you may have noticed that DeHalo_alpha seems to flatten the contrast slightly. Actually it shifts around a few of the picture values and requires more than just contrast correction. Fortunately, Avisynth's built-in Tweak() has all the adjustments needed for that. (I have some place-holder code in for those adjustments testing ... next.)
Reply
Thanks given by:
#23
A better idea might be to use dgdecode's CPU= setting, or for better refinement BlindPP().

Values of 5 & 6 add luma and chroma deringing and you'll get rid of a lot of the macroblocking and mosquito noise along with it.
Although personally I'd use CPU2=("xxooxx") since I've never liked the more aggressive Chroma deblocking.

[Image: Tink_Ori.png][Image: Tink_Clean.png]


If you need some more help with Dehalo_Alpha, here is a good guide: http://www.aquilinestudios.org/avsfilter...tml#dehalo
Reply
Thanks given by:
#24
Thanks for the info!

It looks like you have that part pretty much worked out. (BTW, I was going to suggest a de-noiser for that mosquito-like noise.) In any case, please document which plugins and what settings you will for each fix-up type. (BTW2, I was also thinking of ignoring DeHalo's affecting the image colors this stage. The final color correction will take care of that ... which I assume will be to look like the 1990 laserdisc?)

I'll get started on hooking up the color correction and VDub-to-Avisynth part.
Reply
Thanks given by:
#25
Noise clean up I'm pretty good with. I'll take a closer look later to refine it.

I have no idea if the 1990 laserdisc is our target or not though. It just seemed that as you were tweaking it to 'what seemed appropriate' it was looking more and more like that. I wish we had some reference.

I haven't seen talk about Peter Pan on the OT Forum thread about 4k film scans of Disney films. That might actually be better than what we're doing here.
I don't generally consider film scans superior to professional HD transfers, but compared a to a noisy color-messed-up DVD? Yeah, a film scan would be better.
Reply
Thanks given by:
#26
Oh, okay. Color correcting to known colors (white-grey-black points) makes it easier.  Wink

I just took a quick look at OT and that Disney 4K thread. Definitely a good idea, even generally speaking. But poita (who's opinion & experience is invaluable) has said that many prints simply don't have that degree of information. Which means we must conduct daring midnight raids on the Hollywood vaults to "borrow" the negatives and go for 8K! Of course, that part leaves me out ... they'd spot my metalic moonlight-reflective form a mile away, not too mention I'm like 5 stories tall. Big Grin
Reply
Thanks given by:
#27
The VDub-to-Avisynth part was less of a problem than I was expecting, but it still had it's issues.

The latest (last) version of the  SourceForge VirtualDub 1.10.4 (released 2013) . .
https://sourceforge.net/projects/virtualdub/
. .  wouldn't import the .JPG stills captured from the DVD. Only after I converted them to .PNG did they import into VDub. To prevent any more gotcha's, I went with the latest (last) version of the SourceForge VirtualDubMod 1.5.10.2 (released 2005) as it was advertised as recognizing more formats . .
https://sourceforge.net/projects/virtualdubmod/
Yeah. I know, both those dates don't jive. Whatever. Rolleyes

Next was the VDub filter Gradation Curves 1.46 beta (released 2008) . .
http://members.chello.at/nagiller/vdub/
This filter corresponds directly to my paint program's curves function. I put my initial color-correction numbers into it and it came out looking just like the paint program's correction. Once that is done, the GradationCurves' values must be exported as an "adjustment curves" .ACV file (select-able) to be able to load it back in for changes.

If you have a hex file viewer/editor, these are the hex values for my initial color correction. Copy and paste them into a hex editor and save it as an .ACV file. Then you can load it into GradationCurves:

Code:
00 04 00 05 00 02 00 00 00 00 00 FF 00 FF 00 06 00 00 00 00 00 18 00 18 00 44 00 40 00 C0 00 8E 00 E4 00 E4 00 FF 00 FF 00 05 00 00 00 00 00 18 00 18 00 80 00 80 00 E4 00 E4 00 FF 00 FF 00 05 00 00 00 00 00 18 00 18 00 6C 00 80 00 E4 00 E4 00 FF 00 FF 00 02 00 00 00 00 00 FF 00 FF

For example, run VirtualDubMod, go to "File" >> "Open video file", select (highlight) the first of the numbered picture files, and click "Open". VDubM will open the numbered-sequence of files as a video. (This is just for all the pictures samples I've been using.) Using the "key" movement buttons (circled) will display the frames forward and backward . .

[Image: Disney_Peter_Pan_Virtual_Dub_Mod_color-correction.png]

In the above screenshot, the GradationCurves filter has already been applied. That was done by "Video >> Filters", clicking "add", and selecting "gradation curves" (assuming that you put the filter file "gradation.vdf" in VirtualDubMod's filter folder). That brings up the filter . .

[Image: Disney_Peter_Pan_Virtual_Dub_Mod_Gradation_Curves.png]

When going through the RGB (applied to all) and R-G-B (applied to individual) graphs, be sure to start with the "curves" button (circled), the "RGB + R/G/B" selection (circled), and the preview window clicked-on (circled). When finished, either entering data or re-adjusting, save VDubMod's processing settings for it's use in Avisynth with "File" >> "Save processing settings" as a .VCF file.

With my having come that far -- including using your recommended DeHalo_alpha (default) and BlindPP (xxooxx) Avisynth plug-ins for halo-ing and noise, respectively -- I followed these directions for calling the VDubMod filter from inside Avisynth and feeding it the settings from the .VCF file:

Doom9 forum - Using VirtualDub plug-ins in AviSynth

Code:
## ==========
## SECTION - plug-ins
## ==========

LoadVirtualdubplugin( "D:\projects\Disney Peter Pan\VDub files\"+"gradation.vdf", "VDub_GradationCurves", 1 )

## ==========
## END SECTION
## ==========

Code:
## color correction
## ----------

vidDVDfix = vidDVDfix.ConvertToRGB32()
\ .VDub_GradationCurves(1,"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f3031323435363738393b3c3d3f404143444547484a4b4d4e5052535556585a5b5d5f6162646668696b6d6f7072747678797b7d7f8182848688898b8d8f9092949697999b9c9ea0a1a3a4a6a8a9abacadafb0b2b3b4b6b7b8b9bbbcbdbebfc0c1c2c3c4c5c5c6c7c8c8c9cacacbcccccdcdcececfcfcfd0d0d1d1d1d1d2d2d2d3d3d3d3d4d4d4d4d4d5d5d5d5d5d6d6d6d6d6d7d7d7d7d7d8d8d8d8d8d9d9d9dadadadbdbdbdcdcdddddddededfdfe0e1e1e2e3e3e4e5e6e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafcfdfeff000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1d1e1f2021222323242526272828292a2b2c2c2d2e2f2f303132323334353536373838393a3a3b3c3d3d3e3f40404142424344454546474848494a4b4b4c4d4e4e4f5051515253545555565758595a5a5b5c5d5e5f60616162636465666768696a6b6c6d6e6f7071727374757778797a7b7c7d7e8081828384858788898a8c8d8e8f90929394959798999a9c9d9e9fa1a2a3a5a6a7a8aaabacaeafb0b1b3b4b5b6b8b9babcbdbebfc1c2c3c4c6c7c8c9cbcccdcecfd1d2d3d4d5d6d8d9dadbdcdddfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff","152222202060505020000ffff0000181840448ec0e4e4ffff000018188080e4e4ffff00001818806ce4e4ffff0000ffff")

Included, too, is "LimitedSharpen", also with it's default settings . .

Code:
## LimitedSharpen - resharpen without halo's
##  defaults:
##
##  float ss_x      = 1.5
##  float ss_y      = 1.5
##  factors for supersampled operation. hardly ever need to go higher than 2.0. For simple sharpening tasks, set these to 1.0 (no supersampling).
##
##  int   dest_x    = last.width
##  int   dest_y    = last.height
##  Default is same resolution as the input clip. parameters specify arbitrary output resolution. handy if supersampled operation is used in processing chain resizing to avoid an unneeded resizing step.
##
##  int   Smode ("Sharpen mode")     = 3
##  1 = UnsharpMask() [from WarpSharp.dll package]
##  2 = Sharpen()
##  3 = "MinMaxSharpen()" [private routine of LimitedSharpen]
##
##  int   strength  = 100
##  default strength=160 for Smode=1; strength=100 for Smode=2 or 3
##  For Smode=1, 0~127 (simple sharpening), 128~255 (simple overdrive), 255~4096 (big overdrive).
##  For Smode=2, 0~100 to Sharpen() as 0.0~1.0. >100 are mapped to 100.
##  For Smode=3, 0~100, but 100~infinity can be used.
##
##  int   radius    = 2
##  radius for the unsharp masking of Smode=1. For Smode=2 or 3, it's ignored. radius now applies "directly". not scaled with the ss_x|y values.
##
##  int   Lmode ("Limiting mode")     = 1
##  1 = hard limiting with "overshoot".
##  2 = soft limiting (square of real overshoot)
##
##  bool  wide      = false
##  false = use min. and max. values of a 3x3 neighborhood for limiting.
##  true = use min. and max. values of a 5x5 neighborhood for limiting. TRUE for blurry sources and/or bigger supersampling.
##
##  int  overshoot = 1
##  how much sharpening "shoots over" the min/max limits, before clipping or reduction.
##  0 = no overshoot allowed
##  128 = useless
##
##  bool  soft      = false
##  for soft sources with noise. On sharp sources with little noise, you'll loose some detail.
##
##  int   edgemode  = 0
##  0 = deactivated, process the whole frame
##  1 = process only edge areas
##  2 = process only NOT-edge areas
##
##  bool  special   = false
##  TRUE and Smode=3 uses smart contrast sharpening. For other sharpeners, no effect.
##
##  int   exborder  = 0
##  1 thru 4 - excluded from sharpening (use if borders are not clean 2 to 8 pixels from each side of the frame, plus soft transition area.
## ----------
vidDVDfix = LimitedSharpen( vidDVDfix )

Each plug-in adds it's processing to the vidDVDfix as it moves along, in this order:

1) DeHalo_alpha
2) BlindPP
3) LimitedSharpen
4) GradationCurves

BTW, the DVD snapshots have some crush to it -- mostly in R but sometimes in G. See these worst examples. For inspection, normal picture values were dimmed and crushed values (=0) are max'ed in their color (to 255) :

[Image: Disney_Peter_Pan_DVD-_SE_highlighted_R-_G-_B_crush.png]

I suppose it could be due to .JPG compression (a reason to always use .PNG). If not, hopefully you'll know of some "flat area" filters to "reconstruct" some variance back into those areas. Then you can move everything back into a proper range of 16-235.

Finally, I'll go over the color correction again, matching white/black points to proper neutral values. But this time, I'll also match known object colors, like brown for the logs on the fire (presently too purple-ish), and some very dark areas (too strong green or blue). Hopefully, one correction applied throughout will look generally superior.
Reply
Thanks given by:
#28
eBay had a rash of auctions with no-fade Disney's Peter Pan 16mm films. Fortunately, the sellers posted some nice screeners / scans (some heavy duty work on those, too) / photos. The pictures look like the direction we're going with the color correction of the altered DVD. Just wanted to validate the white/black-points approach.  Smile

eBay - 16mm film DISNEY'S PETER PAN BEAUTIFUL AGFA COLOR FEATURE

eBay - 16MM FEATURE PETER PAN LPP COLOR MYLAR ORIGINAL- REEL 2 ONLY

eBay - 16mm Cartoon Feature Peter Pan - LPP Color - Mylar - Like New
Reply
Thanks given by:
#29
I was looking around for Avisynth scripts to identify a shot-change (or the misnomer scene-change -- a shot is the recording of what a movie camera saves when switched on and then switched off; a scene is a series of shots at a particular location; a sequence is a series of scenes of a particular situation). Then we can grab a frame of each shot in a movie, to be color-corrected with a single setting, and make adjustments so it works for the entire movie. Trying a simple script from the Doom9 forum didn't work. In fact, the poster did mention that they really don't work very well, and even then they are picky depending on the material.

However, I did come across an OT post by AntcuFaalb wherein he mentions he wrote one that worked fine (but no script or further description posted). Does anyone know anything about this ... or anything else that automatically works?
Reply
Thanks given by:
#30
A little something came up.   Rolleyes   I was trying SCDect() (an Avisynth-wiki recommended "scene change" detector) and, the very first time running a script with it, there were no error messages (I was pleasantly amazed). However, it kept running (and running) with a dark screen  while processing a 4 minute Peter Pan YouTube clip. But it wasn't processing ... it had locked-up the media player.

Testing to verify some previous scripts still runs in Avisynth, like color-correction processing the still pictures using the VirtualDub plug-in, I'm finding those now are locking up the player, too. But the player works normally on plain media files. So I'll be looking into this. Unfortunately, I don't have a system restore-point set to go back a week or two to see if that makes any difference in Avisynth's (or other unseen processes) general performance.

In the meantime, if you'd like to see what you can do as regards "scene detection" and frame sampling, please do so. Sorry 'bout this.   Blush
Reply
Thanks given by:


Forum Jump:


Users browsing this thread: 1 Guest(s)