Skip to content

Commit 112b8a1

Browse files
committed
More cleaning - especially the installation document
1 parent 1ee447b commit 112b8a1

File tree

7 files changed

+22
-253
lines changed

7 files changed

+22
-253
lines changed

wiki-default/Development/Developers.md

Lines changed: 0 additions & 1 deletion
This file was deleted.

wiki-default/Development/File-formats.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
# ld-decode.py
1+
# File formats
2+
3+
## ld-decode.py
24

35
The ld-decode.py application accepts FM RF captures input in '10-bit packed' format. This is a bit-stream of 10-bit unsigned integers produced by the Domesday Duplicator's capture GUI (typically with the .lds file extension). The input bit-stream is expected to be the raw LaserDisc RF captured at 40 Million Samples Per Second (MSPS) with each sample being 10-bits.
46

@@ -18,13 +20,13 @@ PAL - 17727262 Hz
1820

1921
NTSC - 14318181 Hz
2022

21-
# ld-chroma-decoder
23+
## ld-chroma-decoder
2224

2325
The NTSC and PAL chroma-decoders (a.k.a. comb filters) accept .tbc files from the ld-decode.py application and produces a raw RGB bit-stream with 16 bits per color value in the order RGB16-16-16 giving 48-bits per pixel. The file extension is .rgb (and can be used by applications such as ffmpeg by specifying the raw RGB format with a depth of 16).
2426

