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

[Feature] Interlacing #66

Open
wants to merge 37 commits into
base: master
Choose a base branch
from
Open

Conversation

rgm89git
Copy link
Contributor

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
Copy link
Contributor

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

@rgm89git
Copy link
Contributor Author

I FINALLY FINISHED THE BASIC CORE OF INTERLACING

@JargeZ
Copy link
Owner

JargeZ commented Jan 2, 2023

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

  • Affine transformations are very heavy in performance and I don’t understand why it is necessary, interlacing does not imply transformations other than frame N+1
  • Also in your implementation, you removed the cached video reading, this also really affects performance a lot

# Conflicts:
#	app/InterlacedRenderer.py
#	app/NtscApp.py
@rgm89git
Copy link
Contributor Author

rgm89git commented Jan 7, 2023

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

@rgm89git
Copy link
Contributor Author

rgm89git commented Jan 7, 2023

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)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants