Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Simple PAL UV filter and PAL encoder enhancements #476

Merged
merged 10 commits into from
Mar 23, 2020

Conversation

atsampson
Copy link
Collaborator

More work on the Transform PAL decoder:

Add ld-chroma-decoder --simple-pal, which in Transform PAL mode uses a 1D UV filter that's equivalent to that in the original hardware decoder (better vertical resolution, but less resistant to phase errors).

Make ld-chroma-encoder able to produce subcarrier-locked 4fSC output, including all the parts of the PAL signal that I didn't previously implement - syncs, burst suppression, halfline blanking. Also fix a couple of mistakes that made the output nonstandard. I've made this match EBU Tech 3280 as far as possible - each line in the TBC contains the Tech 3280 blanking samples followed by active samples.

The TBC library still needs some work to make the other tools understand 4fSC properly (see #242), but I have more of an idea of how to do this now...

The second assert trips with EBU Tech 3280-style sample layout, where
the digital active area runs right up to the end of the line. It's not
actually a problem to run off the end of the line, because we'll just be
using the blanking data from the start of the next line (and there's
always another line after the last active line).
This gives better vertical resolution, at the cost of not dealing with
chroma phase errors. Thanks to Richard Russell for providing the specs
for the filter from the BBC's original Transform PAL implementation.

This only works with transform2d/3d at the moment, but in the future
it'd be possible to add a luma notch filter, giving a pal1d mode.
The core of this is effectively the same, once the setup is done; it
just needs to keep track of where 0H is for each line.
The count of lines in field 1 was wrong here, which meant that the Vsw
state didn't flip between the last line of field 1 and the first of
field 2.
Add a reference to Clarke for the intended characteristic.
@atsampson atsampson added enhancement ld-decode-tools An issue only affecting the ld-decode-tools labels Mar 23, 2020
@simoninns simoninns merged commit 41a4177 into happycube:master Mar 23, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement ld-decode-tools An issue only affecting the ld-decode-tools
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants