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 > Video Encoding > New and alternative video codecs

Reply
 
Thread Tools Search this Thread Display Modes
Old 1st September 2010, 14:26   #12301  |  Link
clsid
Registered User
 
Join Date: Feb 2005
Posts: 4,624
72707A61 = "rpza" = FourCC "azpr"
617a7072 = "azpr" = FourCC "rpza"
clsid is offline   Reply With Quote
Old 1st September 2010, 18:06   #12302  |  Link
STaRGaZeR
4:2:0 hater
 
Join Date: Apr 2008
Posts: 1,307
Added in r3555. jumping.avi now works with Microsoft's AVI splitter.
__________________
Specs, GTX970 - PLS 1440p@96Hz
Quote:
Originally Posted by Manao View Post
That way, you have xxxx[p|i]yyy, where xxxx is the vertical resolution, yyy is the temporal resolution, and 'i' says the image has been irremediably destroyed.
STaRGaZeR is offline   Reply With Quote
Old 1st September 2010, 18:14   #12303  |  Link
madshi
Registered Developer
 
Join Date: Sep 2006
Posts: 8,757
@ffdshow developers:

Code:
Graph:
MPC HC -> Haali MKV Splitter -> any video decoder -> ffdshow raw video filter (rev. 3529) -> any video renderer

Video:
MKV, 1 video track, 1 audio track, many subtitle tracks
In this situation there's a serious bug in the ffdshow IAMStreamSelect implementation: The media type for all streams (video, audio and subtitles) is reported as "MEDIATYPE_Video". Haali's IAMStreamSelect implementation properly reports the correct media types for all the streams.
madshi is offline   Reply With Quote
Old 2nd September 2010, 15:34   #12304  |  Link
XhmikosR
Registered User
 
Join Date: Mar 2007
Location: Hellas (Greece)
Posts: 543
@devs: I did a comparison between O2 and O3 with GCC 4.5.1 and there's no difference in the performance at all. And the installer's size is decreased a lot.

Installer size msvc2008 O3: 5.09MB
Installer size msvc2008 O2: 4.85MB

Maybe someone else should measure the performance and if the results are the same then change the O3 to O2.
__________________
My Specs
XhmikosR is offline   Reply With Quote
Old 2nd September 2010, 21:29   #12305  |  Link
hoborg
Registered User
 
Join Date: Nov 2008
Posts: 454
Hi.
This sample will freeze durning playback if FFDshow DXVA decoder is in use.
It play fine using MPC-HC DXVA, MS VIDEO decoder or standard FFDShow h.264 decoder.
__________________
Working machine: Win10x64 + Intel Skull Canyon
My HTPC.

How to start with Bitcoin
hoborg is offline   Reply With Quote
Old 3rd September 2010, 16:50   #12306  |  Link
albain
Media Control author
 
Join Date: Dec 2006
Location: Paris
Posts: 1,014
Quote:
Originally Posted by Blight View Post
Small feature request:
Accept video decoder pin connections for the "{72707A61-0000-0010-8000-00AA00389B71}" sub-type exposed by the microsoft AVI splitter. You already support decoding this video format when the "QTRpza" sub-type is used for connection (exposed by 'haali media splitter' for the same file).

Here are some sample files:
http://samples.mplayerhq.hu/V-codecs/RPZA/
(i couldn't find a splitter for the MOV files, but the jumping.avi file can be used as a test case)


Albain:
Here's my entire process for getting the stream info:

1) I enum all the filters in the graph.

2) For each filter in the graph, I call:
Code:
  // dsStreamFilter is an IBaseFilter class
  If dsStreamFilter.QueryInterface(IID_IAMStreamSelect, dsStreamSelect) = S_OK then // dsStreamSelect is an IAMStreamSelect class
  Begin
    dsStreamFilter.GetClassID(dsFilterGUID);
    If (IsEqualGUID(dsFilterGUID,CLSID_FFDShow) = True) then
    Begin
      If dsStreamSelect.Count(StreamCount) = S_OK then // This call throws the StackOverflow exception, StreamCount is a DWord.
      Begin
      End;
    End;
    dsStreamSelect := nil; // removes the reference count and frees the object
  End;
This works for every other filter supporting the IAMStreamSelect interface...
Am I doing something wrong?

I am not very aware of delphi coding but if setting to null a variable corresponds to a Release call in CPP this should be ok.
Although, there shouldn't be any stack overflow if you call it once.

But the problem may come from this : this method will also scan the graph for IAMStreamSelect interface in the other filters. So if another filter does the same there (and calls Count method), there will be an infinite loop then a stack overflow.

I added a security for that in revision 3557


@XhmikosR No I didn't miss your post, I just didn't have the time to look after this

@Madshi I don't understand what's wrong with the behaviour you describe ?
IAMStreamSelect does not report any media type but a group number which is 1=video track, 2=audio track...

Last edited by albain; 3rd September 2010 at 17:05.
albain is offline   Reply With Quote
Old 3rd September 2010, 17:07   #12307  |  Link
madshi
Registered Developer
 
Join Date: Sep 2006
Posts: 8,757
Quote:
Originally Posted by albain View Post
I am not very aware of delphi coding but if setting to null a variable corresponds to a Release call in CPP this should be ok.
Yes, in Delphi setting an interface to "nil" ends up in a "Release" call.

Quote:
Originally Posted by albain View Post
Although, there shouldn't be any stack overflow if you call it once.

But the problem may come from this : this method will also scan the graph for IAMStreamSelect interface in the other filters. So if another filter does the same there (and calls Count method), there will be an infinite loop then a stack overflow
FWIW, in the latest madVR version I'm also calling IAmStreamSelect, and inside of ZoomPlayer that also causes a stack overflow, if ffdshow is in the graph. But strangely inside of MPC HC there doesn't seem to be a stack overflow. Weird... I've worked around it by putting the "IAmStreamSelect.Count" call into a try..except block.

Quote:
Originally Posted by albain View Post
@Madshi I don't understand what's wrong with the behaviour you describe ?
IAMStreamSelect does not report any media type but a group number which is 1=video track, 2=audio track...
The problem is that the group numbers are not defined anywhere. Microsoft does not say anywhere that group 1 = video, or am I wrong? As far as I can see, some splitter might also have video tracks in group 2 and audio tracks in group 1.

Anyway, look at the documentation of "IAMStreamSelect::Info". The 2nd parameter is a media type. And ffdshow *DOES* return media type information for every stream, in the 2nd parameter of the "Info" method. The problem is that ffdshow always returns a video media type, even for audio and subtitle streams. I'm using the media type to find out which group is video, audio and subtitles.
madshi is offline   Reply With Quote
Old 3rd September 2010, 17:16   #12308  |  Link
STaRGaZeR
4:2:0 hater
 
Join Date: Apr 2008
Posts: 1,307
Quote:
Originally Posted by XhmikosR View Post
@devs: I did a comparison between O2 and O3 with GCC 4.5.1 and there's no difference in the performance at all. And the installer's size is decreased a lot.

Installer size msvc2008 O3: 5.09MB
Installer size msvc2008 O2: 4.85MB

Maybe someone else should measure the performance and if the results are the same then change the O3 to O2.
I've tested both with constant 35mbps H.264 Blu-ray content and I got ~155,5fps with O2 vs ~158fps with O3 in timecodec using ffmpeg-mt. GCC 4.5.1 too. I don't care about the difference nor the installer size, so you guys decide.

Specs in sig.
__________________
Specs, GTX970 - PLS 1440p@96Hz
Quote:
Originally Posted by Manao View Post
That way, you have xxxx[p|i]yyy, where xxxx is the vertical resolution, yyy is the temporal resolution, and 'i' says the image has been irremediably destroyed.

Last edited by STaRGaZeR; 3rd September 2010 at 17:19.
STaRGaZeR is offline   Reply With Quote
Old 3rd September 2010, 17:27   #12309  |  Link
albain
Media Control author
 
Join Date: Dec 2006
Location: Paris
Posts: 1,014
Madshi, you're right, there is indeed a media type information. However every players I know use the group ID with the same mapping rules even if there are no mapping rules AFAIK

This is fixed in revision 3558

@XhmikosR : the RM samples you provided won't read because of ffmpeg

codecdata_length=8
subpacket[0].cookversion=1000001
MONO
js_vlc_bits = 43947, only >= 0 and <= 6 allowed!

You can report these samples to ffmpeg team, thanks

Last edited by albain; 3rd September 2010 at 17:47.
albain is offline   Reply With Quote
Old 3rd September 2010, 17:46   #12310  |  Link
madshi
Registered Developer
 
Join Date: Sep 2006
Posts: 8,757
Quote:
Originally Posted by albain View Post
Madshi, you're right, there is indeed a media type information

This is fixed in revision 3558
Great - thanks!
madshi is offline   Reply With Quote
Old 3rd September 2010, 19:11   #12311  |  Link
Midzuki
Unavailable
 
Midzuki's Avatar
 
Join Date: Mar 2009
Location: offline
Posts: 1,385
Q.: Any possibility of finally fixing this issue ???

A.: Only after the Third Impact (if ever).

Last edited by Midzuki; 6th September 2010 at 00:02. Reason: update
Midzuki is offline   Reply With Quote
Old 3rd September 2010, 22:33   #12312  |  Link
XhmikosR
Registered User
 
Join Date: Mar 2007
Location: Hellas (Greece)
Posts: 543
Quote:
Originally Posted by albain View Post
Madshi, you're right, there is indeed a media type information. However every players I know use the group ID with the same mapping rules even if there are no mapping rules AFAIK

This is fixed in revision 3558

