Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion. Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules. |
22nd August 2019, 12:23 | #881 | Link | |
Registered User
Join Date: Mar 2015
Posts: 775
|
Quote:
__________________
VirtualDub2 |
|
22nd August 2019, 12:27 | #882 | Link |
Registered User
Join Date: Mar 2015
Posts: 775
|
albino
I made illustration about profiler: https://sourceforge.net/p/vdfiltermod/wiki/performance/ I also noticed and fixed performance issue with conversion to RGB (shown in the wiki page) but not sure if this is what you did. Hope it helps to find something specific.
__________________
VirtualDub2 |
23rd August 2019, 10:09 | #884 | Link |
Registered User
Join Date: Oct 2002
Location: France
Posts: 2,316
|
So, new SDK ? (Even if i'm not using this for now).
BTW, what is the status of a potential interlaced flag in the FilterModPixmapInfo ?
__________________
My github. Last edited by jpsdr; 23rd August 2019 at 10:12. |
24th August 2019, 08:46 | #885 | Link | |
Registered User
Join Date: Mar 2015
Posts: 775
|
Quote:
kPixFormat_RGB_Planar kPixFormat_RGB_Planar16 kPixFormat_RGB_Planar32F kPixFormat_RGBA_Planar kPixFormat_RGBA_Planar16 kPixFormat_RGBA_Planar32F About adding flags: I'm sorry to tell, nothing changed yet
__________________
VirtualDub2 |
|
25th August 2019, 09:49 | #886 | Link | |
Registered User
Join Date: Oct 2002
Location: France
Posts: 2,316
|
Quote:
After, it's up to me in my plugins to eventualy add support. For RGB planar, as it's something new in virtualdub2, is it the following ? Code:
pxsrc=(VDXPixmapLayoutAlpha&)*fa->src.mpPixmapLayout; pxsrc.pitch = pitch R pxsrc.pitch2 = pitch G pxsrc.pitch3 = pitch B ////////// pxsrc=(const VDXPixmapAlpha&)*fa->src.mpPixmap; pxsrc.data = R data pointer pxsrc.data2 = G data pointer pxsrc.data3 = B data pointer Anyway, thanks again for your work on VDub2 evolving. EDIT Forgot to ask about : Code:
FilterModPixmapInfo* info = fma->fmpixmap->GetPixmapInfo((fa->dst).mpPixmap); info->ref_r; // and g,b,a Does it matter ?
__________________
My github. Last edited by jpsdr; 25th August 2019 at 11:17. |
|
25th August 2019, 22:47 | #887 | Link | ||
Registered User
Join Date: Mar 2015
Posts: 775
|
Quote:
Quote:
__________________
VirtualDub2 |
||
25th August 2019, 23:50 | #888 | Link | |
...?
Join Date: Nov 2005
Location: Florida
Posts: 1,420
|
Quote:
|
|
14th September 2019, 21:51 | #889 | Link |
Suspended for forum rule violations
Join Date: Mar 2018
Location: Germany
Posts: 216
|
Remove every n-th frame
Recently I discovered that some movies contain duplicate frames every n-th frame.
(This must have happened by changing the frame rate somehow.) Now I wanted to remove that frames, but found no practical way. There is no filter for that (maybe the filter interface doesn't allow to delete frames?), and changing the frame rate by menu (video / frame rate...) does allow to remove every n-th frame (by frame rate conversion to a specific fps) but you cannot specify the "start frame" to remove. So it happens that frames that contain information are removed, while the duplicate frames are left in the stream. That is worse than before. The only "solution" I found is to write all frames as image sequence, then delete every n-th image, and re-read the remaining images. Quite unpractical. So my question: Is there any solution how to do that task? |
14th September 2019, 23:29 | #890 | Link |
Registered User
Join Date: Mar 2015
Posts: 775
|
nji
I think there is RemoveFrames filter which can do the job. https://github.com/jpsdr/Filtres_JPSDR Yes technically removing frames is supported. I'm not sure about the resulting timing, can be tricky to keep sync with audio. Are you sure there is a problem with the movies? It's possible the input driver assumes wrong fps and generates this defect.
__________________
VirtualDub2 |
15th September 2019, 08:59 | #891 | Link |
Registered User
Join Date: Jul 2019
Posts: 9
|
If the video is 29.97 and every 5th frame is duplicated, like ABCDD, then you can just use the built-in IVTC filter and set it to Reduce, Auto, Auto to remove the dupe frames and return it to its natural 23.976 state very easily. You might have to set the audio to Full Processing Mode to keep sync, but I'm not sure since I always have the audio set to Full Processing.
Last edited by albino; 15th September 2019 at 09:03. |
15th September 2019, 09:29 | #892 | Link |
Registered User
Join Date: Oct 2002
Location: France
Posts: 2,316
|
nji
You can indeed try my Remove Frames filter. If will remove Frames removed frames at the Offset position each Frames period frames. Assuming your Offset doesn't change on the fly. The first frame is with Offset = 0. So, for exemple with : Frames removed = 1 Offset = 3 Frames period = 5 With the following input : [0][1][2][3][4] [5][6][7][8][9] [10][11][12][13][14] Will produce the following ouput : [0][1][2][4] [5][6][7][9] [10][11][12][14] Frames removed = 2 Offset = 2 Frames period = 6 With the following input : [0][1][2][3][4][5] [6][7][8][9][10][11] [12][13][14][15][16][17] Will produce the following ouput : [0][1][4][5] [6][7][10][11] [12][13][16][17]
__________________
My github. |
15th September 2019, 10:51 | #893 | Link |
Suspended for forum rule violations
Join Date: Mar 2018
Location: Germany
Posts: 216
|
Thank you very much all three of you once again!
The cause of the "duplicated" frames probably is not the input driver, as I get the effect not only in VD2, but also in the player, and in different movies to different amount. If I export it as image sequence, the "double frames" are not identical. (The "content" of the two images is, but there are small differences in the written png image blocks that show only in arithmetic difference) (?) Moreover the occurrence of doubling is not always regulary, but sometimes a kind of pattern. For example: Every second frame for about 10 frames, and then one "no doubling" and then doubling every second again, then a triple of duplicates, then again every second frame, ... (?) IVTC Thank you for the hint. I never considered that so far. That filter works well for the scenario you described (29,97 fps and every 5th), and for another movie (30 fps and every 6th) it is an approvement (although from time to time there are some new, "combed" frames). But on the movie mentioned above (29 fps and every 2nd) it fails: the lenght stays the same, but the fps is reduced only to 23,2 fps, and there are still duplicated frames (less and more irregulary). I installed jpsdr's filters now. Try, also your other two IVTC filters. When watching the original movies, the speed seems naturally (even for that example above, when every second frame is doubled). So my overall guess for the cause is some kind of frame rate conversion. Still in my case of analyzing the movie frame by frame I have to consider the doubling. (Actually in all filters about time (For example: Determing the moving parameters when DeShaking(3D) ...). But if the pattern is not regulary (as above) then how to distinguish a doubling from a real non-motion? (Not for the first time I hope the devs of all that movie formats and conversions roast in hell ;-) |
15th September 2019, 15:35 | #894 | Link | ||
Registered User
Join Date: Sep 2007
Posts: 5,377
|
Quote:
The other time this commonly happens is frame drops. Such as low quality recording devices, such as some phones Are these theatrical movies, or "video" shot from users ? Quote:
|
||
15th September 2019, 16:37 | #895 | Link | ||
Suspended for forum rule violations
Join Date: Mar 2018
Location: Germany
Posts: 216
|
Quote:
I don't have enough knowledge of codec/ motion vectors to understand how a (visual) duplicate frame has (not visual) small differences as image. Quote:
I don't know what "frame drops" actually mean. But there is no frame missing. If you remove the duplicate frame, the motions are fluently. Up till know I was successful in not opening another new tin (avisynth). ;-) |
||
15th September 2019, 17:11 | #896 | Link | ||
Registered User
Join Date: Sep 2007
Posts: 5,377
|
Quote:
Quote:
|
||
15th September 2019, 20:15 | #897 | Link | |
Registered User
Join Date: Jul 2019
Posts: 9
|
Quote:
If anyone knows of a Virtualdub method for fixing VFR and maintaining audio sync then I would be interested in it as well. |
|
15th September 2019, 21:28 | #898 | Link | |
Registered User
Join Date: Mar 2015
Posts: 775
|
Quote:
__________________
VirtualDub2 |
|
15th September 2019, 21:29 | #899 | Link |
Suspended for forum rule violations
Join Date: Mar 2018
Location: Germany
Posts: 216
|
No, the movies aren't taken by me, not by phone (but with some kind of consumer camera), not with variable frame rate, and not interlaced.
However - they are movies. ;-) Last edited by nji; 15th September 2019 at 21:33. |
15th September 2019, 21:46 | #900 | Link |
Suspended for forum rule violations
Join Date: Mar 2018
Location: Germany
Posts: 216
|
@jpsdr:
I analysed some more of the movies in question. Sadly, the pattern of the duplicate frames sometimes is not regular. A typical example is: Dupe every 6th frame. For some dozens frame. Then the dupe arises as 5th frame. Then the period of 6 again. This game several times in the movie. ==> can't use your fine Remove Frames filter. If anything else fails ... try ffmpeg. And indeed: https://stackoverflow.com/questions/...plicate-frames And it works! But if the criterion to remove is content based: How to distinguish dupes from non-motion? My genius idea for that: Having a close look at the audio stream (if present). But: the audio is quite unimpressed at times with dupes. The only possible solution seems for me a filter (like Remove Frames), that combines both - contents comparison and frame number pattern, like: "Remove duplicate frames that appear in most times (= "fuzzy logic") regulary." This should do the job. Last edited by nji; 15th September 2019 at 22:09. Reason: Added last paragraph |
|
|