Log in

View Full Version : ffdshow tryouts project: Discussion & Development


Pages : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 [140] 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308

haruhiko_yamagata
25th March 2009, 12:24
I will send preset file now. I have the borders set to white so I can see what ffdshow is doing. In this case, there should be no white borders, but instead massive white borders are added at the top and bottom making the image squashed.
Thanks, I have reproduced.

haruhiko_yamagata
25th March 2009, 12:29
Thanks, here's another problematic sub (http://www.mediafire.com/download.php?zhmdmizlje2). It starts at 00:04 sec and subs will move incorrectly or overlap over each other.
\move(424,462,509,362,1057,1390)\t(1057,1390,\fscx80\fscy80)
\t is not implemented. It should get smaller while it is moving.
It is overlapped because the font is to big.

haruhiko_yamagata
25th March 2009, 12:34
Thanks a lot tal.aloni: now compilation is working (almost: only a problem with ff_vfw).
I'll look into how to use InnoSetup now for creating the install program.

In the end, I might not change/patch anything, but it will be my first compiled program!

Thanks haruhiko_yamagata... it's just a few minutes too late. :D
Looking at the wiki, I didn't download/install MinGW, but I had to download/install another program: yasm.exe.I have added yasm.
MinGW is required to compile libmplayer, libavcodec and some other dlls.

haruhiko_yamagata
25th March 2009, 12:37
Can you give me the access ?

Thanks
Please register yourself. Press Login and register.

e-t172
25th March 2009, 12:42
Just a small question to help me started: can I compile ffdshow with Visual C++ 2008 Express Edition, or do I need to find a full edition of Visual Studio 2008? Is this thread the best place to ask about how to compile ffdshow, or is there another place with help for that?

Using VC++ 2008 Express Edition I managed to build a ffdshow.ax which works flawlessly.

clsid
25th March 2009, 12:48
Do you know a way to contact Mike ? I have subscrbed to his mailing list but he rarely answers to it
Also it would be a good idea to implement such an option in gabest matroska splitter too ?

Thanks
Maybe BetaBoy knows how to contact him.

The Gabest splitters don't have a GUI with options, so adding a optional tweak would be more difficult. Also that Matroska splitter is inferior to Haali's so people should simply not use it (outside of MPC).

haruhiko_yamagata
25th March 2009, 13:05
Just back again to speak about aspect ratios. Definitely lots of problems relating to aspect ratio handling when resize is enabled. In my current config I can post a link to a file that shows the wrong aspect ratio.

http://www.dvdloc8.com/dolbydtsclip.php?clipid=3

