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.

 

Go Back   Doom9's Forum > Capturing and Editing Video > New and alternative a/v containers

Reply
 
Thread Tools Search this Thread Display Modes
Old 12th October 2011, 22:41   #6141  |  Link
clsid
*****
 
Join Date: Feb 2005
Posts: 5,643
Just keep it simple and add the basic processing to the decoders. Advanced stuff like Avisynth is only used by a tiny minority, and those can continue to use ffdshow for processing. For standard users, yourself included, the basics will be more than sufficient, and it is preferable to have just a single filter doing it magic.
__________________
MPC-HC 2.1.7.2
clsid is offline   Reply With Quote
Old 12th October 2011, 23:28   #6142  |  Link
ajp_anton
Registered User
 
ajp_anton's Avatar
 
Join Date: Aug 2006
Location: Stockholm/Helsinki
Posts: 805
Quote:
Originally Posted by nevcairiel View Post
- "Later" i will create a LAV Video Processor which will add all other post-processing operations. At this point, i might also remove deinterlacing from the video decoder (this is yet to be determined).
Avisynth processing, please? =)
So you can do pretty much anything you like.
ajp_anton is offline   Reply With Quote
Old 13th October 2011, 00:54   #6143  |  Link
SEt
Registered User
 
Join Date: Aug 2007
Posts: 374
Another request for Avisynth processing in video decoder (and no need for anything else). "Some basic filtering" with myriads of options looks very ffdshow-ish and belongs to separate filter.

Downmixing would be great in audio decoder (the only reason I still use ffdshow audio decoder).

I disagree that deinterlacing is renderer's job - it should be done before almost any other filtering, so unless you want to put all filtering into renderer - decoder is good place for it.
SEt is offline   Reply With Quote
Old 13th October 2011, 01:10   #6144  |  Link
andyvt
Registered User
 
Join Date: Jan 2010
Posts: 265
Quote:
Originally Posted by SEt View Post
I disagree that deinterlacing is renderer's job - it should be done before almost any other filtering, so unless you want to put all filtering into renderer - decoder is good place for it.
DI in the decoder would make transcoding easier too.
__________________
babgvant.com
Missing Remote
andyvt is offline   Reply With Quote
Old 13th October 2011, 04:37   #6145  |  Link
kennae
Registered User
 
Join Date: Feb 2011
Posts: 35
+1 for downmixing to stereo, really all I can think of using.
kennae is offline   Reply With Quote
Old 13th October 2011, 04:45   #6146  |  Link
patul
Registered User
 
Join Date: Sep 2005
Posts: 130
Quote:
Originally Posted by nevcairiel View Post
I would love to write a full processing chain "done right" in Media Foundation, but what good is writing all this code if there is nothing to use it.
Maybe it's the time for MF-based LAV Player?
patul is offline   Reply With Quote
Old 13th October 2011, 07:02   #6147  |  Link
nevcairiel
Registered Developer
 
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 10,344
Quote:
Originally Posted by SEt View Post
Another request for Avisynth processing in video decoder (and no need for anything else). "Some basic filtering" with myriads of options looks very ffdshow-ish and belongs to separate filter.
AviSynth is such a complicated thing to support properly that it also belongs in its own filter, tbh.

My "basic filtering" would probably fill half a propertys page, it would be limited to: deinterlace, denoise, deband and sharpen/blur.

My main concern is that AviSynth is very complicated to use, even in simple setups. It requires setup of external support libraries (AviSynth itself and some plugins you want to use), so for anyone just wanting a simple denoiser or sharpener, thats alot to ask. From the code side of things, integrating libavfilter is pretty straight forward, so only the options concern remains.

I might be willing to offer AviSynth support some day, but i don't want it to be the only way to do some very basic every-day processing.

Quote:
Originally Posted by SEt View Post
Downmixing would be great in audio decoder (the only reason I still use ffdshow audio decoder).
Didn't you just recently advocate against doing such things in the decoder?

Where i am standing right now on the whole subject, i will definitely add deinterlacing to the video decoder, and i will most likely add a mixer to the audio decoder. Anything beyond that, i'm not sure yet. Since deinterlacing will already use libavfilter, adding more filters will just be a matter of adding the options, the code is already there ... so why not? It will be limited to 3 or 4 processing operations, and there won't be much choice between different algorithms like ffdshow has.

