Log in

View Full Version : LAV Filters - DirectShow Media Splitter and Decoders


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 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508

nevcairiel
10th April 2013, 16:53
Well, I guess implementing the thing on the first chapter shouldn't be too hard, but the display of the subtitles on the third chapter could be problematic. We basically have that problem already with seeking in files without chapters - if you seek into the middle of a subtitle, it won't be displayed because the splitter doesn't know about the line. Its packet is interleaved into an earlier time. The new Matroska features are supposed to fix that but LAV does not implement it - nor does any other program that I know of for that matter.

Indeed. I managed to fix the too long display pretty easily (easier then i thought it would be), however re-displaying it for the second part of Segment A is something for the future, and it will then only work if its muxed with a very recent version of mkvmerge.

nevcairiel
10th April 2013, 17:51
LAV Filters 0.56

General
- Major ffmpeg update, the DLLs have had their version number increased

LAV Splitter
- Support for Matroska Ordered Chaptes / Segment Linking
- Improved support for parsing language tags from OGM files
- Small performance improvements by avoiding copying the stream data in memory needlessly
- Improved duration calculation for MP3 files

LAV Video
- Performance improvements for single-threaded decoders and YADIF (up to 20% in some situations)


Download: Installer (both x86/x64) (http://files.1f0.de/lavf/LAVFilters-0.56.exe) -- Zips: 32-bit (http://files.1f0.de/lavf/LAVFilters-0.56.zip) & 64-bit (http://files.1f0.de/lavf/LAVFilters-0.56-x64.zip)

While it may not seem like it, there are actually two big things in this version (and many may only care about one).

Performance Improvements
The overall performance of demuxing and decoding was improved (depending on the use-case up to 20%!), thanks to what in Libav/FFmpeg is called "The Evil Plan". In short, it allows to properly handle the data (both packets from the splitter and decoded video/audio) much more flexible than i could before, which means now i can finally use the full power of LAVs thread design for more than just the wmv3 dmo decoder. This avoids copying the frames in memory, allows parallel processing, and especially when combined with YADIF (or any external post-processing filter), can result in huge performance gains. It also helped to simplify a lot of tricky situations, so all in all, well worth all the effort put in on FFmpeg/Libav's side.

Matroska Ordered Chapters / Linked Segments
This is probably the one much more exciting for you guys.
LAV can now handle Matroska's ordered chapters, linked segments, and linked files. If you don't know what that means, its like seamless branching for Matroska - if you haven't heard that either, well, in short, it allows multiple versions of one movie in one file, or splitting parts of the movie into separate files (so for example the opening of a TV show can be reused by all episodes, instead of being included in every one)

Please note that the same restrictions apply that also apply when using Haali Splitter for ordered chapters: The tracks between different segments need to match, or who knows what will happen! :)

Personally, i use it to archive Blu-rays with multiple editions on one disc, like Avatar.

There has already been a lot of testing of these features, thanks to everyone taking the time to test and report in great detail, and even craft samples to help me reproduce difficult cases.
Nevertheless, i don't expect it to be completely bug-free, so if you encounter any issues, crashes, or other undesirable behaviour, please report them here or on the Google Code issue tracker, preferably with a sample (or info how to get/make one) for me to reproduce the problem, and then fix it. :)

And one last point, before it comes up, there is one known issue which i didn't get to yet, but wanted this version out anyway:
Fraps decoding currently only outputs its "key" frames, the repeated frames are not output, which basically means Fraps can be a VFR stream, and not CFR like it was before. I do plan to fix this again, possibly for 0.56.1 already (if i don't have to make an emergency release), but for the time being, thats how it is.

Anyway, take care and have fun!

Sebastiii
10th April 2013, 18:05
Very Big thanks :)
Works really nice :)

Niyawa
10th April 2013, 18:21
You just made history nev. Thanks.