This dtspiano.vob audio test which is 16:9 displays incorrect in the following setup.
Resize is not the problem. It's the stream that is wrong IMO. According to the decoders of ffdshow, the stream is 720x526, SAR 256/135, DAR 64/27.
The aspect ratio of MPEG-2 stream is quite unreliable according to FFmpeg. Currently there are two ways of calculating AR (see the code below).
If it is DVD, it is either 4:3 or 16:9. In that case, we can fix AR.
However, if it is a file, I don't know which way to choose.
Gurus of MPEG-2, please lead me to a correct fix.
//MPEG-2 aspect
if(s->aspect_ratio_info > 1){
//we ignore the spec here as reality does not match the spec, see for example
// res_change_ffmpeg_aspect.ts and sequence-display-aspect.mpg

/* ffdshow custom code - we do not want to ignore spec. Comment out "// 1".
DVD plays better. It breaks the playback of res_change_ffmpeg_aspect.ts though. */
if( (s1->pan_scan.width == 0 )||(s1->pan_scan.height == 0) /*|| 1*/){
AVRational r={s->width, s->height};
s->avctx->sample_aspect_ratio=
av_div_q(
ff_mpeg2_aspect[s->aspect_ratio_info],
r//(AVRational){s->width, s->height}
);
}else{
AVRational r={s1->pan_scan.width, s1->pan_scan.height};
s->avctx->sample_aspect_ratio=
av_div_q(
ff_mpeg2_aspect[s->aspect_ratio_info],
r//(AVRational){s1->pan_scan.width, s1->pan_scan.height}
);
}

haruhiko_yamagata
25th March 2009, 13:09
Using VC++ 2008 Express Edition I managed to build a ffdshow.ax which works flawlessly.
Great, I have updated the wiki.

albain
25th March 2009, 13:15
Maybe BetaBoy knows how to contact him.

The Gabest splitters don't have a GUI with options, so adding a optional tweak would be more difficult. Also that Matroska splitter is inferior to Haali's so people should simply not use it (outside of MPC).

Okay thanks, I have PM him.

mark0077
25th March 2009, 13:35
Resize is not the problem. It's the stream that is wrong IMO. According to the decoders of ffdshow, the stream is 720x526, SAR 256/135, DAR 64/27.
The aspect ratio of MPEG-2 stream is quite unreliable according to FFmpeg. Currently there are two ways of calculating AR (see the code below).
If it is DVD, it is either 4:3 or 16:9. In that case, we can fix AR.
However, if it is a file, I don't know which way to choose.
Gurus of MPEG-2, please lead me to a correct fix.

Hi thanks for looking into the issue. If it is the stream that is wrong, what about the DVD's like the Test DVD. It appears in the perfect aspect ratio when not using ffdshow resize. When resize is used, it is squashed horizontally.

haruhiko_yamagata
25th March 2009, 13:43
Hi thanks for looking into the issue. If it is the stream that is wrong, what about the DVD's like the Test DVD. It appears in the perfect aspect ratio when not using ffdshow resize. When resize is used, it is squashed horizontally.
In DVD applications, video renderer correct AR if resize is not used. Please use ffdshow beta6 + OSD (User:%outd %odim %oar).
If AR is wrong, menu does not work though.

mark0077
25th March 2009, 13:48
In DVD applications, video renderer correct AR if resize is not used. Please use ffdshow beta6 + OSD (User:%outd %odim %oar).
If AR is wrong, menu does not work though.

Do you need me to gather more info with beta 6 using DVD's that show the wrong aspect ratio? I am concerned because all display correctly without resize, many display incorrectly with resize.

haruhiko_yamagata
25th March 2009, 14:16
Do you need me to gather more info with beta 6 using DVD's that show the wrong aspect ratio? I am concerned because all display correctly without resize, many display incorrectly with resize.
I'm just explaining that DVD applications can show wrong AR correctly.

BetaBoy
25th March 2009, 15:28
Albain... thx for the detective work on the filter issue in WMP/MCE and Windows 7. I started a dedicated thread here on D9 ( http://forum.doom9.org/showthread.php?p=1265646 ) on what your initial findings were, so others could confirm if this is the case. If so... well... I'm speechless.

haruhiko_yamagata
25th March 2009, 15:55
Is video_format in MPEG-2 reliable?
video_format specifies component/PAL/NTSC/SECAM/MAC/...
If it is reliable,
if (video_format== PAL && width==768 && height==576){
// Force 4:3 or 16:9
}
if (video_format== NTSC && width==720 && height==480){
// Force 4:3 or 16:9
}is possible.

mark0077
25th March 2009, 16:18
Is video_format in MPEG-2 reliable?
video_format specifies component/PAL/NTSC/SECAM/MAC/...
If it is reliable,
if (video_format== PAL && width==768 && height==576){
// Force 4:3 or 16:9
}
if (video_format== NTSC && width==720 && height==480){
// Force 4:3 or 16:9
}is possible.

I suppose if it is possible to check what the renderer does to decide then you could use that as a starting point. I think I understand the problem now.

Amour
25th March 2009, 18:30
MinGW is required to compile libmplayer, libavcodec and some other dlls.

Ok, true, I was slow to notice some important missing files. I'll study how to compile them as well.

By the way, on the wiki, you write "Microsoft Platform SDK" (aka Microsoft Windows SDK). But are you sure it is required? I haven't installed it for building the vcproj.

clsid
25th March 2009, 18:41
The Platform SDK is not needed. Visual Studio comes with its own SDK.

fastplayer
25th March 2009, 19:30
albain, you've made it into the news section of heise.de! Congrats! :)
Heise is the German publisher of the very reputable PC magazine "c't".
Here's the link: Windows 7 blockiert Codecs von Drittanbietern (http://www.heise.de/newsticker/Windows-7-blockiert-Codecs-von-Drittanbietern--/meldung/135209)
I'l post a link to the English translation, once it gets available.

albain
25th March 2009, 19:39
Good news :)

The most buzz we make, easier it will be to make Microsoft change his mind

STaRGaZeR
25th March 2009, 21:04
Is there a faster way of compiling all the stuff that requires GCC (libavcodec, ffmpeg-mt, etc.) that manually going to the required folder in MSYS and running the makefile?

Thunderbolt8
25th March 2009, 21:08
I know why I stick to XP. vista and 7 just seem to be useless lulz.

clsid
25th March 2009, 21:24
Is there a faster way of compiling all the stuff that requires GCC (libavcodec, ffmpeg-mt, etc.) that manually going to the required folder in MSYS and running the makefile?
You don't need MSYS. You can also run "make" from the windows command prompt if you use my MinGW32 installer.

STaRGaZeR
25th March 2009, 21:42
Cool, it works just fine. BTW it's impossible to make ICL builds with VS2008 Express Edition if anyone is interested.

Amour
25th March 2009, 23:16
Good to know, Stargazer. :)