Quote:
Originally Posted by patul View Post
Maybe it's the time for MF-based LAV Player?
I'll lock myself in a room for a year or two and come out when its ready.
__________________
LAV Filters - open source ffmpeg based media splitter and decoders
nevcairiel is offline   Reply With Quote
Old 13th October 2011, 07:52   #6148  |  Link
boyumeow
Registered User
 
boyumeow's Avatar
 
Join Date: Aug 2007
Posts: 143
@mkanet,

How about turn on UAC (default) in Win7 and clean install of latest LAV Filters to see if it works. Thanks.
boyumeow is offline   Reply With Quote
Old 13th October 2011, 08:20   #6149  |  Link
Motenai Yoda
Registered User
 
Motenai Yoda's Avatar
 
Join Date: Jan 2010
Posts: 709
why with a divx and avisource on avisynth it still pupop-me "Couldn't locate a decompressor for fourcc dx50"?
(I think it doesn't work even changing fourcc to xvid, or divx...)
ps ffvh instead doesn't work at all...

Last edited by Motenai Yoda; 13th October 2011 at 08:22.
Motenai Yoda is offline   Reply With Quote
Old 13th October 2011, 08:27   #6150  |  Link
PeQuE
Registered User
 
Join Date: Feb 2011
Posts: 26
Quote:
Originally Posted by PeQuE View Post
Hi nevcariel,

I've uploaded a video (in fact, recorded mpeg2 TV .ts) that Lav Video is failing at deinterlacing from time to time.

http://dl.dropbox.com/u/15222696/MP_...0La%20Lliga.ts

As a side comment, Win7 MS DVB included codec for MPEG2 is also failing the same way, while Cyberlink (9 & 11) Video/SP Decoder is doing it well.

Hope you can take a look.

Thanks a lot!
Hi...

Did you find a moment to have a look at that, nev?

Thanks again!
PeQuE is offline   Reply With Quote
Old 13th October 2011, 08:29   #6151  |  Link
madshi
Registered Developer
 
Join Date: Sep 2006
Posts: 9,140
Quote:
Originally Posted by SEt View Post
As for color reproduction and resize quality - maybe I just can't setup it correctly, but as I said it looks in madVR as bad as in other renderers
Color reproduction: Most SD content is encoded in BT.601, while most of today's displays are calibrated nearer to BT.709. I can't speak for other renderers, but madVR converts the source gamut to the display gamut (if they differ). If your renderer doesn't do that, the colors will be incorrect, when displaying BT.601 content on a BT.709 display. Of course all color processing in madVR can be configured or alternatively turned off. Also you can check (and change) via shortcuts at runtime what madVR is doing color-wise. If your renderer shows different colors than madVR, then either madVR is setup incorrectly, or your renderer is lacking necessary processing, or there's a bug in madVR. I'd like to encourage you to check the primaries and decoding matrix your test video needs and whether both madVR and your own renderer handle that correctly. Your screenshots don't really proof much in terms of color reproduction because the big question is which display (BT.601, BT.709, or something completely different) the screenshots were made for. Making a screenshot of the original source without any color processing makes sense only if you watch the screenshot on a display which matches the color spec the source was encoded for. I'm thinking once madVR gets screenshot functionality, I'll probably add a little "BT.601" or "BT.709" or "PAL" logo in the corner of each screenshot to clarify which display the screenshot needs to be shown on, in order to get correct colors.

Resizing: Currently madVR supports the usual linear resampling filters like e.g. Lanczos. Quality should be slightly better than AviSynth"s implementation of the same algorithms because madVR does all its calculations in 32bit+ floating point bitdepth, while AviSynth (AFAIK) works in 8bit integer. Of course AviSynth has some non-linear scaling algorithms. E.g. NNEDI3 is much better quality than anything madVR currently does. But that's just the way it currently is. Non/linear scaling algorithms are planned for a future madVR version.
madshi is offline   Reply With Quote
Old 13th October 2011, 08:31   #6152  |  Link
Mercury_22
Registered User
 
Join Date: Dec 2007
Posts: 1,138
Since you plan to add a mixer will it be to much to add individual volume controls for each channel like in FFD ?

It seems I'm not the only one needing those
Quote:
Originally Posted by clsid View Post
...
- ability to boost volume of center channel when downmixing to stereo, as many people don't like the large volume difference between voices and sound effects
__________________
Intel UHD Graphics 750; Win 10 22H2
Mercury_22 is offline   Reply With Quote
Old 13th October 2011, 08:32   #6153  |  Link
LordMerlin
Registered User
 
Join Date: May 2011
Posts: 11
Hello
Can I add a video decoder or processor function to increase the number of frames, or as a POT player simply showing them a few times, or the calculation of intermediate frames.
There is a DS-filter, which makes saschet intermediate frames on the video card. Uses CUDA.
website http://dmitrirender.narod.ru/
LordMerlin is offline   Reply With Quote
Old 13th October 2011, 08:50   #6154  |  Link
Triplefun
Registered User
 
Join Date: Sep 2011
Posts: 3
PS3 Mediaserver and WHS headless

copied frpom the LAV CUVID thread ...

---------------------

Thanks for building a great codec

I run LAV on my W7/HTPC and get spectacular results

However, I would also like to use it on my WHS/PS3Mediaserver/PS3/1080p TV. I have added a GTS450 video card to the WHS although 98% of the time it runs headless. The PS3 is connected to the WHS server over a gigabit network.

I initially tried loading the LAV codec using the Shark007 codec pack (and K-Lite) but could not get it to recognise cuda.

I then loaded LAV 0.37 and found PS3Mediaserver (SB50) recognises it as an FFmpeg codec accessed via AviSynth 2.5.

When playing HD content (VC-1 and H264) using PS3 Mediaserver and a terminal connected to the server to enable CUDA processing I get:

1. lots of video stuttering (Q8400 CPU is running 20% on all 4 threads)
2. sound running 3x the video speed

I have tried adding the TMT5 audio codec with no change - can I use the dll that comes loaded with Windows7 and do I need to rename it when I add it to the LAV directory?

I have tried changing the LAV and PS3Mediaserver settings without much success. PS3Mediasever seems to run best (least stuttering) when I set:

1. the LAV video output format settings to 16 bit only
2. the LAV video display mode 25p/30p
3. the LAV deinterlacing algorithm 'none'
4. PS3Mediaserver 'lossless quality'

What more can I do to get the video and audio playing properly please?

Also when I go 'headless' GPU-Z shows the CUDA processing is not available - I have since been informed that a DVI-VGA dongle configured with three 68 Ohm resistors will simulate a monitor and trigger CUDA - many thanks.
Triplefun is offline   Reply With Quote
Old 13th October 2011, 11:22   #6155  |  Link
nevcairiel
Registered Developer
 
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 10,344
Quote:
Originally Posted by Mercury_22 View Post
Since you plan to add a mixer will it be to much to add individual volume controls for each channel like in FFD ?
If i give you a full mixer matrix, you can just control volume with that, if you wish. I won't create a separate "volume control" thing.
__________________
LAV Filters - open source ffmpeg based media splitter and decoders
nevcairiel is offline   Reply With Quote
Old 13th October 2011, 11:24   #6156  |  Link
roytam1
Firefox User
 
Join Date: Sep 2003
Posts: 202
New nightly:
http://roy.orz.hm/lavf-w32-nightlies...ame-bb66f4f.7z

diff:
http://roy.orz.hm/lavf-w32-nightlies...e-bb66f4f.diff

A test build for forcing the seeking of RV30/RV40 video to key frames only which preventing corrupted image after seeking of RV30/RV40 video.
roytam1 is offline   Reply With Quote
Old 13th October 2011, 11:29   #6157  |  Link
Mercury_22
Registered User
 
Join Date: Dec 2007
Posts: 1,138
Quote:
Originally Posted by nevcairiel View Post
If i give you a full mixer matrix, you can just control volume with that, if you wish. I won't create a separate "volume control" thing.
As long as I can control the volume on each channel I don't care how it's done so

One thing to consider the option to enable/disable matrix & control volume by remote control = keyboard shortcut
__________________
Intel UHD Graphics 750; Win 10 22H2

Last edited by Mercury_22; 13th October 2011 at 11:35.
Mercury_22 is offline   Reply With Quote
Old 13th October 2011, 12:10   #6158  |  Link
SEt
Registered User
 
Join Date: Aug 2007
Posts: 374
nevcairiel, the problem with "basic filtering" is there is no line what is still "basic" and what is not. I'm not really against implementing libavfilter - it's just useless with access to Avisynth. After using things like MDegrain in no way you are going to be satisfied with primitive denoisers. Why integrate Avisynth and not put it in separate filter? Because you can export some interesting information directly to it (like, frame type, motion vectors if decoder provides them).

I don't remember being against downmuxing (only strongly against yadif ^_^). Downmuxing is something like P016->YV12 conversion and as well belongs to decoder.

madshi, first example has nothing to do with BT.601/BT.709 gamut etc. Without metainformation (like in this case) you can only assume everything is in sRGB (image and device) and no correction is needed. And madVR does it correctly when displaying 1:1 with no scaling involved. But with any scaling it fails horribly as demonstrated.
SEt is offline   Reply With Quote
Old 13th October 2011, 12:36   #6159  |  Link
e-t172
Registered User
 
Join Date: Jan 2008
Posts: 589
Keep in mind that Avisynth cannot handle everything. Most notably it has no concept of frame duration (i.e. VFR content). This makes it impossible to implement e.g. a reliable IVTC filter in Avisynth because some HDTV broadcasts (like CBS) like to mix soft telecine and hard telecine and switch between the two all the time, which is impossible to handle in Avisynth. That's the primary reason why my experimental IVTC filter was done as part of ffdshow and not as an Avisynth filter (I tried Avisynth, and failed).
e-t172 is offline   Reply With Quote
Old 13th October 2011, 12:48   #6160  |  Link
nand chan
( ≖‿≖)
 
Join Date: Jul 2011
Location: BW, Germany
Posts: 380
Quote:
Originally Posted by e-t172 View Post
Keep in mind that Avisynth cannot handle everything. Most notably it has no concept of frame duration (i.e. VFR content). This makes it impossible to implement e.g. a reliable IVTC filter in Avisynth because some HDTV broadcasts (like CBS) like to mix soft telecine and hard telecine and switch between the two all the time, which is impossible to handle in Avisynth. That's the primary reason why my experimental IVTC filter was done as part of ffdshow and not as an Avisynth filter (I tried Avisynth, and failed).
Avisynth also has very poor support for greater than 8 bit precision (then again, so does ffdshow). I cannot use a full 10 bit pipeline without dithering anywhere.

Quote:
Originally Posted by madshi View Post
Color reproduction: Most SD content is encoded in BT.601, while most of today's displays are calibrated nearer to BT.709. I can't speak for other renderers, but madVR converts the source gamut to the display gamut (if they differ). If your renderer doesn't do that, the colors will be incorrect, when displaying BT.601 content on a BT.709 display. Of course all color processing in madVR can be configured or alternatively turned off. Also you can check (and change) via shortcuts at runtime what madVR is doing color-wise. If your renderer shows different colors than madVR, then either madVR is setup incorrectly, or your renderer is lacking necessary processing, or there's a bug in madVR. I'd like to encourage you to check the primaries and decoding matrix your test video needs and whether both madVR and your own renderer handle that correctly. Your screenshots don't really proof much in terms of color reproduction because the big question is which display (BT.601, BT.709, or something completely different) the screenshots were made for. Making a screenshot of the original source without any color processing makes sense only if you watch the screenshot on a display which matches the color spec the source was encoded for. I'm thinking once madVR gets screenshot functionality, I'll probably add a little "BT.601" or "BT.709" or "PAL" logo in the corner of each screenshot to clarify which display the screenshot needs to be shown on, in order to get correct colors.

Resizing: Currently madVR supports the usual linear resampling filters like e.g. Lanczos. Quality should be slightly better than AviSynth"s implementation of the same algorithms because madVR does all its calculations in 32bit+ floating point bitdepth, while AviSynth (AFAIK) works in 8bit integer. Of course AviSynth has some non-linear scaling algorithms. E.g. NNEDI3 is much better quality than anything madVR currently does. But that's just the way it currently is. Non/linear scaling algorithms are planned for a future madVR version.
This is probably off-topic, but I don't know how fast you are going to read my reply in the madVR thread - why does changing the decoding primaries in madVR (with Ctrl + Alt + Shift + P) not affect anything?

I have here a 1920x1080 video file that was encoded using BT.601 primaries (erroneously), but I want to play it back as such. No matter which setting I have the “decoding primaries” set to in the OSD, madVR always decodes using BT.709.

In mplayer I can use -vo gl:colorspace=1 and it will use BT.601 to decode instead of the default, which results in the correct image.
__________________
Forget about my old .3dlut stuff, just use mpv if you want accurate color management

Last edited by nand chan; 13th October 2011 at 12:51.
nand chan is offline   Reply With Quote
Reply

Tags
decoders, directshow, filters, splitter

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 22:02.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.