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. |
17th June 2009, 12:24 | #7601 | Link |
*****
Join Date: Feb 2005
Posts: 5,647
|
Can't you also add detection of the "AVI splitter" filter so no filename check is needed at all?
__________________
MPC-HC 2.2.1 |
17th June 2009, 15:09 | #7603 | Link | |
Registered User
Join Date: Apr 2009
Posts: 93
|
Quote:
Does that mean I can just hard code FILTER_INFO::achName to be something like "dummy" This has no file extension, and it sounds like ffdshow does not need to know the actual filename - it is just looking for the absence or presence of a filename extension. This would seem to be safer than specifying the full pathname of the file with its extension because I don't know what specific filename extensions ffdshow might be checking for - it might do different things depending on the filename extension. Also do you mean that "Now ffdshow parses access units if the file name extension is NULL" has already been implemented or that it will be implemented in a future revision? How are you reading the FILTER_INFO::achName ? Are you just getting the upstream filter and calling QueryFilterInfo() on it? I ask because you said a a while back that you would need the filter GUID, but I think you can get the upstream filter without having to know its GUID in advance via IPin::QueryPinInfo() on the upstream connected pin. Last edited by ipanema; 17th June 2009 at 15:28. |
|
17th June 2009, 15:32 | #7604 | Link | |||||
Registered User
Join Date: Feb 2006
Location: Japan
Posts: 1,560
|
Quote:
Quote:
ts, m2ts, m2t, mts, mpg, mpeg. So it's safe to specify Drive:\path\filename\extension. The new version will compare extension with avi. Quote:
Quote:
Quote:
|
|||||
17th June 2009, 16:45 | #7605 | Link |
Registered User
Join Date: Apr 2009
Posts: 93
|
The upstream filter from the ffdshow filter is the MPEG-2 demux, so I set the FILTER_INFO::achName of the demux and also of my source filter by calling AddFilter specifying a filter name ending in ".ts" - for example:
m_pGraph->AddFilter(pDemux, L"Demux.ts"); Unfortunately this makes no difference. The Source File is still shown as blank and the decoded frames are still corrupted. I'm setting up the media type WITH the dwSequenceHeader (SPS and PPS) and the main media type structure set as posted earlier. P.S. I'v just tried to query the achName of the Demux from my source filter (the opposite direction to which you'll be looking from the ffdshow filter) using the following code: CComPtr <IPin> nDemuxInPin; pSourceOutPin->ConnectedTo(&nDemuxInPin); PIN_INFO pininfo; nDemuxInPin->QueryPinInfo(&pininfo); CComPtr <IBaseFilter> pDemuxFilter = pininfo.pFilter; FILTER_INFO filterinfo; pDemuxFilter->QueryFilterInfo(&filterinfo); and the filterinfo.achName does indeed read "Demux.ts" Last edited by ipanema; 17th June 2009 at 17:08. |
18th June 2009, 00:10 | #7606 | Link | |
Registered User
Join Date: Feb 2006
Location: Japan
Posts: 1,560
|
Quote:
ffdshow searches to the upper stream and find the source filter. Code:
const char_t* TinputPin::getFileSourceName(void) { IFilterGraph *graph=m_pFilter->GetFilterGraph(); if (!graph || wasGetSourceName || !filesourceFlnm.empty()) return filesourceFlnm.c_str(); wasGetSourceName=true; comptr<IBaseFilter> filter; if (searchPrevNextFilter(PINDIR_INPUT,this,this,&filter,TpinFileSourceComp()) && filter) { comptr<IFileSourceFilter> ifsf;filter->QueryInterface(IID_IFileSourceFilter,(void**)&ifsf); LPOLESTR aviNameL=NULL; ifsf->GetCurFile(&aviNameL,NULL); if (aviNameL) { filesourceFlnm = text<char_t>(aviNameL); CoTaskMemFree(aviNameL); } else filesourceFlnm=_l(""); } return filesourceFlnm.c_str(); } struct TpinFileSourceComp { bool operator ()(IBaseFilter *bff,IPin*) const { comptr<IFileSourceFilter> ifsf=NULL; return SUCCEEDED(bff->QueryInterface(IID_IFileSourceFilter,(void**)&ifsf)) && ifsf!=NULL; } }; Thank you for your consideration of this matter. Last edited by haruhiko_yamagata; 18th June 2009 at 12:40. |
|
18th June 2009, 14:59 | #7607 | Link | |
Registered User
Join Date: Apr 2009
Posts: 93
|
Haruhiko, that works fine now.
Thankyou for looking into this. Quote:
|
|
18th June 2009, 16:51 | #7609 | Link |
Registered User
Join Date: Apr 2009
Posts: 93
|
Now that this seems to be working, here's an observation.
Most of the time ffdshow does not seem to decode the 2 B frames that preceed the first I frame (in presentation order) in the stream. It does seem to do this most of the time at the start of a file but if you start streaming data from an I-frame located elsewhere in a file then the 2 preceding B frames are not decoded (as if it was an open GOP). But Mainconcept always seems to decode the 2 preceeding B frames no matter which I-frame in the file you start streaming from (as if all GOPs were closed). Do you know what flags in the stream the ffdshow's H.264 decoder is using to decide not to decode the 2 leading B frames? And is it making a mistake? If Mainconcept can perfectly decode these B frames OK then surely ffdshow should be able to aswell. |
18th June 2009, 19:50 | #7610 | Link | |
Registered User
Join Date: Jan 2004
Location: Canada
Posts: 210
|
Quote:
The reason is that I have a plasma display used exclusively for movies, and to avoid uneven screen wear and potential burn-in, I don't want the black-bars displayed on 2.35:1 or anything wider than 16:9. Right now I use ZoomPlayer to manually zoom the image for extra-widescreen movies, but it's not automatic. Having a variation of AutoCrop that could do it automatically would be great if possible!
__________________
Cheers, The REAL Joe |
|
19th June 2009, 02:10 | #7612 | Link |
Registered User
Join Date: Aug 2007
Posts: 1,430
|
There appears to be a bug in libavcodec where FRAPS videos have the right-most 16 pixels a different level, or so it appears. Doesn't happen when using decoder that comes with FRAPS but does with libavcodec.
Sample source: http://stfcc.org/misc/epiczip.zip (disregard the other files) Sample encode from source using libavcodec: http://stfcc.org/misc/fraps.libavcodec.mkv Last edited by Snowknight26; 19th June 2009 at 03:25. |
19th June 2009, 09:07 | #7613 | Link |
Registered User
Join Date: Apr 2007
Posts: 220
|
Dolby True Hd - feature suggestion
Hi,
the Dolby Tru HD decoder works well with the latest releases. Also nice is that when you turn it off, ffdshow extracts the ac3 core and sends that over sp-dif. So far, so good. But some Dolby Tru HD tracks lack an ac3 core. In this case the preferred behaviour would be: 1) If ac3 core of a dolby tru hd track is available send that over sp-dif 2) if ac3 core is not available use the dolby tru had decoder All that would be required would be an option on the dolby tru hd decoder like "Only use if no ac3 core is detected" The reason for all this is, that many people got receivers only supporting ac3 and dts. Here it is nicer to have the ac3 core, than to decode and reencode or even than to use the analog outs. |
19th June 2009, 10:14 | #7614 | Link | |
Registered User
Join Date: Aug 2008
Posts: 231
|
Quote:
|
|
19th June 2009, 10:20 | #7615 | Link |
Registered User
Join Date: Aug 2008
Posts: 231
|
Question about presets:
I tried to setup ffdshow specially for ReClock, made a preset with autoloading condition "on a DirectShow filter presence"="ReClock Audio Renderer", but ffdshow all the same uses default preset. Also tried "*ReClock*" with no luck. Does the condition work only for filters before ffdshow? Using rev2940 |
19th June 2009, 12:07 | #7616 | Link | |
ffdshow/AviSynth wrangler
Join Date: Feb 2003
Location: Austria
Posts: 2,441
|
Quote:
__________________
now playing: [artist] - [track] ([album]) |
|
19th June 2009, 22:43 | #7618 | Link | |
Registered User
Join Date: Aug 2008
Posts: 231
|
Quote:
Already done, it was the only option. Now I have mplayerc_rc.exe with mplayerc_rc.ini for ReClock. Last edited by Gleb Egorych; 20th June 2009 at 07:59. |
|
20th June 2009, 12:03 | #7619 | Link | |
Registered User
Join Date: Feb 2006
Location: Japan
Posts: 1,560
|
Quote:
|
|
20th June 2009, 13:35 | #7620 | Link | |
Registered User
Join Date: Feb 2006
Location: Japan
Posts: 1,560
|
Quote:
|
|
Tags |
ffdshow, ffdshow tryouts, ffdshow-mt, ffplay, icl |
|
|