JargeZ / ntscqt

AKA Line Maker 10.0 | GUI for VHS video simulator
Apache License 2.0
759 stars 36 forks source link

[Feature] Interlacing #66

Open rgm89git opened 1 year ago

rgm89git commented 1 year ago

The changes on the ntscQT system to use interlacing.

(Still not working, need to fix)

Uncaught exception: OpenCV(4.6.0) :-1: error: (-5:Bad argument) in function 'resize'
> Overload resolution failed:
>  - src is not a numerical tuple
>  - Expected Ptr<cv::UMat> for argument 'src'
SergeyMC9730 commented 1 year ago

i think i know why JargeZ does not show any activity. The probable reason is very sad

rgm89git commented 1 year ago

I FINALLY FINISHED THE BASIC CORE OF INTERLACING

JargeZ commented 1 year ago

Hi @rgm89git I was finally find time to see the result The effect looks good

I only have some implementation tips. To sum up, abstractions do not pass along the boundaries in the code that were intended.

First, this function must be switchable on/off not everyone needs to change the default behavior to interlacing, and not everyone needs it

For example, about abstraction: In the application itself, at a high level in NtscApp, there should be no knowledge about interlacing and division by two

I refactored to simplify the implementation and more correctly fit the new behavior.

Now your task is to add only the necessary logic and override the apply_main_effect method in the InterlacedRenderer render class

You also need to implement the next frame cache.

... Okay, while I implemented the abstract functionality. I realized that interlacing can is implemented in a small number of lines I updated your feature branch Reveal at the simplified implementation and you can make improvements if you have ideas

FYI

rgm89git commented 1 year ago

Don't worry, i will add some fixes i did with the passing of days.

rgm89git commented 1 year ago

Also, about the FYI, THIS (below) is the reason i used an affine transformation. Maybe exists an better way to fix that, i don't know. python_uSnuErgVEB (First line of field 2 is not processed by composite layer)