andyvt
10th April 2013, 18:27
LAV Filters 0.56
In short, it allows to properly handle the data (both packets from the splitter and decoded video/audio) much more flexible than i could before...

Are the changes to the Packet class an e.g. of this?

huhn
10th April 2013, 18:50
great news no need for haali anymore.
big thx!

DarkSpace
10th April 2013, 19:06
the display of the subtitles on the third chapter could be problematic. We basically have that problem already with seeking in files without chapters - if you seek into the middle of a subtitle, it won't be displayed because the splitter doesn't know about the line. Its packet is interleaved into an earlier time. The new Matroska features are supposed to fix that but LAV does not implement it - nor does any other program that I know of for that matter.
however re-displaying it for the second part of Segment A is something for the future, and it will then only work if its muxed with a very recent version of mkvmerge.
Okay, thanks for the explanation. I already suspected that these new elements may be required and that it might take some while for it to be implemented, but for now, that's good enough for me - after all, I still consider such files broken (at least if they were created before LAV gained Ordered Chapters support;))

Also, on the matter of the new release version: Thank you very much, and congratulations!

nevcairiel
10th April 2013, 19:10
Are the changes to the Packet class an e.g. of this?

Indeed, the Packet class now does reference counting on the data so that it can be safely passed around.

Niyawa
10th April 2013, 19:42
Okay restarted MPC-HC no drop, it was copy-back indeed. Now I restart and it drops again. I'm not sure why... heh I give up. nev there must be something wrong with LAV.

Reinstalled madVR and LAV all together, issue seems to be gone... maybe I messed up somewhere in the update. Sorry again.

@Devrim
Updated to latest lite just to test and no crash.

Devrim
10th April 2013, 19:47
LAV Filters 0.56 seems to crash my MPC-HC

MPC-HC (Lite) 1.6.7.7063, madVR v0.86.1, AC3 Filter v2.5b

Anyone else got the same problems?

Snowknight26
10th April 2013, 19:56
Now all you need to do, nev, is to gently persuade madshi to drop gdsmux from eac3to in favor of another muxing library so us plebs can ditch Haali's splitter altogether. ;)

I look forward to that Fraps bug being fixed.

bejita7
10th April 2013, 20:06
R.I.P. Haali Matroska Splitter

Thank you very much!

nevcairiel
10th April 2013, 20:21
LAV Filters 0.56 seems to crash my MPC-HC

When does it crash? When closing the file/player by any chance, or somewhere else?
Or maybe a MKV with Vorbis audio?

In any case, try with this?
http://files.1f0.de/lavf/LAVFilters-0.56-2-gfa767af.zip

It fixes one crash bug that i managed to reproduce myself sporadically when closing the player after playing with native DXVA2, and another one i got reported when playing certain Vorbis MKV files.

SamKook
10th April 2013, 21:45
I was wondering, did I screw something up when installing directly from the dev build you just posted or is it normal that the splitter tray icon doesn't let you select the tracks/editions when you right click it like haali does.

