Skip to content

Commit

Permalink
Merge pull request #501 from happycube/i492a
Browse files Browse the repository at this point in the history
add deemp adjustment
  • Loading branch information
happycube authored Jun 14, 2020
2 parents 9ed93a0 + 46cc220 commit f431b22
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 2 deletions.
3 changes: 2 additions & 1 deletion ld-decode
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ parser.add_argument('--verboseVITS', dest='verboseVITS', action='store_true', de

parser.add_argument('--lowband', dest='lowband', action='store_true', default=False, help='Use more restricted RF settings for noisier disks')
parser.add_argument('--WibbleRemover', dest='WibbleRemover', action='store_true', default=False, help='PAL/digital sound: (try to) remove spurious ~8.5mhz signal. Mitigate interference from analog audio in reds on NTSC')
parser.add_argument('-d', '--deemp_adjust', metavar='deemp_adjust', type=float, default=1.0, help='mtf compensation multiplier')

parser.add_argument('-t', '--threads', metavar='threads', type=int, default=5, help='number of CPU threads to use')

Expand All @@ -59,7 +60,7 @@ if args.pal and args.ntsc:
print("ERROR: Can only be PAL or NTSC")
exit(1)

extra_options = {'useAGC': not args.noAGC}
extra_options = {'useAGC': not args.noAGC, 'deemp_level': (args.deemp_adjust, args.deemp_adjust)}

if args.WibbleRemover:
extra_options['WibbleRemover'] = True
Expand Down
6 changes: 6 additions & 0 deletions lddecode/core.py
Original file line number Diff line number Diff line change
Expand Up @@ -329,6 +329,10 @@ def __init__(self, inputfreq = 40, system = 'NTSC', blocklen = 32*1024, decode_d

self.SysParams['analog_audio'] = has_analog_audio

self.deemp_level = extra_options.get('deemp_level')
if self.deemp_level is None:
self.deemp_level = (1.0, 1.0)

linelen = self.freq_hz/(1000000.0/self.SysParams['line_period'])
self.linelen = int(np.round(linelen))
# How much horizontal sync position can deviate from previous/expected position
Expand Down Expand Up @@ -454,6 +458,8 @@ def computevideofilters(self):

# The deemphasis filter
deemp1, deemp2 = DP['video_deemp']
deemp1 *= self.deemp_level[0]
deemp2 *= self.deemp_level[1]
SF['Fdeemp'] = filtfft(emphasis_iir(deemp1, deemp2, self.freq_hz), self.blocklen)

# The direct opposite of the above, used in test signal generation
Expand Down
4 changes: 4 additions & 0 deletions lddecode/plot_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -168,6 +168,10 @@ def draw_raw_bwimage(bm, x = 2800, y = 525, hscale = 1, vscale = 2, outsize = No
def draw_field(field):
return draw_raw_bwimage(field.dspicture, field.outlinelen, field.outlinecount)

def plotline(field, line):
ls = field.lineslice(line, 0, 63.5)
plt.plot(field.data['video']['demod'][ls])

class RGBoutput:
def __init__(self, outname):
try:
Expand Down
2 changes: 1 addition & 1 deletion notebooks/devbook_base.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@
"source": [
"# Would move this to uitls, but needs to run core.LDdecode\n",
"\n",
"def rundecode(filename, outname, firstframe, numframes, system='NTSC'):\n",
"def rundecode(filename, outname, firstframe, numframes, system='NTSC', extra_options = {}):\n",
" \"\"\" Helper function for notebooks, returns main ldd object and all fields \"\"\"\n",
" loader = make_loader(filename)\n",
"\n",
Expand Down

0 comments on commit f431b22

Please sign in to comment.