- AC3 support! (special thanks to Staffan Ulfberg for figuring out the decoding and error correction, and Ian and Leighton Smallshire for the code here)
- Improved ld-analyze UI with more functionality, including a vectorscope
- cmake is now used, allowing builds on many more distributions
- Improvements to disk stacking
- Further improved EFM decoding with better filters and higher accuracy
- ld-process-efm is now a command line tool
- DTS decoding support
- Option for line-locked NTSC analog audio output
- Improved analog(ue) audio decoding quality (but CX still needs work)
- Lots (and lots and lots) of bug fixes
What's Changed
- Add regression tests using GitHub CI by @atsampson in #382
- Update the .gitignore files. by @atsampson in #384
- Make ld-decode into a Python package by @atsampson in #385
- Make the top-level Makefile build/install all of ld-decode by @atsampson in #387
- Fix piped TBC input with 3D chroma decoders by @atsampson in #390
- Rev7 by @happycube in #391
- Added enhanced Multidisc dropout correction feature to ld-dropout-correct by @simoninns in #393
- Fix ld-decode deadlock on exit. by @atsampson in #394
- NTSC WibbleRemover by @happycube in #395
- Add unit tests for VbiDecoder by @atsampson in #396
- Multidisc issues dev by @simoninns in #397
- More multidisc dev by @simoninns in #398
- Three VBI fixes for ld-decode by @atsampson in #400
- Add ld-export-metadata by @atsampson in #399
- workaround code for #389 when there isn't enough data by @happycube in #402
- Miscellaneous tidying in ld-decode-vbi by @atsampson in #403
- Fix index types in testfilter by @atsampson in #408
- Tweaks for Mac compilation. by @Gamnn in #409
- Added Capture Quality Index graph by @simoninns in #411
- Fix issue 414 by looking at each field for leadout by @happycube in #415
- Remove some now-unused member variables by @atsampson in #417
- Icons for tools by @Gamnn in #413
- fix scope on mac by @Gamnn in #419
- Use QVector rather than QByteArray for TBC fields and RGB output by @atsampson in #418
- fix for Issue #405 by @happycube in #420
- Remove unused MacOS definition of M_PIl by @atsampson in #421
- fix for #422 by @Gamnn in #423
- Use an odd number of taps for PAL/NTSC LPFs by @atsampson in #424
- Issue104 2 by @simoninns in #425
- Fix for issue #410 - all logging now provided by TBC library by @simoninns in #426
- Fix for issue #427 by @simoninns in #430
- #431 - remove MTF options and try to document it a little by @happycube in #436
- Fix for #428 and some library logging improvements by @simoninns in #437
- Fix for issue #429 by @simoninns in #438
- Fix for issue #433 by @simoninns in #439
- Fix for issue #380 and issue #416 - both in ld-analyse by @simoninns in #440
- Speed up ld-analyse VBI processing and other tbcsource methods by @simoninns in #441
- Issue 442 - A better ld-diffdod by @simoninns in #443
- Added first and last fieldNumber to the videoParameters metadata by @simoninns in #444
- Use VideoParameters::first/lastActiveFrameLine directly in more places by @atsampson in #446
- Issue 445 by @simoninns in #447
- Added git commit and branch to all --version and --debug output of ld… by @simoninns in #448
- Issue 240 - Added git information to about dialogues in ld-analyse an… by @simoninns in #449
- ld-cut: add .ldf output support by @happycube in #450
- Diffdod dev by @simoninns in #455
- Define the hsync tolerance in RFDecode class by @oyvindln in #457
- Fix for issue #454 by @simoninns in #458
- Make all operator member functions const by @atsampson in #461
- Fix for issue #463 by @simoninns in #465
- crack at #462 by @Gamnn in #464
- issue #471: disable one of the demod checks by @happycube in #472
- Initial support for subcarrier-locked sampling. by @atsampson in #470
- getVideoField: when seeking forward isn't possible, try reading and discarding by @atsampson in #473
- Simple PAL UV filter and PAL encoder enhancements by @atsampson in #476
- Simplify the video deemphasis filter generation by @atsampson in #479
- Add "Use Simple PAL decoder" checkbox in ld-analyse by @atsampson in #480
- sync/black level AGC by @happycube in #482
- Remove burst-based chroma gain calculation by @atsampson in #481
- Fix some miscellaneous warnings by @atsampson in #485
- Fix for issue #484 by @simoninns in #486
- NTSC: Change field1/4 computation on off-color-phase disks (checked a… by @happycube in #487
- setup.py: add matplotlib dep by @mistydemeo in #488
- add wow correction to agc by @happycube in #494
- Issue #495: begin seek well into the file by default by @happycube in #496
- Add options for NTSC noise reduction levels by @atsampson in #491
- I495 by @happycube in #498
- add deemp adjustment by @happycube in #501
- Adjust PAL filtering by @happycube in #502
- Issue #503 - use median instad of mean for line level comp by @happycube in #504
- Chad 062120 by @happycube in #506
- AGC: filter out lines with crazy sync failure by @happycube in #507
- Various AGC/TBC tweaks by @happycube in #508
- Use the 3D rather than 2D result in ntsc3d by @atsampson in #511
- Fix initial offset logic in findPotentialReplacementLines by @atsampson in #515
- Add some explanation to the NTSC chroma filter code by @atsampson in #512
- Various cleanups and skipping/tbc fixes on dodgy disks. by @happycube in #517
- Enable 3D decoders in ld-analyse by @atsampson in #516
- Fix repeat-on-skipping issue seen on one cap by @happycube in #518
- remove another rogue print, add .rf format for 32-bit floating pt by @happycube in #519
- add direct path for float32 by @happycube in #520
- Fix for issue #477 by @simoninns in #521
- New adaptive mode for ntsc3d decoder by @atsampson in #522
- In downscale_audio, mute audio with no samples by @atsampson in #533
- Implemented cosine similarity correction for EFM symbols in ld-proces… by @simoninns in #536
- Issues 525 and 524 implemented by @simoninns in #537
- Bug fix to 4:3 PNG save in ld-analyse by @simoninns in #538
- Refactored dropout handling into its own class by @simoninns in #542
- Fix for issue #541 by @simoninns in #543
- Issue 435 by @simoninns in #545
- Issue 546 by @simoninns in #548
- Issue459 by @happycube in #550
- Issue palphase by @simoninns in #551
- Changed SNR graph in ld-analyse to fixed Y-axis of 28 to 48 dB by @simoninns in #553
- Issue 326 by @simoninns in #556
- Fix PAL 8-field detection, other cleanups by @happycube in #558
- Fix issues #560 and #561 by @happycube in #562
- Various bug fixes from a working branch by @happycube in #563
- Some analog audio improvements (not finished) by @happycube in #564
- Fix Issue #565: re-add 90degree burst phase adjustments for NTSC by @happycube in #566
- Merge optimization work from #575 by @happycube in #576
- Fix for issue #557 by @simoninns in #579
- Fix for issue #534 by @simoninns in #580
- Phase 1 of logging by @happycube in #582
- oops. fix relative pathing by @happycube in #583
- Chad 12.20.20 by @happycube in #585
- Add RF TBC .ldf output by @happycube in #586
- Simon 12272020 by @simoninns in #587
- Simon 20201228 by @simoninns in #589
- Additional fixes to ld-disc-stacker by @simoninns in #590
- Moved sourceAudio functions from the discmapper into the tool library by @simoninns in #592
- Simon 20210103 by @simoninns in #593
- Added SNR trend lines to white and black graphs by @simoninns in #594
- Add ntsc3dnoadapt decoder to ld-chroma-decoder by @TokugawaHeavyIndustries in #599
- Pal analogue nonotch by @happycube in #605
- Merging chad-2021.01.01 branch by @happycube in #607
- Chad 2021.01.13 by @happycube in #609
- Chad 2021.01.16 by @happycube in #611
- tools: add YNR to PAL by @happycube in #616
- Add BT.601 YCbCr output by @ifb in #618
- Fix range constraint on --chroma-gain by @Gamnn in #620
- Add yuv4mpeg (Y4M) output by @ifb in #619
- New audio code by @happycube in #628
- Clear Comb::FrameBuffer::clpbuffer before each frame by @atsampson in #630
- Fix off-by-one error when selecting replacement lines by @atsampson in #631
- Build cleanly with Qt 5.15 (and other minor fixes) by @atsampson in #629
- Disable ld-analyse's NTSC 1D filter radio button properly by @atsampson in #637
- Avoid returning a negative value from Field.get_linelen by @atsampson in #638
- Update ld-ldf-reader for ffmpeg 4.5 by @atsampson in #639
- Split decoding from output conversion by @atsampson in #635
- Remove the "75% white point" option by @atsampson in #643
- Support for building with Qt 6 by @atsampson in #641
- Show the current chroma decoder's output on the ld-analyse scope by @atsampson in #640
- Chad 2021.05.30 by @happycube in #644
- Fix deemp_low and deemp_high CLI parameters by @Mikewando in #645
- Fix regression for ld-cut by @Mikewando in #648
- fix #648 and #650 by @happycube in #652
- Make some MacOS-specific process changes by @droark in #653
- Chad 2021.07.18 by @happycube in #655
- upstream stuff: by @oyvindln in #656
- Various minor fixes by @oyvindln in #657
- Upstream2 by @oyvindln in #658
- Make ld-decode run on windows native by @oyvindln in #659
- Fixes for tools to build on windows (MSVC) by @oyvindln in #660
- Improved EFM filter parameters by @happycube in #661
- Pal rftbcfix by @happycube in #662
- Fix building on macOS by @oyvindln in #663
- Fix PAL burst phase detection when out of phase by @happycube in #664
- Fix ld-ldf-reader build with current ffmpeg by @atsampson in #665
- Use package-relative imports by @atsampson in #666
- Use setuptools rather than distutils by @atsampson in #667
- Revert "Use setuptools rather than distutils." by @atsampson in #672
- Fixes for issue 673 by @simoninns in #674
- Metadata fixes due to additional JSON fields by @simoninns in #681
- Initial implementation of issue #633 by @simoninns in #682
- Sdi captions 633 by @simoninns in #683
- A fix to closed caption support to sooth Gamn's soul by @simoninns in #686
- Implemented issues #606 and #685 by @simoninns in #688
- Bug fix to visible DO dialogue to make the frame marker move. by @simoninns in #689
- Chad 2021.12.26 rev7work by @happycube in #690
- Add ld-cut support to the github test suite by @happycube in #691
- Avoid get_git_info failing if commands fail and add two checks to avoid mean of empty slice warning by @oyvindln in #693
- add prototype auto lds->ldf script by @happycube in #694
- Update ld-discmap to 108K max frames by @TokugawaHeavyIndustries in #696
- Chad 2022.01.29 by @happycube in #698
- #649/#654: filter out dropout detection outside of actual field by @happycube in #699
- fix #388: only skip one field after something's been decoded already by @happycube in #701
- relax dropout detection on NTSC vsyncs by @happycube in #702
- ld-chroma-decoder: First/last field/frame line + padding options by @MooglyGuy in #706
- Fixed issue #707 by @MooglyGuy in #708
- Merge in new audio code, fix ld-dropout-correct regression. by @happycube in #711
- Fixed field length bug that caused issue #705 by @simoninns in #712
- Remove ellipsis from "Reload TBC" option by @marnanel in #714
- Update ld-decode by @tandersn in #715
- Add GPU acceleration to ld-compress by @TokugawaHeavyIndustries in #719
- ld-compress tweaks by @Gamnn in #720
- Replace JsonWax with an event-based parser by @atsampson in #721
- Clear LdDecodeMetaData contents before reading a file by @atsampson in #723
- Handle open failures in ld-analyse more gracefully by @atsampson in #725
- Add commandline options for padding, and data output. by @marnanel in #717
- Use double values for sampleRates and fSC by @atsampson in #727
- Support multiple video systems, and add PAL-M support by @atsampson in #728
- Fix a comparison in ld-process-efm that doesn't work with Qt 6 by @atsampson in #729
- Test suite improvements by @atsampson in #730
- Refactor ld-process-efm into a CLI only application with all GUI options still available by @simoninns in #732
- Fixed CI for ld-process-efm by @simoninns in #733
- Add test-chroma testcase by @atsampson in #735
- Changed ld-discmapper from qreal to double for better compatibility. … by @simoninns in #736
- Chad 2022.04.17 by @happycube in #737
- Chad 2022.05.29 by @happycube in #738
- add analog audio frequency setting - and support neg values for line-… by @happycube in #740
- Fix some compiler warnings by @atsampson in #734
- Fix discmap.cpp warning and don't use pyfftw on windows by @oyvindln in #743
- Simon 20220606 1 by @simoninns in #746
- Simon 20220606 2 by @simoninns in #747
- When opening a new file, load a frame before updating dialogs by @atsampson in #748
- Simon 20220607 1 by @simoninns in #749
- Add an NTSC encoder by @ifb in #752
- Add LineNumber and rework how line numbers are shown in the scope by @atsampson in #753
- Add NTSC-J support to ld-chroma-encoder by @ifb in #754
- Add a vectorscope display to ld-analyse by @atsampson in #755
- chroma-encoder: Fix phase error in wideband-yuv mode by @ifb in #756
- Add Video Parameters dialogue to ld-analyse by @atsampson in #757
- NTSC chroma-encoder filter changes by @ifb in #760
- Windows and C++17 fixes by @atsampson in #762
- adding a .s8 extention to utils.py for signed 8 bit. by @tandersn in #763
- Numba-optimize findpulses and add inputfreq argument to LDDecode by @oyvindln in #768
- adding DdD .raw file support, remove redundent u16 entry by @tandersn in #765
- Simplify the EFM decoder logic by @atsampson in #770
- Avoid << on a negative number in Section::crc16 by @atsampson in #771
- Add DTS support to ld-process-efm by @atsampson in #772
- Update link to ld-compress documentation by @atsampson in #773
- Improve, and always enable, NTSC IQ filters by @atsampson in #774
- Put --ntsc-phase-comp with NTSC options in ld-chroma-decoder help by @atsampson in #775
- Remove the mode option from the Transform decoders by @atsampson in #776
- Allow separate chroma output from ld-chroma-encoder by @atsampson in #777
- Add field offset option to ld-chroma-encoder by @atsampson in #778
- Fix for issue #781 - Edge-case caused out of bounds sequential frame … by @simoninns in #784
- adding source tbc filename to output png suggested filename by @tandersn in #786
- Fix chroma encoding in NTSCEncoder by @atsampson in #789
- Correct RIFF header to 40k and add warning about unpacking with RIFF headers by @TokugawaHeavyIndustries in #791
- First CMake files by @lizardgai4 in #780
- Remove duplicate CI config by @atsampson in #793
- Fix chroma rotation for phase comp decoder and make some json values that are integers actually output as int by @oyvindln in #787
- More gitignore things regarding Qt Creator by @lizardgai4 in #794
- Optimize downscale including using numba by @oyvindln in #795
- Remove unused data from demodblock output, remove likely unneeded rawdata copy by @oyvindln in #796
- Add option to skip looking for qt6 by @oyvindln in #797
- Update ld-compress for FlaLDF by @TokugawaHeavyIndustries in #798
- CMake support for Python installation by @atsampson in #799
- EFM decoder performance improvements by @atsampson in #801
- ats's fixes for ac3 by @happycube in #803
- Speed up AC3 demodulator by @atsampson in #805
- Merge in (early) AC3 support by @happycube in #808
- Don't write invalid JSON when no valid burst is found by @atsampson in #809
- Fix building with cmake on windows by @oyvindln in #806
- Add fftw3 to ld-chroma-decoder include directories. by @JustinTArthur in #812
- Add YCbCr input support to ld-chroma-encoder by @ifb in #813
- Patches for macOS 13 (Ventura) by @droark in #814
- Remove the old QMake build system by @atsampson in #800
- Fix pcmAudioField map contents and access by @Mikewando in #816
- Chad 2022.10.29 by @happycube in #817
- Have a single definition of the SyncPulseType enum by @atsampson in #818
- fix build on windows by @oyvindln in #819
- A couple of bug fixes by @happycube in #820
- Use completeBaseName in SourceAudio::open by @atsampson in #821
New Contributors
- @mistydemeo made their first contribution in #488
- @TokugawaHeavyIndustries made their first contribution in #599
- @ifb made their first contribution in #618
- @Mikewando made their first contribution in #645
- @droark made their first contribution in #653
- @MooglyGuy made their first contribution in #706
- @marnanel made their first contribution in #714
- @tandersn made their first contribution in #715
- @lizardgai4 made their first contribution in #780
- @JustinTArthur made their first contribution in #812
Full Changelog: rev6a...rev7