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. |
1st September 2010, 13:18 | #221 | Link |
Software Developer
Join Date: Oct 2001
Location: Israel
Posts: 1,005
|
Hi,
This is quite important, can you please expose the same sub-types as other existing filters? For example, after registering the filter, trying to play an AVI file with XVID video and MP3 audio fails using the standard microsoft AVI splitter as the "file source (async)" filter exposes a different sub-type. This behavior breaks compatibility with players that rely on the filter's sub-type to identify media formats and breaks support for existing filters that rely on these sub-types for the same purpose. |
1st September 2010, 19:36 | #222 | Link | |
Registered Developer
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 10,340
|
Quote:
Obviously, trying to use another splitter on top of this will fail. If a player relys on detecing the subtype of the data being send between source and splitter to detect file type .. well, what a sucky player. Can't help you there right now. When i get bored some time, i might add the possibility to use a different file source to feed the splitter part, but me being bored, like thats going to happen.
__________________
LAV Filters - open source ffmpeg based media splitter and decoders Last edited by nevcairiel; 2nd September 2010 at 06:41. |
|
2nd September 2010, 11:12 | #223 | Link | |
Registered User
Join Date: Oct 2004
Location: France
Posts: 567
|
Quote:
- CLAVFOutPut Pin Video thread : Code:
mpc-hc.exe!CBaseOutputPin::GetDeliveryBuffer(IMediaSample * * ppSample, __int64 * pStartTime, __int64 * pEndTime, unsigned long dwFlags) Ligne 2654 + 0x2c octets C++ mpc-hc.exe!CBaseVideoFilter::GetDeliveryBuffer(int w, int h, IMediaSample * * ppOut) Ligne 122 + 0x25 octets C++ mpc-hc.exe!CMpeg2DecFilter::DeliverFast() Ligne 593 + 0x25 octets C++ mpc-hc.exe!CMpeg2DecFilter::Transform(IMediaSample * pIn) Ligne 536 + 0x8 octets C++ mpc-hc.exe!CBaseVideoFilter::Receive(IMediaSample * pIn) Ligne 107 + 0x13 octets C++ mpc-hc.exe!CTransformInputPin::Receive(IMediaSample * pSample) Ligne 763 + 0x19 octets C++ mpc-hc.exe!CDeCSSInputPin::Receive(IMediaSample * pSample) Ligne 90 + 0x13 octets C++ LAVFDShowSplitter.ax!CBaseOutputPin::Deliver(IMediaSample * pSample) Ligne 2695 + 0x20 octets C++ LAVFDShowSplitter.ax!CLAVFOutputPin::DeliverPacket(Packet * pPacket) Ligne 345 + 0x13 octets C++ LAVFDShowSplitter.ax!CLAVFOutputPin::ThreadProc() Ligne 275 + 0x23 octets C++ LAVFDShowSplitter.ax!CAMThread::InitialThreadProc(void * pv) Ligne 123 + 0xe octets C++ Code:
mpc-hc.exe!CBaseOutputPin::GetDeliveryBuffer(IMediaSample * * ppSample, __int64 * pStartTime, __int64 * pEndTime, unsigned long dwFlags) Ligne 2654 + 0x2c octets C++ mpc-hc.exe!CStreamSwitcherInputPin::InitializeOutputSample(IMediaSample * pInSample, IMediaSample * * ppOutSample) Ligne 384 + 0x7f octets C++ mpc-hc.exe!CStreamSwitcherInputPin::Receive(IMediaSample * pSample) Ligne 750 + 0x1e octets C++ mpc-hc.exe!CBaseOutputPin::Deliver(IMediaSample * pSample) Ligne 2695 + 0x20 octets C++ mpc-hc.exe!CMpaDecFilter::Deliver(ATL::CAtlArray<float,ATL::CElementTraits<float> > & pBuff, unsigned long nSamplesPerSec, unsigned short nChannels, unsigned long dwChannelMask) Ligne 1730 + 0x29 octets C++ mpc-hc.exe!CMpaDecFilter::ProcessMPA() Ligne 1597 + 0x23 octets C++ mpc-hc.exe!CMpaDecFilter::Receive(IMediaSample * pIn) Ligne 494 + 0x8 octets C++ mpc-hc.exe!CTransformInputPin::Receive(IMediaSample * pSample) Ligne 763 + 0x19 octets C++ mpc-hc.exe!CDeCSSInputPin::Receive(IMediaSample * pSample) Ligne 90 + 0x13 octets C++ LAVFDShowSplitter.ax!CBaseOutputPin::Deliver(IMediaSample * pSample) Ligne 2695 + 0x20 octets C++ LAVFDShowSplitter.ax!CLAVFOutputPin::DeliverPacket(Packet * pPacket) Ligne 345 + 0x13 octets C++ LAVFDShowSplitter.ax!CLAVFOutputPin::ThreadProc() Ligne 275 + 0x23 octets C++ LAVFDShowSplitter.ax!CAMThread::InitialThreadProc(void * pv) Ligne 123 + 0xe octets C++ |
|
2nd September 2010, 14:41 | #225 | Link |
Software Developer
Join Date: Oct 2001
Location: Israel
Posts: 1,005
|
nevcairiel:
You misunderstood me. What I was saying is: 1. When the "LAVFSplitter" is registered, it BREAKS standard graphs that are NOT using LAVFSplitter. 2. When the "LAVFSplitter" is used in a grpah, it exposes sub-types that are not compatible with the sub-types exposed by the standard AVI Splitter. There's no reason not to expose the same sub-types on the output pins as it breaks compatibility and prevents drop-in replacement. And the player does not detect the file type by the 'source -> splitter' connection, it uses the sub_type to detect the various audio/video codecs required to play that particular media. If the splitter exposes a different subtype on it's output pin compared to other splitters for the same codec, it creates compatibility issues. |
2nd September 2010, 18:58 | #226 | Link | ||
Registered Developer
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 10,340
|
Quote:
Quote:
And yes, there are reasons for change, for example when the previous "default" was just wrong, i won't stick with it. I don't believe in keeping broken things around just to please other broken software. Anyhow, without knowing on what kind of file, i can't say if its an error or by design. Since you're talking about AVI, i would assume one of the MPEG-4 ASP variants, which all seem to play fine here, fwiw =)
__________________
LAV Filters - open source ffmpeg based media splitter and decoders Last edited by nevcairiel; 2nd September 2010 at 19:12. |
||
2nd September 2010, 20:45 | #227 | Link |
Registered User
Join Date: Nov 2008
Posts: 454
|
Hi.
If somebody interested why Cyberlink VC-1 decoder does not work with LAVF - look here.
__________________
Working machine: Win10x64 + Intel Skull Canyon My HTPC. How to start with Bitcoin Last edited by hoborg; 2nd September 2010 at 20:48. |
2nd September 2010, 21:15 | #228 | Link |
Registered Developer
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 10,340
|
I wonder if just adding the custom mediatype to VC-1 output would make the cyberlink decoder work.
I'll try to remember to check back on that next week.
__________________
LAV Filters - open source ffmpeg based media splitter and decoders |
2nd September 2010, 21:22 | #229 | Link |
Registered User
Join Date: Nov 2008
Posts: 454
|
I bet it will. If you open m2ts vc-1i sample i sended you in graphstudio using MPC-HC splitter with loader installed, it will connect, but it stutter. Just delete loader from graph and connect splitter directly to Cyberlink decoder - it will connect. Now playback is perfect.
__________________
Working machine: Win10x64 + Intel Skull Canyon My HTPC. How to start with Bitcoin |
3rd September 2010, 07:12 | #230 | Link |
Registered User
Join Date: Nov 2008
Posts: 454
|
BTW, just in theroy, it is possible on splitter level to detect if VC-1 source is:
progresive - then output as {31435657-0000-0010-8000-00AA00389B71} interlaced - then output as {D979F77B-DBEA-4BF6-9E6D-1D7E57FBAD53}
__________________
Working machine: Win10x64 + Intel Skull Canyon My HTPC. How to start with Bitcoin |
4th September 2010, 13:10 | #231 | Link |
Registered User
Join Date: Jun 2009
Location: London
Posts: 378
|
Hi, I have found two bugs, one in mostly found in SD MP4 and other is OGM files (Does OGM have same level of support as OGG?)
MP4/H264: Many files just don't display the video, also ffdshow doesn't show any video info (Tested same file on ffplay and was fine) I have also remuxed this to MKV and the same issue occurs. Here is the info from file Code:
General Complete name : D:\TEST.mp4 Format : MPEG-4 Format profile : Base Media Codec ID : isom File size : 175 MiB Duration : 22mn 40s Overall bit rate : 1 079 Kbps Encoded date : UTC 2006-07-28 16:11:34 Tagged date : UTC 2006-07-28 16:11:34 Video ID : 1 Format : AVC Format/Info : Advanced Video Codec Format profile : High@L5.1 Format settings, CABAC : Yes Format settings, ReFrames : 13 frames Codec ID : avc1 Codec ID/Info : Advanced Video Coding Duration : 22mn 40s Bit rate mode : Variable Bit rate : 946 Kbps Maximum bit rate : 4 986 Kbps Width : 640 pixels Height : 480 pixels Display aspect ratio : 4:3 Frame rate mode : Constant Frame rate : 23.976 fps Color space : YUV Chroma subsampling : 4:2:0 Bit depth : 8 bits Scan type : Progressive Bits/(Pixel*Frame) : 0.128 Stream size : 153 MiB (88%) Writing library : x264 core 48 svn-537M Encoding settings : cabac=1 / ref=10 / deblock=1:-2:-1 / analyse=0x3:0x133 / me=umh / subme=7 / brdo=1 / mixed_ref=1 / me_range=22 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / chroma_qp_offset=0 / slices=1 / nr=0 / decimate=1 / bframes=3 / b_pyramid=1 / b_adapt=1 / b_bias=0 / direct=3 / wpredb=1 / bime=1 / keyint=480 / keyint_min=12 / scenecut=50 / rc=2pass / bitrate=946 / ratetol=1.0 / rceq='blurCplx^(1-qComp)' / qcomp=0.60 / qpmin=12 / qpmax=51 / qpstep=8 / cplxblur=20.0 / qblur=0.5 / ip_ratio=1.30 / pb_ratio=1.35 Language : Japanese Encoded date : UTC 2006-07-28 16:11:34 Tagged date : UTC 2006-07-28 16:11:57 Audio ID : 2 Format : AAC Format/Info : Advanced Audio Codec Format version : Version 4 Format profile : LC Format settings, SBR : No Codec ID : 40 Duration : 22mn 40s Bit rate mode : Variable Bit rate : 129 Kbps Maximum bit rate : 162 Kbps Channel(s) : 2 channels Channel positions : Front: L R Sampling rate : 44.1 KHz Stream size : 20.9 MiB (12%) Language : Japanese Encoded date : UTC 2006-07-28 16:11:56 Tagged date : UTC 2006-07-28 16:11:57 Menu 00:00:00.000 : Opening 00:01:16.076 : Part A 00:11:23.308 : Part B 00:20:54.254 : Ending 00:22:10.330 : Preview If you need samples let me know. Thanks
__________________
Windows 11 Pro, CPU: Ryzen 9 5900X, GPU: GeForce RTX 3090 /w 512.95, Audio: HDMI to Yamaha RX-A3060 (5.1) |
5th September 2010, 06:55 | #232 | Link | ||
Registered Developer
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 10,340
|
Quote:
Quote:
__________________
LAV Filters - open source ffmpeg based media splitter and decoders |
||
9th September 2010, 16:11 | #233 | Link | |||
Registered Developer
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 10,340
|
Quote:
Quote:
Quote:
I applied a general purpose fix that honors the original FourCC of the container file. I hope this doesn't cause any problems, but if it does, report which files stopped playing now. This should probably address the issue Blight was addressing, even when worded poorly.
__________________
LAV Filters - open source ffmpeg based media splitter and decoders Last edited by nevcairiel; 9th September 2010 at 17:45. |
|||
9th September 2010, 19:10 | #234 | Link |
Registered User
Join Date: Oct 2008
Location: Portugal
Posts: 161
|
nevcairiel, are you going to post a newer version of your splitter or are you already implementing it on MPC-HC?
Thanks Bat
__________________
Win 11 x64, Geforce RTX 4060 Ti 16GB, TV Sony KD-55X8509C HDMI, Denon AVR-X2700H, Core i7-9700K, 32GB DDR4, Creative Labs Gigaworks S750 7.1 speakers MPC Home-Cinema madVR LAV Filters |
9th September 2010, 19:17 | #235 | Link |
Registered User
Join Date: Jun 2009
Location: London
Posts: 378
|
Thanks nevcairiel
I also think I found the same bug with the OGM in AVI's with H264, but I will wait and see how things fair when you release new version and report back.
__________________
Windows 11 Pro, CPU: Ryzen 9 5900X, GPU: GeForce RTX 3090 /w 512.95, Audio: HDMI to Yamaha RX-A3060 (5.1) |
9th September 2010, 20:10 | #236 | Link | |
Registered Developer
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 10,340
|
Quote:
AVIs with H264? Who does that kind of thing? Is that even possible? I didnt think AVI really liked B-frames.
__________________
LAV Filters - open source ffmpeg based media splitter and decoders Last edited by nevcairiel; 9th September 2010 at 20:13. |
|
9th September 2010, 22:02 | #237 | Link | |
Registered User
Join Date: Jun 2009
Location: London
Posts: 378
|
Quote:
If you interested in a sample I will get one up for you.
__________________
Windows 11 Pro, CPU: Ryzen 9 5900X, GPU: GeForce RTX 3090 /w 512.95, Audio: HDMI to Yamaha RX-A3060 (5.1) |
|
11th September 2010, 21:40 | #238 | Link | ||
Unavailable
Join Date: Mar 2009
Location: offline
Posts: 1,480
|
Quote:
Quote:
|
||
12th September 2010, 19:36 | #239 | Link |
Registered Developer
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 10,340
|
LAVFSplitter 0.9
- Added support for distinguishing hearing impaired subtitles in mpeg-ts streams - Added BluRay LPCM support - MP1/MP2 audio media type fixes - Honor the original FourCC of the file in media type generation - Added support for using the Cyberlink VC-1 decoder - Fixed an issue with some H264/AVC1 files that caused video to not play at all - Fixed unicode in chapter names - Fixed getting the current chapter Download: 32-bit & 64-bit Like you can see, this is mostly a media type and bugfix release. I hope to finally tackle some of the features on my list for 0.10. I also finally updated my copy of ffmpeg to sync against the main ffmpeg repository, so i can keep it updated more easily. Please report any regressions, some of the media type changes might cause breakage with some formats and decoders, but hopefully not too many. =) Btw, the Cyberlink VC-1 decoder works like a charm, i don't even have the async issue i have with the MS decoder.
__________________
LAV Filters - open source ffmpeg based media splitter and decoders |
12th September 2010, 23:16 | #240 | Link |
Registered User
Join Date: Feb 2007
Posts: 49
|
First of all, great work highly appreciated!
Issues I've found so far: VOBs with LPCM doesn't seem to connect to either ffdshow or MPC-HCs decoder OGM files (with subs haven't tried without) have jerky / stuttering video playback while sound is fine. Works without any issues using MPC-HCs OGG-splitter. (this is reported earlier) Accepts some MP4 and FLV files, ripped/downloaded files from nicovideo (nico nico douga) doesn't work (both MP4 and FLV) although some MP4 files works. Seems to be rather random... Here are some samples... http://projects.pyret.net/dump/lavfsamples/sm583125.flv (doesn't work) http://projects.pyret.net/dump/lavfs.../sm7910320.mp4 (doesn't work) And below information regarding LPCM issue Code:
Media Type 0: -------------------------- Audio: 0x0000 48000Hz stereo 1536kbps AM_MEDIA_TYPE: majortype: MEDIATYPE_Audio {73647561-0000-0010-8000-00AA00389B71} subtype: Unknown GUID Name {00000000-0000-0010-8000-00AA00389B71} formattype: FORMAT_WaveFormatEx {05589F81-C356-11CE-BF01-00AA0055595A} bFixedSizeSamples: 1 bTemporalCompression: 0 lSampleSize: 256000 cbFormat: 18 WAVEFORMATEX: wFormatTag: 0x0000 nChannels: 2 nSamplesPerSec: 48000 nAvgBytesPerSec: 192000 nBlockAlign: 4 wBitsPerSample: 16 cbSize: 0 (extra bytes) pbFormat: 0000: 00 00 02 00 80 bb 00 00 00 ee 02 00 04 00 10 00 ....€»...î...... 0010: 00 00 .. Code:
Audio ID : 160 (0xA0) Format : PCM Format settings, Endianness : Big Format settings, Sign : Signed Muxing mode : DVD-Video Duration : 6mn 0s Bit rate mode : Constant Bit rate : 1 536 Kbps Channel(s) : 2 channels Channel positions : Front: L R Sampling rate : 48.0 KHz Bit depth : 16 bits Last edited by diizzy; 13th September 2010 at 09:13. |
Tags |
decoders, directshow, filters, splitter |
Thread Tools | Search this Thread |
Display Modes | |
|
|