2527
Examples of pre-made export commands for FFV1/V210/V410 & ProRes-HQ/ProRes4444XQ codecs can be found [here](https://github.com/oyvindln/vhs-decode/wiki/Command-List#ld-chroma-decoder-export-commands)
2628

27-
# Example file sizes
29+
## Example file sizes
2830

2931
The following file sizes show the typical disc usage consumed by an end-to-end capture and decode of a LaserDisc.
3032

wiki-default/Development/JSON-Metadata-format.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
# Overview
1+
# JSON Metadata format
2+
3+
Note: This format has been superceded by SQLite. This documentation page needs updating.
24

35
The ld-decode JSON metadata format consists of a root object containing three main sections: `videoParameters`, `pcmAudioParameters` (optional), and `fields` (array). This format is used to store comprehensive metadata about decoded LaserDisc captures and other analog video sources.
46

wiki-default/Development/ld-decode-Filter-tuning-parameters.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# ld-decode filter tuning
2+
13
These ld-decode parameters can be useful for handling disks with bandwidth issues. The default settings decode with wide bandwidth which works with most disks, but some require different settings...
24

35
--video_bpf_high (in mhz) (defaults: PAL 13.5mhz, NTSC 13.8mhz) - reduce this to 12.2 if you see the herringbone conditions seen in issue 206, and the disk does not suffer from crosstalk.
Lines changed: 9 additions & 248 deletions
Original file line numberDiff line numberDiff line change
@@ -1,266 +1,27 @@
1-
# Supported Operating Systems
2-
3-
ld-decode and the various included tools are designed for (and tested on) Ubuntu 22.04 LTS (20.04 LTS no longer works).
4-
5-
It is possible to compile and run ld-decode in other Linux environments however this is not regularly tested by the projects. But do read the [Linux Compatability Doc](https://docs.google.com/document/d/132ycIMMNvdKvrNZSzbckXVEPQVLTnH_YX0Oh3lqtkkQ/edit).
6-
7-
For first-time users using a self contained combined build will be the most simple, just like installing or deploying any other piece of portable software this maintained from the [vhs-decode repository](https://github.com/oyvindln/vhs-decode/releases) which also contains hifi-decode and a cross code developed composite decoder cvbs-decode.
8-
9-
### Self Contained Builds
1+
# Installation of ld-decode (from source code)
102

3+
# Supported Operating Systems
114

12-
- [Linux Builds](https://github.com/oyvindln/vhs-decode/wiki/Linux-Build)
5+
ld-decode and the various included tools are developed and tested on Ubuntu 22.04 LTS. The tool-chain is a combination of python3 and Qt6/C++ applications providing the possibility of cross-platform deployment to many Linux flavours as well as non-OSS environments such as Windows and Apple MacOS.
136

14-
- [Windows Builds](https://github.com/oyvindln/vhs-decode/wiki/Windows-Build)
7+
It is possible to compile and run ld-decode in other Linux environments; however this is not regularly tested by the project. There is a community maintained [Linux Compatibility Document](https://docs.google.com/document/d/132ycIMMNvdKvrNZSzbckXVEPQVLTnH_YX0Oh3lqtkkQ/edit) available.
158

16-
- [MacOS Builds](https://github.com/oyvindln/vhs-decode/wiki/MacOS-Build)
9+
For first-time users using a pre-built binary build will be the most straight-forward way to get going. Please see the section on pre-built binaries below.
1710

1811
# System requirements
1912

20-
2113
ld-decode performs complex mathematics on huge datasets and therefore requires a fairly high-end PC for any expedient use, with AVX2 support notably helpful.
2214

2315
A Haswell (or newer) i9/i7 or Ryzen with 16-64Gb of RAM and 2TB of soild state & 8TB of hard-drive storage is recommended, however the minimum requirements are a Sandy Bridge i5 with 8Gb RAM and 512Gb of hard-drive.
2416

25-
Blu-Ray BDXL Optical discs 100-128GB (M-Disc/DataLifePlus) and LTO5 tapes can be recommended as relatively affordable long term archival storage formats.
26-
2717
Decoding in simple terms is single core bias, so faster higher speed integrated CPUs like those found in the Apple M1 Max, and AMDs x3D line and newer are today's fastest chips, the decoders today wont be more efficient past 6 threads. (excluding the chroma-decoder and hifi-decode)
2818

2919

30-
# Dedicated Install
31-
32-
33-
For dedicated stations it is *highly* recommended that you install the recommended environment; if a bare-metal installation is not available, you can use tools such as virtualbox or VMware to install ld-decode in a virtual machine or container.
34-
35-
36-
There is also the project combined builds found in the
37-
38-
39-
# Pre-installation
40-
41-
42-
Before attempting to directly install and deploy ld-decode ensure you have a sane (preferably fresh) Ubuntu installation that is up to date.
43-
44-
Use the following commands to ensure you have the latest software packages:
45-
46-
sudo apt update; sudo apt upgrade
47-
48-
`SoX` can also be quite useful to install for use with scripts and secondary tools.
49-
50-
sudo apt install sox
51-
52-
[Windows SoX Install](https://sourceforge.net/projects/sox/files/sox/14.4.2/)
53-
54-
Install [tbc-video-export](https://github.com/JuniorIsAJitterbug/tbc-video-export) for a quicker export experience.
55-
56-
pipx install tbc-video-export
57-
58-
To update uninstall and re-install, there is also self-contained binaries for this tool.
59-
60-
61-
# Installation
62-
63-
64-
## Ubuntu 22.04 LTS
65-
66-
67-
To install ld-decode's associated tools enter the following commands into a command terminal in the order shown (you will need root access to the machine via the sudo command to perform the installation):
68-
69-
(note: previously this apt line included Python packages, but using system Python installs is now deprecated.)
70-
71-
sudo apt install git qt5-qmake qtbase5-dev libqwt-qt5-dev libqt5svg5-dev libfftw3-dev python3-tk libavformat-dev libavcodec-dev libavutil-dev ffmpeg openssl pv pkg-config cmake make
72-
73-
Download the soruce repository
74-
75-
git clone https://github.com/happycube/ld-decode ld-decode
76-
77-
-----
78-
79-
git submodule update --init
80-
81-
Configure cmake for building
82-
83-
cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo .`
84-
85-
-----
86-
87-
make
88-
89-
-----
90-
91-
sudo make install
92-
93-
94-
The `make` stage will take the most time. You can speed this up considerably by giving a `-j` argument to parallelise the build (e.g. `make -j8` to use 8 CPU cores).
95-
96-
97-
## Ubuntu 25.04
98-
99-
100-
First install dependencies
101-
102-
sudo apt install git qt5-qmake qtbase5-dev libqwt-qt5-dev libqt5svg5-dev libfftw3-dev python3-tk libavformat-dev libavcodec-dev libavutil-dev ffmpeg openssl pv pkg-config cmake make python3-setuptools
103-
104-
Go to the directory you wish to install ld-decode into normally username/home
105-
106-
git clone https://github.com/happycube/ld-decode ld-decode
107-
108-
-----
109-
110-
git submodule update --init
111-
112-
-----
113-
114-
cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo .`
115-
116-
-----
117-
118-
make
119-
120-
-----
121-
122-
sudo make install
123-
124-
125-
## Python virtualenv installation
126-
127-
128-
To run ld-decode itself, you need to create a virtualenv (or similar) to run Python and ld-decode's dependancies.
129-
130-
Once you have a Python you want to use, run:
131-
132-
133-
python -mvenv $VIRTUALENV_DIR # ./ if a local copy`
134-
135-
-----
136-
137-
source $VIRTUALENV_DIR/bin/activate # or windows equivalent`
138-
139-
-----
140-
141-
install numpy numba scipy
142-
143-
Then go to your ld-decode directory, use source when needed, then run ld-decode normally.
144-
145-
## Fedora 43 installation
146-
147-
### Install required DNF packages
148-
```
149-
sudo dnf install -y \
150-
qt5-qtbase-devel \
151-
qt5-qtsvg-devel \
152-
qwt-qt5-devel \
153-
fftw-devel \
154-
python3-tkinter \
155-
ffmpeg \
156-
ffmpeg-free-devel \
157-
libavformat-free-devel \
158-
libavcodec-free-devel \
159-
libavutil-free-devel \
160-
openssl-devel \
161-
pv \
162-
pkgconf-pkg-config \
163-
cmake \
164-
make \
165-
python3-setuptools
166-
```
167-
168-
### Install required Python version (3.12)
169-
```
170-
sudo dnf install python3.12 python3.12-devel python3.12-libs
171-
```
172-
173-
### Set up a Python virtual environment
174-
175-
#### Set VDIR to your target directory
176-
```
177-
export VDIR=~/venvs/ld-decode-venv
178-
```
179-
180-
#### Create a Python 3.12 venv
181-
```
182-
python3.12 -m venv "$VDIR"
183-
source "$VDIR/bin/activate"
184-
python -m pip install -U pip setuptools wheel
185-
```
186-
187-
#### Clone ld-decode and install ld-decode into the venv
188-
```
189-
cd $VDIR
190-
git clone https://github.com/happycube/ld-decode.git
191-
cd ld-decode
192-
git submodule update --init
193-
pip install -e .
194-
pip install numba numpy scipy
195-
````
196-
197-
### Build ld-decode
198-
```
199-
cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo .
200-
make -j8
201-
sudo make install
202-
```
203-
204-
### Notes
205-
To leave the venv type the following command:
206-
```
207-
deactivate
208-
```
209-
210-
You will need to join the virtual environment before running any python-based ld-decode applications:
211-
```
212-
export VDIR=~/venvs/ld-decode-venv
213-
source "$VDIR/bin/activate"
214-
```
215-
216-
217-
# Post-installation
218-
219-
220-
For basic use instructions please see the [basic usage](../How-to-guides/Basic-usage-of-ld-decode.md) instructions on this wiki. For more advanced topics please browse the wiki contents using the navigation pane on the right of this page.
221-
222-
223-
# Upgrading the existing installation
224-
225-
226-
In order to upgrade your source tree to the latest code from the 'master' branch, issue the following commands:
227-
228-
Go into install
229-
230-
cd ~/ld-decode
231-
232-
Pull current changes
233-
234-
git pull
235-
236-
You can then compile and install using the same commands as above:
237-
238-
cmake .
239-
240-
-----
241-
242-
make
243-
244-
-----
245-
246-
sudo make install
247-
248-
There is usually no need to explicitly delete any existing files when upgrading - `make` will work out what needs to be rebuilt automatically. If you find that ld-decode does fail to compile after an upgrade, though, you should first try the command:
249-
250-
make clean
251-
252-
to remove the compiled files, then repeat the compilation commands above.
253-
254-
255-
# Development branches
256-
257-
258-
The installation above will install the 'master' github branch. This reflects the latest version of the code that's being actively worked on with new features and bug fixes. While the development version of ld-decode usually works well for most purposes, you should be aware that it may contain new bugs as well - if you find problems with it, please let us know!
20+
# Compiling from source
25921

260-
If you'd like a version of ld-decode that should definitely work - and especially if you're packaging ld-decode for a distribution - then you should use one of the numbered releases instead. We provide a new major release (with new features) about once a year, with occasional minor releases (with just bug fixes).
22+
For the most up-to-date instructions please see the build instructions found in [The main project repository](https://github.com/happycube/ld-decode)
26123

262-
New features are often developed on separate development branches. If you wish to use a development branch (and you know what it is for and how to handle active software development), you can clone it with a command such as the following:
26324

264-
git clone --single-branch --branch great-fix-dev https://github.com/happycube/ld-decode
25+
# Pre-built binaries
26526

266-
This example command will clone the great-fix-dev branch onto your local machine.
27+
If you are looking for pre-built binaries please see the page on [Windows Builds](Windows-Build.md) or [MacOS Builds](MacOS-Build.md)

wiki-default/Tools/ld-process-efm.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
## ld-process-efm
22

3+
Note: This tool is depreciated - use the [efm-decoder](efm-decoder.md) tools instead
4+
35

46
| Format | Info | Sample Rate | Bit-Depth | Extention |
57
|--------------|----------------|-------------|--------------|-----------|

wiki-default/ld-decode-and-ld-cut-arguments.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
# ld-decode and ld-cut arguments
12

23
```
34
usage: ld-decode [-h] [-s start] [--start_fileloc start_fileloc] [-S seek]

0 commit comments

Comments
 (0)