@XhmikosR : the RM samples you provided won't read because of ffmpeg

codecdata_length=8
subpacket[0].cookversion=1000001
MONO
js_vlc_bits = 43947, only >= 0 and <= 6 allowed!

You can report these samples to ffmpeg team, thanks
All the samples play fine with the latest ffplay build so I cannot report anything to them. Only ffdshow has problems.
__________________
My Specs
XhmikosR is offline   Reply With Quote
Old 4th September 2010, 00:04   #12313  |  Link
STaRGaZeR
4:2:0 hater
 
Join Date: Apr 2008
Posts: 1,307
I've come across a similar problem when enabling libavcodec AAC. DebugView is full of:

Code:
[7720] More than one AAC RDB per ADTS frame is not implemented. Update your FFmpeg version to the newest one from SVN. If the problem still occurs,
it means that your file has a feature which has not been implemented.
[7720] Error decoding AAC frame header.
And all I get is silence, with a clear Info&CPU tab with all AAC files I have. The AAC parser never parses anything. FFmpeg is updated. The same files play fine with ffplay. Ideas are welcomed
__________________
Specs, GTX970 - PLS 1440p@96Hz
Quote:
Originally Posted by Manao View Post
That way, you have xxxx[p|i]yyy, where xxxx is the vertical resolution, yyy is the temporal resolution, and 'i' says the image has been irremediably destroyed.
STaRGaZeR is offline   Reply With Quote
Old 4th September 2010, 15:35   #12314  |  Link
albain
Media Control author
 
Join Date: Dec 2006
Location: Paris
Posts: 1,014
Quote:
Originally Posted by XhmikosR View Post
All the samples play fine with the latest ffplay build so I cannot report anything to them. Only ffdshow has problems.
This is odd then, I'll check after this, maybe the ffmpeg cook decoder inside ffdshow is not up to date but I doubt it
albain is offline   Reply With Quote
Old 4th September 2010, 19:10   #12315  |  Link
clsid
Registered User
 
Join Date: Feb 2005
Posts: 4,624
The decoder code should be fully up-to-date. Perhaps it is a bug in the realmedia splitter?
clsid is offline   Reply With Quote
Old 4th September 2010, 22:28   #12316  |  Link
jhoff80
Registered User
 
Join Date: May 2004
Posts: 18
Can we please get a "Disable DXVA in SD" option like in MPC-HC? As mentioned a little ways back, my ATI HD4850 doesn't like SD content when using DXVA acceleration, and the output is very blocky. At the moment, I have to manually switch between DXVA enabled for h.264 and disabled when I switch between files, and since MPC-HC does this automatically, I'd love if the same worked for ffdshow.
jhoff80 is offline   Reply With Quote
Old 5th September 2010, 13:20   #12317  |  Link
clsid
Registered User
 
Join Date: Feb 2005
Posts: 4,624
Use the presets functionality.
clsid is offline   Reply With Quote
Old 5th September 2010, 15:27   #12318  |  Link
XhmikosR
Registered User
 
Join Date: Mar 2007
Location: Hellas (Greece)
Posts: 543
Quote:
Originally Posted by clsid View Post
The decoder code should be fully up-to-date. Perhaps it is a bug in the realmedia splitter?
It might be a bug in the MPC RealMediaSplitter indeed.
__________________
My Specs
XhmikosR is offline   Reply With Quote
Old 5th September 2010, 16:35   #12319  |  Link
jhoff80
Registered User
 
Join Date: May 2004
Posts: 18
Quote:
Originally Posted by clsid View Post
Use the presets functionality.
Wow, I can't believe I completely missed that before, thanks / sorry.
jhoff80 is offline   Reply With Quote
Old 7th September 2010, 06:40   #12320  |  Link
vince100
Registered User
 
Join Date: Jun 2007
Posts: 6
I was trying to play some TV recordings with cyberlink mpeg2 decoder and ffdshow as post-processor and VMR9 as renderer.

When used alone without ffdshow, the cyberlink mpeg2 decoder has the capability to decode closed captions and connect to a MS line 21 decoder for closed caption display.

When ffdshow is used, if the ffdshow internal mpeg2 codec was disabled, the video can be decoded by cyberlink codec (system-default) and post-processed. But closed captions would not display.

If I use ffdshow's internal mpeg2 decoder instead of commercial ones, closed captions can be displayed in ffdshow-style, but the video quality leaves a lot to be desired and cpu usage was too high.

Because closed captioning is essential for me, my question is:
Is there anyway to get closed captions displayed and also have the video decoded by a non-ffdshow mpeg2 decoder and post-processed by ffdshow's special filters?
What configuration is required in ffdshow and which player can implement this setup?


Thanks.

Last edited by vince100; 7th September 2010 at 06:57.
vince100 is offline   Reply With Quote
Reply

Tags
ffdshow, ffdshow tryouts, ffdshow-mt, ffplay, icl

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 12:39.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.