I haven't installed MinGW32 yet, and I am first trying with VS2008 to compile the projects. Unfortunatly, for the following file I get multiple errors:
\trunk\src\codecs\x264\common\macroblock.c

Here are the first errors (there are a few more similar):
.\common\macroblock.c(842) : error C2143: syntax error : missing ';' before 'type'
.\common\macroblock.c(843) : error C2143: syntax error : missing ';' before 'type'

And the related lines:
int buf_hpel = (h->param.i_width+48) * sizeof(int16_t);
int buf_ssim = h->param.analyse.b_ssim * 8 * (h->param.i_width/4+3) * sizeof(int);

Leak
25th March 2009, 23:32
I haven't installed MinGW32 yet, and I am first trying with VS2008 to compile the projects. Unfortunatly, for the following file I get multiple errors:
\trunk\src\codecs\x264\common\macroblock.c
I'm pretty sure that's because nobody has been using the ff_x264 solution that's been last touched about 900 revisions ago for a long time.

Compiling it with GCC works fine...

np: SCSI-9 - Vesna, Lastic & Elliott (Easy As Down)

haruhiko_yamagata
25th March 2009, 23:48
You don't need MSYS. You can also run "make" from the windows command prompt if you use my MinGW32 installer.
I use MSYS. Without MSYS, what do you use as an alternative of 'rm'.

mark0077
25th March 2009, 23:52
Hi, Just playing around with building ffdshow also. I can compile fine now but where can I find the command to create the installer so I can test any changes I may make.

Also thanks haruhiko for fixing 95% of my dvd menu problems. Only some slight delays now, mostly when using external mpeg2 decoder. But its still perfectly usable now.

jmartinr
26th March 2009, 00:39
Subtitle Problem.

I'm sorry to say that "horizontal position 7%" with "alignment left" doesn't work as expected in revision 2815. The alignment does not make any difference now. It did work in revision 2737.

Leak
26th March 2009, 00:40
Hi, Just playing around with building ffdshow also. I can compile fine now but where can I find the command to create the installer so I can test any changes I may make.

Also thanks haruhiko for fixing 95% of my dvd menu problems. Only some slight delays now, mostly when using external mpeg2 decoder. But its still perfectly usable now.
Install InnoSetup then open the ffdshow_installer.iss file in bin\distrib\InnoSetup with it, maybe update the version and date at the top and hit "Compile" and "Run"...