Pardon me if it has already been mentioned(I have to admit I didn't search the thread and haven't been following it for long), but it would be really nice if this was implemented(if it isn't already) in a future version since it's now my only reason to still use haali.

nevcairiel
10th April 2013, 21:46
This is not supported yet, its planned for a future version, though.
The tray icons would be rather pointless if all they do is exist. :p

Devrim
11th April 2013, 00:03
When does it crash? When closing the file/player by any chance, or somewhere else?
Or maybe a MKV with Vorbis audio?

In any case, try with this?
http://files.1f0.de/lavf/LAVFilters-0.56-2-gfa767af.zip

It fixes one crash bug that i managed to reproduce myself sporadically when closing the player after playing with native DXVA2, and another one i got reported when playing certain Vorbis MKV files.

Hi,

It crashes whenever I try to open a file. When it loads it crashes. It crashes with the "normal" LAV 0.56 and with your fixed LAV 0.56.

I tried 2 different files
1. MKV with AAC audio (720P)
Result: Crash while loading
2. MKV with MP2 Audio (576P)
Result: No crash

-edit-

Hmm, it only seems to crash on 1 file

Mediainfo of the file it crashes on



General
Unique ID : 225070625897904004580006034380923570318 (0xA953069AF3A191A691FD9D973473888E)
Format : Matroska
Format version : Version 4 / Version 2
File size : 614 MiB
Duration : 21mn 8s
Overall bit rate : 4 058 Kbps
Movie name : Tosh.0 - Web Redemption: BK Chicken Fries (S05E10)
Encoded date : UTC 2013-04-10 12:03:38
Writing application : mkvmerge v6.1.0 ('Old Devil') built on Mar 2 2013 14:32:37
Writing library : libebml v1.3.0 + libmatroska v1.4.0

Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : Main@L3.1
Format settings, CABAC : No
Format settings, ReFrames : 2 frames
Codec ID : V_MPEG4/ISO/AVC
Duration : 21mn 8s
Width : 960 pixels
Height : 718 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 29.970 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Title : Video
Language : English
Default : Yes
Forced : No
Color primaries : BT.709
Transfer characteristics : BT.709
Matrix coefficients : BT.709

Audio
ID : 2
Format : AAC
Format/Info : Advanced Audio Codec
Format profile : LC
Codec ID : A_AAC
Duration : 21mn 8s
Channel(s) : 2 channels
Channel positions : Front: L R
Sampling rate : 48.0 KHz
Compression mode : Lossy
Title : English Audio (AAC2.0)
Language : English
Default : Yes
Forced : No

Text
ID : 3
Format : UTF-8
Codec ID : S_TEXT/UTF8
Codec ID/Info : UTF-8 Plain Text
Title : CC
Language : English
Default : Yes
Forced : No



Weird

hubblec4
11th April 2013, 00:05
LAV Filters 0.56
[CODE]
....
LAV Splitter
- Support for Matroska Ordered Chaptes / Segment Linking
......
Anyway, take care and have fun!

wow, i cant believe it.

Thank you very much.

i will try it.

STaRGaZeR
11th April 2013, 00:58
nev, with 0.56 this sample is stuttering when a combination of avcodec+yadif is used, and disappears when you disable yadif or use DXVA. Didn't happen with 0.55.2, I don't have 0.55.3 to test.

File: http://www.mediafire.com/?41wnivhs55o6z0d
Shot of the issue: http://www.imagebam.com/image/8ac700248179570

nevcairiel
11th April 2013, 06:51
Hmm, it only seems to crash on 1 file


Can you maybe cut a small part from this file?
You can try using a simple splitter like DGSplit (http://neuron2.net/dgsplit/dgsplit12.zip), cut off the first 10mb or so, and test if the small file still crashes. With MKV that should usually work.

nevcairiel
11th April 2013, 07:17
nev, with 0.56 this sample is stuttering when a combination of avcodec+yadif is used, and disappears when you disable yadif or use DXVA. Didn't happen with 0.55.2, I don't have 0.55.3 to test.

Could this be a performance problem?
I see nothing obvious wrong in the timings or otherwise, but on my laptop i also see the spikes, even if it benchmarks with ~100fps on that sample with YADIF on.

Heck it even happens without YADIF on o.O

I have yet to compare to 0.55, though.

STaRGaZeR
11th April 2013, 11:48
Could this be a performance problem?
I see nothing obvious wrong in the timings or otherwise, but on my laptop i also see the spikes, even if it benchmarks with ~100fps on that sample with YADIF on.

Heck it even happens without YADIF on o.O

I have yet to compare to 0.55, though.

It certainly can be a performance problem, that was my first thought, but as it never happened before and in benchmarks it works fine (but slower than 55.2 here, 200 vs 211 fps, interesting) I started to look for other causes without success. It always fixes itself for me when I disable yadif or use DXVA on the ATI though.

BTW the source is BD.

Devrim
11th April 2013, 12:26
Can you maybe cut a small part from this file?
You can try using a simple splitter like DGSplit (http://neuron2.net/dgsplit/dgsplit12.zip), cut off the first 10mb or so, and test if the small file still crashes. With MKV that should usually work.

I did split the file and the split file did work, maybe the original file is corrupt, I will try to redownload the file and see if it crashes again

nevcairiel
11th April 2013, 12:33
It certainly can be a performance problem, that was my first thought, but as it never happened before and in benchmarks it works fine (but slower than 55.2 here, 200 vs 211 fps, interesting) I started to look for other causes without success. It always fixes itself for me when I disable yadif or use DXVA on the ATI though.

Try with this instead?
http://files.1f0.de/lavf/LAVFilters-0.56-3-g84019e5.zip

I changed something that was not really intentional to be activated for multi-threaded codecs, and may have a negative impact on performance for them, actually.

Devrim
11th April 2013, 14:09
I did split the file and the split file did work, maybe the original file is corrupt, I will try to redownload the file and see if it crashes again

I redownloaded the file and it kept crashing, I also downloaded the 1080P version of the same video and it also crashes. It seems the encoder of the file has done something to it that makes LAV+MPC-HC crash. When I split the file everything is fine.

andyvt
11th April 2013, 14:21
Indeed, the Packet class now does reference counting on the data so that it can be safely passed around.

Thanks. Will have a closer look at how it works.

itsonlyjustincase
11th April 2013, 16:28
CUVID decoding doesn't use the CUDA cores. It uses a separate decoder.

Oh i didn't know. I thought CUDA was a technology perfect for video encoding/decoding and thought CUVID was using it. Hope next Lav Filters will include CUDA usage

paradoxical
11th April 2013, 16:51
Oh i didn't know. I thought CUDA was a technology perfect for video encoding/decoding and thought CUVID was using it.

No, CUVID is simply an API to use the hardware decoder.

Hope next Lav Filters will include CUDA usage

For what exactly? Simply using CUDA does not make things faster.

itsonlyjustincase
11th April 2013, 17:05
No, CUVID is simply an API to use the hardware decoder.



For what exactly? Simply using CUDA does not make things faster.

Okay i thought it would :). I need something that permit me to play multiple H264 1080p vidz at the same time

kerimcem
11th April 2013, 17:07
my card ati3650 and mobillty ati 3450 lav dxva mode...both same..
are some of the green screen videos(wmv,vc1)
daum player dvxa mode+madvr no problem..works well....mpc,lav problem...
http://j1304.hizliresim.com/18/c/lzfg5.jpg

ile size : 300 MiB
Duration : 20mn 14s
Overall bit rate mode : Variable
Overall bit rate : 2 071 Kbps
Maximum Overall bit rate : 4 098 Kbps
Encoded date : UTC 2010-04-22 16:45:25.187

Video
ID : 2
Format : VC-1
Format profile : MP@HL
Codec ID : WMV3
Codec ID/Info : Windows Media Video 9
Codec ID/Hint : WMV3
Description of the codec : Windows Media Video 9 - Professional
Duration : 20mn 14s
Bit rate mode : Variable
Bit rate : 2 024 Kbps
Width : 960 pixels
Height : 540 pixels
Display aspect ratio : 16:9
Frame rate : 23.976 fps
Bit depth : 8 bits
Scan type : Progressive
Compression mode : Lossy
Bits/(Pixel*Frame) : 0.163
Stream size : 293 MiB (98%)

Audio
ID : 1
Format : WMA
Format version : Version 2
Codec ID : 161
Codec ID/Info : Windows Media Audio
Description of the codec : Windows Media Audio 9.2 - 32 kbps, 32 kHz, stereo 2-pass CBR
Duration : 20mn 14s
Bit rate mode : Constant
Bit rate : 32.0 Kbps
Channel(s) : 2 channels
Sampling rate : 32.0 KHz
Bit depth : 16 bits
Stream size : 4.63 MiB (2%)

paradoxical
11th April 2013, 17:08
Okay i thought it would :). I need something that permit me to play multiple H264 1080p vidz at the same time

If your system can't currently do it it means you need to upgrade it. My GPU can playback multiple 1080p videos just fine as I've previously told you when you brought this up. If yours can't then you've hit the limitations of your hardware's performance. "Using CUDA" is not going to mystically solve your problem.

yok833
11th April 2013, 17:45
Is there a real difference of picture quality between cuvid and hardware decoding? I m thinking about changing my ATI hd 6850 for a GTX 660 dc2...

paradoxical
11th April 2013, 17:58
Is there a real difference of picture quality between cuvid and hardware decoding? I m thinking about changing my ATI hd 6850 for a GTX 660 dc2...

CUVID is hardware decoding...

STaRGaZeR
11th April 2013, 19:08
Try with this instead?
http://files.1f0.de/lavf/LAVFilters-0.56-3-g84019e5.zip

I changed something that was not really intentional to be activated for multi-threaded codecs, and may have a negative impact on performance for them, actually.

This one seems to work fine, however perfomance has decreased even more, CPU usage is lower:

0.55.2 ----------- 210fps 75-80% No stuttering
0.56 ------------- 200fps 75-80% Stuttering
This test build ---- 170fps 60-65% No stuttering

Reino
11th April 2013, 20:14
And I don't know what FFDShow's PC.709-->Rec601 conversion is based on, but since ffmpeg can do PC.709-->Rec601 conversions now (-pix_fmt yuv420p -vf colormatrix=bt709:bt601), is it possible to integrate it into LAV Filters? LAV Filters is based on ffmpeg, right?

If Fraps encoded YV12 is always in the same matrix, i can also hardcode that value somewhere.Any update on this one?
FPS1(yuvj420p) is always Full-range Rec.709 and needs to be TV-range Rec.601. Is it possible to integrate ffmpeg's PC.709-->Rec601 conversion method into LAV Filters and apply it on FPS1(yuvj420p) files only?

nevcairiel
11th April 2013, 22:50
This one seems to work fine, however perfomance has decreased even more, CPU usage is lower:

0.55.2 ----------- 210fps 75-80% No stuttering
0.56 ------------- 200fps 75-80% Stuttering
This test build ---- 170fps 60-65% No stuttering

I can reproduce this with YADIF.

Can you confirm that without YADIF (pure decoding) the speed is the same between all the versions, if not slightly faster with 0.56?

I'm trying to figure out why YADIF is having performance issues now, my initial testing of course was with the 0.56 version, which did cause the smoothness issues you saw, but it should at least be at 0.55 levels with that turned off again, oh well, something to dig.
Wonder if maybe YADIF itself has suffered a bit of a slow-down recently, which was masked by aggressive multithreading, and if that slow-down was at a certain point, i would've tested my changes against that (after updating ffmpeg, before updating my code, and after updating my code, but same ffmpeg)

Also, here is another test, which seems smooth to me and restores a tiny bit of the performance at least:
http://files.1f0.de/lavf/LAVFilters-0.56-mtdecode-test.zip

If it works properly, it means i can also remove some complexity from the decoder (which may have improved performance in benchmarks, but in real world just caused jittery playback, apparently)
Still looking for the big performance difference, but not today anymore.

Asmodian
11th April 2013, 22:59
Any update on this one?
FPS1(yuvj420p) is always Full-range Rec.709 and needs to be TV-range Rec.601. Is it possible to integrate ffmpeg's PC.709-->Rec601 conversion method into LAV Filters and apply it on FPS1(yuvj420p) files only?

I might be missing something but why does FPS1(yuvj420p) need to be TV-range Rec.601, wouldn't TV-range Rec.709 be good? Rec.709 vs Rec.601 would be in the resolution, which I would hope is usually >=720p?

Either outputting RGB from LAV or letting LAV tell MadVR "this video is Full-range Rec.709" seems like the correct solution for fraps.

I have no plans to add code to change the YUV color matrix. Its not something a decoder should be doing.

Aleksoid1978
12th April 2013, 00:28
Hi nevcairiel

There is issue in LAV Video(DXVA native) + LAV Splitter + ATI on H.264 interlaced material. After seek - image corrupted, crumbles & twitches. Microsoft or Cyberlink decoder do not have this issue. MPC DXVA Decoder also have this bug.
If instead LAV Splitter select internal MPC MPEG splitter - LAV Video decode ok after seek.

I found the reason for this behavior - when use MPC MPEGSplitter in
HRESULT CLAVVideo::Receive(IMediaSample *pIn)
after seek triggered a check:

AM_MEDIA_TYPE *pmt = NULL;
if (SUCCEEDED(pIn->GetMediaType(&pmt)) && pmt) {
CMediaType mt = *pmt;
DeleteMediaType(pmt);
if (mt != m_pInput->CurrentMediaType() || !(m_dwDecodeFlags & LAV_VIDEO_DEC_FLAG_DVD)) {
DbgLog((LOG_TRACE, 10, L"::Receive(): Input sample contained media type, dynamic format change..."));
m_Decoder.EndOfStream();
hr = m_pInput->SetMediaType(&mt);
if (FAILED(hr)) {
DbgLog((LOG_ERROR, 10, L"::Receive(): Setting new media type failed..."));
return hr;
}
}
}

and you recreate decoder.

Recreate decoder avoids all these problems after seeking.

There is some short sample - http://aleksoid.voserver.net/Sample/H264/Interlace/

Screen:
http://s12.postimg.org/6nl2p8k5l/image.jpg (http://postimg.org/image/6nl2p8k5l/)

http://s22.postimg.org/53g25c2al/image.jpg (http://postimg.org/image/53g25c2al/)

Aleksoid1978
12th April 2013, 07:28
Another issue - LAV Splitter can't correct change different video track. The problem is that - after select new video track LAV Splitter do not send new media type to the decoder.

Here is a sample, that contain 2 video stream - AVC/MPEG2
http://aleksoid.voserver.net/Sample/Mix/AVC_MPEG_MIX.m2ts

nevcairiel
12th April 2013, 08:25
Another issue - LAV Splitter can't correct change different video track. The problem is that - after select new video track LAV Splitter do not send new media type to the decoder.

It actually does send a new media type, but there was a bug that caused its internal H264 parser to not be turned off, and parsing MPEG2 as H264 ... doesn't work so well.

It'll be fixed in the next version, thanks for reporting.

Aleksoid1978
12th April 2013, 10:26
It actually does send a new media type, but there was a bug that caused its internal H264 parser to not be turned off, and parsing MPEG2 as H264 ... doesn't work so well.

It'll be fixed in the next version, thanks for reporting.

Thanks :)

