happycube / ld-decode

Software defined LaserDisc decoder
GNU General Public License v3.0
304 stars 80 forks source link

Solid red areas on NTSC can have herringbone effect #206

Open Gamnn opened 5 years ago

Gamnn commented 5 years ago

Possibly related to #190, merge if so.

Tested on rev4, issue exists there as well.

ntscherring.lds.zip

Frame 3 ld-decode output: frame-2

s-video capture: vlcsnap-2019-05-13-19h19m21s735

happycube commented 5 years ago

It's regressed and now vrooping

Gamnn commented 5 years ago

vroop regression caused by ee8a5c1299a1882cf4cb0a36dc9d9a5f7452b96d.

happycube commented 5 years ago

oopsie. backed out unintentional commit.

happycube commented 5 years ago

I'm playing around with RF decoding parameters and they help a lot. So a new option for less agressive/sharp settings is a good idea...

ldd.rf.DecoderParams['video_bpf'] = (3500000, 12500000) ldd.rf.DecoderParams['video_bpf_order'] = 4

ldd.rf.DecoderParams['video_lpf_freq'] = (4200000) ldd.rf.DecoderParams['video_lpf_order'] = 6

happycube commented 5 years ago

Added a new --video-bpf-high parameter (in mhz) to ld-decode.py just now. "--video_bpf_high 12.2" squelches it on this disk.

simoninns commented 5 years ago

It would be good to generate a wiki page for all these additional options (and explain briefly what they are for as well as the range of usable settings)

happycube commented 5 years ago

Added new page "Fine tuning parameters" but there should be a troubleshooting page as well.

happycube commented 5 years ago

Closing this, at least for now :)

Gamnn commented 4 years ago

On some sources, adjusting the bpf doesn't clear up the wibble before considerably weakening the chroma and washing out colors.

Attaching some more samples across a variety of discs and players.

akowibble-a-x9.zip akowibble-b-x9.zip akowibble-c-x9.zip akowibble-eb-dvl919.zip akowibble-e-dvl919.zip akowibble-r-clds315.zip

happycube commented 4 years ago

Still experimenting - the below RFParams block helps with akowibble-a-x9.ldf and the majo x9 sample but doesn't eliminate the wibble.

In the case of majo there's a spurious signal at the burst frequency and a harmonic around the main wave at 13.8?mhz. ld-decode's defaults are sharp enough to pick this up. This is not like the PAL fault though, since it does not occur in the VITS area.

RFParams_NTSC = {
    # The audio notch filters are important with DD v3.0+ boards
    'audio_notchwidth': 350000,
    'audio_notchorder': 2,

    'video_deemp': (120*.32, 320*.32),

    # This BPF is similar but not *quite* identical to what Pioneer did
    'video_bpf_low': 4000000, 
    'video_bpf_high': 13000000,
    'video_bpf_order': 4,

    # This can easily be pushed up to 4.5mhz or even a bit higher. 
    # A sharp 4.8-5.0 is probably the maximum before the audio carriers bleed into 0IRE.
    'video_lpf_freq': 4200000,   # in mhz
    'video_lpf_order': 6, # butterworth filter order

    # MTF filter
    'MTF_basemult': .4, # general ** level of the MTF filter for frame 0.
    'MTF_poledist': .9,
    'MTF_freq': 12.2, # in mhz

    # used to detect rot
    'video_hpf_freq': 10000000,
    'video_hpf_order': 4,

    'audio_filterwidth': 150000,
    'audio_filterorder': 800,
}
Gamnn commented 4 years ago

Between --WibbleRemover and --lowband, and the manual high/low pass filters, I think this can be closed now. The wiki could use an explanation of the options and when/how to use them however.