np: Sylvain Chauveau - Nuage III (Pop Ambient 2009)

STaRGaZeR
26th March 2009, 00:51
Good to know, Stargazer. :)

I haven't installed MinGW32 yet, and I am first trying with VS2008 to compile the projects. Unfortunatly, for the following file I get multiple errors:
\trunk\src\codecs\x264\common\macroblock.c

Here are the first errors (there are a few more similar):
.\common\macroblock.c(842) : error C2143: syntax error : missing ';' before 'type'
.\common\macroblock.c(843) : error C2143: syntax error : missing ';' before 'type'

And the related lines:
int buf_hpel = (h->param.i_width+48) * sizeof(int16_t);
int buf_ssim = h->param.analyse.b_ssim * 8 * (h->param.i_width/4+3) * sizeof(int);

Forget about VS2008 for the GCC stuff, just install clsid's MinGW32 installer and from the command prompt go to each project folder and run "make". You can cook a simple .cmd and compile everything by just double-clicking it. Using InnoSetup is trivial.

BTW developers, I've noticed that my build of rev2812 has different file sizes for almost all .dll's compared to clsid's, some are bigger and some are smaller, while working just fine. Any reason for this?

haruhiko_yamagata
26th March 2009, 12:01
Subtitle Problem.

I'm sorry to say that "horizontal position 7%" with "alignment left" doesn't work as expected in revision 2815. The alignment does not make any difference now. It did work in revision 2737.
I have fixed at rev 2816.

jmartinr
26th March 2009, 12:18
I have fixed at rev 2816.

:thanks:

clsid
26th March 2009, 12:46
I use MSYS. Without MSYS, what do you use as an alternative of 'rm'.
The "UnxUtils" item in my MinGW pack installs rm.exe to the bin dir, which can be called from the command prompt :)

BTW developers, I've noticed that my build of rev2812 has different file sizes for almost all .dll's compared to clsid's, some are bigger and some are smaller, while working just fine. Any reason for this?I use ICL for compiling a couple of files (libmad, libfaad, libdts, etc) so that should explain the difference in size.

haruhiko_yamagata
26th March 2009, 12:48
BTW developers, I've noticed that my build of rev2812 has different file sizes for almost all .dll's compared to clsid's, some are bigger and some are smaller, while working just fine. Any reason for this?
You don't have to worry about it as long as it is working fine. It depends on the version of libraries, hearer files and compilers. In this complicated project, it is hard to match all of them completely.

mark0077
26th March 2009, 15:39
BUG: I notice recently that my keyboard shortcut in ffdshow CTRL+ALT+D for enabling / disabling de-interlacing, now causes ffdshow and mpc-hc to crash. Crash doesn't happen when manually clicking de-interlacing on or off so I imagine the issue is with the shortcut somehow.

STaRGaZeR
26th March 2009, 19:38
OK, thanks. rev2812 ICL11 build: http://www.zshare.net/download/57712418624f949b/

After rev2812 compiling with ICL is not possible because it complaints about operand types being incompatible in files coming from the subtitle branch:

http://thumbnails12.imagebam.com/3088/6ee08d30874987.gif (http://www.imagebam.com/image/6ee08d30874987)

haruhiko_yamagata
27th March 2009, 10:15
BUG: I notice recently that my keyboard shortcut in ffdshow CTRL+ALT+D for enabling / disabling de-interlacing, now causes ffdshow and mpc-hc to crash. Crash doesn't happen when manually clicking de-interlacing on or off so I imagine the issue is with the shortcut somehow.
OK, it's a bug in short OSD. I'll fix this.

haruhiko_yamagata
27th March 2009, 10:18
OK, thanks. rev2812 ICL11 build: http://www.zshare.net/download/57712418624f949b/

After rev2812 compiling with ICL is not possible because it complaints about operand types being incompatible in files coming from the subtitle branch:

http://thumbnails12.imagebam.com/3088/6ee08d30874987.gif (http://www.imagebam.com/image/6ee08d30874987)

Please try this (http://www.nabble.com/BOOST_FOREACH-not-compiling-with-Multindex-containers,-Intel-Compiler-version-11-td20541659.html).
It's up to boost or Intel.

STaRGaZeR
27th March 2009, 14:51
Please try this (http://www.nabble.com/BOOST_FOREACH-not-compiling-with-Multindex-containers,-Intel-Compiler-version-11-td20541659.html).
It's up to boost or Intel.

Yes, ICL10.1 doesn't have the problem. I will use it for the time being. Thanks.

Amour
27th March 2009, 16:09
haruhiko_yamagata, could you allow registered users to create new pages on the wiki? Thanks.

ikarad
27th March 2009, 16:13
I would like to know if the bugs of ffdshow-Mt will be soon corrected or not because in my blu-ray there is lot of bugs?

haruhiko_yamagata
27th March 2009, 16:57
haruhiko_yamagata, could you allow registered users to create new pages on the wiki? Thanks.
OK, updated permission.

fastplayer
27th March 2009, 17:30
haruhiko_yamagata, could you allow registered users to create new pages on the wiki? Thanks.
Wiki is down for "maintenance". Try again in half an hour.

mark0077
27th March 2009, 18:10
Just did a re-install of vista 64 lastnight and was playing some 1080p vc-1 files. Installed ffdshow and decided to try its vc-1 libavcodec decoder again to see if I was getting the terrible frame rate.

Yes I still get the problem with build 2815. Its MUCH better when "Drop frame on delay" is disabled as before. I get no frame drops recorded in mpc-hc. I am only getting 18% cpu usage, almost identical to the mpc-hc decoder. The only difference is terrible performance, looks like 10fps instead of 24.

Anyone know what might be wrong with both
vc-1 terrible performance compared to mpc-hc decoder even though same cpu usage.
"Drop Frame On Delay" causing more slowness even though no frame drops recorded.

clsid
27th March 2009, 18:11
I would like to know if the bugs of ffdshow-Mt will be soon corrected or not because in my blu-ray there is lot of bugs?You would have to ask Mr VacBob, he is the developer of ffmpeg-mt.


@mark0077
Do you get the same problem if you play those files in GraphStudio or GraphEdit? Just to rule out MPC related issues.

mark0077
27th March 2009, 18:24
You would have to ask Mr VacBob, he is the developer of ffmpeg-mt.


@mark0077
Do you get the same problem if you play those files in GraphStudio or GraphEdit? Just to rule out MPC related issues.

Neither of those programs can connect to my remote graph, no graph appears.... I have tried mpc-hc beliyaals build and normal one, using ever and evr-cp.... Strange thing is the lack of reporting of dropped frames. I would say over half the frames are dropped but not being recorded.

EDIT: OK I tested with reclock on and off, no difference BUT I notice something in reclock that may indicate where the problem is. Decoding in mpc-hc, reclock says it finds the frame rate 23.97fps. But decoding using libavcodec or wmv9 decoders in ffdshow, reclock doesn't know the frame rate..... This may be something to do with the problem.... I don't know what though, do you think this is ffdshow or mpc-hc related?

clsid
27th March 2009, 18:46
I meant letting GraphStudio do the graph building and playback. So no use of MPC at all. Then you can also manually alter the filter chain, for example to remove reclock.

mark0077
27th March 2009, 18:55
I meant letting GraphStudio do the graph building and playback. So no use of MPC at all. Then you can also manually alter the filter chain, for example to remove reclock.

This might take a while, been ages since I played with graph editing, not sure what splitter to split a .ts file..... Can any of you test vc-1 internal decoders with mpc-hc?

ikarad
27th March 2009, 19:30
You would have to ask Mr VacBob, he is the developer of ffmpeg-mt.


.

Do you have e-mail of Mr VacBob?