What you think about this bug

LAV Video(DXVA native) + LAV Splitter + ATI on H.264 interlaced material

nevcairiel
12th April 2013, 10:32
I don't have a ATI system right now, need to setup test system with my ATI card first to check.
But i would think that someone would've reported it before if it was a generic issue? Maybe driver related?

Qaq
12th April 2013, 10:46
I can't confirm any bugs with ATI, LAV/DXVA N and H.264 interlaced.
Aleksoid, what exactly you are talking about?

Nev, thanks for the new version. So far, so good.

kerimcem
12th April 2013, 10:50
my card ati3650 and mobillty ati 3450 lav dxva mode...both same..
are some of the green screen videos(wmv,vc1)
daum player dvxa mode+madvr no problem..works well....mpc,lav problem...
http://j1304.hizliresim.com/18/c/lzfg5.jpg

this bug? pot player(internal codec) dxva mode no problem works well...lav and mpc problem damaged :(

nevcairiel
12th April 2013, 11:05
this bug? pot player(internal codec) dxva mode no problem works well...lav and mpc problem damaged :(

I don't have such ancient ATI hardware, and no way to get any, so i don't really expect much progress here.

Aleksoid1978
12th April 2013, 11:06
I can't confirm any bugs with ATI, LAV/DXVA N and H.264 interlaced.
Aleksoid, what exactly you are talking about?


http://forum.doom9.org/showpost.php?p=1623766&postcount=14764http://forum.doom9.org/showpost.php?p=1623766&postcount=14764

it's bug present on different ATI card and different drivers.

Snowknight26
12th April 2013, 14:04
I can confirm that issue using one of the samples Aleksoid provided on a Radeon HD 6870.

nevcairiel
12th April 2013, 19:38
There is issue in LAV Video(DXVA native) + LAV Splitter + ATI on H.264 interlaced material. After seek - image corrupted, crumbles & twitches.
I can confirm that issue using one of the samples Aleksoid provided on a Radeon HD 6870.

Does this version help? I've not setup my ATI card yet, but maybe this already does it.
http://files.1f0.de/lavf/LAVFilters-0.56-9-g4cd6666.zip

Konrad Klar
12th April 2013, 19:49
From quite different barrel:
I have Geforce GTX 560. CUVID MPEG-4 does not decode properly XVIDs encoded with GMC, 2 Warppoints (not tested GMC, 1 Warppoint).
Would it be possible to make a compatibility check and fallback to software decoding in case of GMC MPEG-4 ASP?

nevcairiel
12th April 2013, 19:50
I have Geforce GTX 560. CUVID MPEG-4 does not decode properly XVIDs encoded with GMC, 2 Warppoints (not tested GMC, 1 Warppoint).
Would it be possible to make a compatibility check and fallback to software decoding in case of GMC MPEG-4 ASP?

Possible? Maybe, but mpeg4-asp is not a high priority, especially concerning GMC, which is extremely rare.
Personally i would simply advice to use software decoding for MPEG-4 ASP, but i'll put it on the list to add such a check. A sample file would help so i have something to check against.

STaRGaZeR
12th April 2013, 21:17
i can reproduce this with yadif.

Can you confirm that without yadif (pure decoding) the speed is the same between all the versions, if not slightly faster with 0.56?

I'm trying to figure out why yadif is having performance issues now, my initial testing of course was with the 0.56 version, which did cause the smoothness issues you saw, but it should at least be at 0.55 levels with that turned off again, oh well, something to dig.
Wonder if maybe yadif itself has suffered a bit of a slow-down recently, which was masked by aggressive multithreading, and if that slow-down was at a certain point, i would've tested my changes against that (after updating ffmpeg, before updating my code, and after updating my code, but same ffmpeg)

also, here is another test, which seems smooth to me and restores a tiny bit of the performance at least:
http://files.1f0.de/lavf/lavfilters-0.56-mtdecode-test.zip

if it works properly, it means i can also remove some complexity from the decoder (which may have improved performance in benchmarks, but in real world just caused jittery playback, apparently)
still looking for the big performance difference, but not today anymore.

Since the link is down I used the last build you posted, here are the results:

Pure software decoding:

0.55.2 --------------- 201fps
0.56 ----------------- 205fps
Previous test build ---- 205fps
This test build -------- 205fps

With software+yadif:

0.55.2 --------------- 210fps 75-80% No stuttering
0.56 ----------------- 200fps 75-80% Stuttering
Previous test build ---- 170fps 60-65% No stuttering
This test build -------- 185fps 65-70% No stuttering

Stuttering is fixed and perfomance is up a bit indeed, still not the same levels as before but at least it doesn't stutter. The question about the performance drop still remains though :D