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

DragonQ
7th March 2012, 15:59
You desire the best image quality, yet you use VMR9? :p

nevcairiel
7th March 2012, 16:04
Source Filter = File (Async) ALWAYS :)

But regardless of the container (Matroska, AVI, ASF, TS) and/of the splitter used,
it seems the DMO-wrapper doesn't like
** VC-1 with non-aquare pixels ** http://forum.doom9.org/images/icons/icon3.gif

And the samples have always been in the same well-known place :p

https://skydrive.live.com/#cid=5ACF098E0EBAE8D5&id=5ACF098E0EBAE8D5!126

I tested all those samples, and they all play just fine.
I'll try to test on XP later, maybe it behaves differently there.

Looks like it needs WMP11 to function though, and my XP testing VM doesn't have it yet ...

Edit:
Nope, plays fine on XP too.

PS:
For a decoder, there really is no big difference between square or non-square pixels, the aspect ratio is applied after decoding by the renderer.

pururin
7th March 2012, 20:41
Thx for the new version. Testing now :)

aufkrawall
7th March 2012, 22:54
I'm not sure if I'd post the following in the AviSynth section, but I try it here first. :)
Using LAV Video Decoder via DirectShowSource works, but it doesn't use the GPU to decode, deinterlacing doesn't work neither. :(
CUVID is chosen as a decoder and it works when I play the file with MPC HC. With it also deinterlacing works (set to forced and enabled for every frame).

Can anyone tell me what to do to make AviSynth use CUVID decoding and HQ deinterlacing (60p)?

Midzuki
8th March 2012, 00:34
PS:
For a decoder, there really is no big difference between square or non-square pixels, the aspect ratio is applied after decoding by the renderer.

Regardless of the statement above, the VC-1 DMO-wrapper of LAV Video skrewz Graphstudio and WMP and MPC-HC on my XP machine :confused: :confused: :confused:

And considering ffdshow does not have this crash problem since r3978,
it's difficult to blame my pesky video card this time ;)

red5goahead
8th March 2012, 01:12
I wrote the Delphi translation of LAVVideoSettings.h.
If someone will be interested about I'll work on other H files. So far I need the interfaces for the video codec only.

Snowknight26
8th March 2012, 03:25
Just to resuggest, any chance of falling back to software decoding instead of native DXVA (when selected) for 1080p60 content on AMD cards? I've tested 5 different systems with different configurations (4850, 2x4870, 5850, 5950 and 6870 - drivers range from 11.9 to 12.2) and all of them exhibit the same behavior:

http://stfcc.org/pics/i/9e40e44b9b93e5647b2b177d729ebcf3_th.jpg (http://stfcc.org/pics/i/9e40e44b9b93e5647b2b177d729ebcf3.png)

The GPU can't handle it and the Windows GUI becomes unresponsive. Similarly, I tested a few Intel IGPs at work and they had showed the same behavior. I'll get back to you on the model number when I can.

aufkrawall
8th March 2012, 09:14
I've tested 5 different systems with different configurations (4850, 2x4870, 5850, 5950 and 6870 - drivers range from 11.9 to 12.2) and all of them exhibit the same behavior

I tested a few Intel IGPs at work and they had showed the same behavior. I'll get back to you on the model number when I can.
I think it's rather the fault of the graphics vendors.
If their hardware/driver combo can't deal with 60 fps, they shouldn't offer DXVA for it.

No problems with SB IGP or Radeon 7xxx. :)

nevcairiel
8th March 2012, 09:16
DXVA2 Native plays 60p content just fine on my Radeon 5670, with 11.12 i think. DXVA2 Copy Back is too slow, however.

Regardless of the statement above, the VC-1 DMO-wrapper of LAV Video skrewz Graphstudio and WMP and MPC-HC on my XP machine :confused: :confused: :confused:

And considering ffdshow does not have this crash problem since r3978,
it's difficult to blame my pesky video card this time ;)

Did you play the elementaries or the mkvs?
I found some odd problem with the elementarie files, but the mkvs all play fine so far. Still one thing to test, but it'll take a while.

Edit:
Found the reason for the crash. Its quite interesting that it didn't crash on Win7 for me before. o.O

I'll post a new build later.

asasadad_1
8th March 2012, 14:08
hi,nev
here (http://www.mediafire.com/?n0osi3hkaepbmla) is a mkv sample.
lav splitter+lav decoder,audio bad.
gabest mkv splitter+lav decoder,audio good.
halli splitter+lav decoder ,audio good.

BeNooL
8th March 2012, 16:05
Nev, would it be possible to get Teletext subtitle support (in .ts stream)?
VLC handles them but it is VLC...
Here is what is looks like: http://imgur.com/a/ZSRec

and here is a sample (32Mb) http://www.mediafire.com/?231beybf2cbzwmm

nevcairiel
8th March 2012, 16:33
The CodecPrivate element contains a copy of the full RMVB audio property structure (e.g. real_audio_v5_props_t, see https://github.com/mbunkus/mkvtoolnix/blob/master/lib/librmff/librmff.h ) That structure contains certain common header fields for all of RealAudio's codec types, and it can also be followed by a codec-specific initialization data set. This is also part of Matroska's CodecPrivate element.

@Mosu:

I think it should continue to function like this.
If libavformats demuxer is not handling this well, this is a bug and should be fixed. Its own matroska muxer doesn't write files that its own demuxer can process, so i consider that just broken and not to worry about it.

Doing some thinking, the full RealAudio header in the CodecPrivate is really the only way to handle this, because it does contain crucial information that is otherwise not available (for example, which deinterleaving algorithm to use). Not supplying the full block would basically mean the muxer would need to get rid of the interleaving, and i'm not sure thats something you would want to implement.

Sticking to the "old way" should also work with other popular demuxers (at least in the DirectShow world) like Haali or Gabest/MPC-HC.
I'll modify my demuxer to not do a any parsing and just output the CodecPrivate as-is, leaving it to the decoder to figure it out.

The beauty of that concept is that my demuxer/decoder combination could even process files written by avformats muxer. :)

@asasadad_1:
This will then also fix the sample you posted.

nevcairiel
8th March 2012, 17:11
Here is a new test build with a crash issue in the WMV9 decoder fixed and some other improvements:

http://files.1f0.de/lavf/LAVFilters-0.48-51-gb6bd197.zip

@Midzuki:
Try this version again. Should work fine now, hopefully. :rolleyes:

RNiK
8th March 2012, 17:22
You desire the best image quality, yet you use VMR9? :p
http://forum.doom9.org/showthread.php?p=1563781#post1563781

CharlieCL
8th March 2012, 17:34
I want to set DXVA2 Native as default settings how can I do that in C or setup by program?

Midzuki
8th March 2012, 17:49
Here is a new test build with a crash issue in the WMV9 decoder fixed and some other improvements:

http://files.1f0.de/lavf/LAVFilters-0.48-51-gb6bd197.zip

@Midzuki:
Try this version again. Should work fine now, hopefully. :rolleyes:

YesS$, this 0.49-pre-alpha :p build does not crash the players anymore :cool:

:thanks: :thanks: :thanks:

noee
8th March 2012, 19:36
I want to set DXVA2 Native as default settings how can I do that in C or setup by program?

Pretty straight-forward...

LAV Dev Info (http://code.google.com/p/lavfilters/source/browse/#git%2Fdeveloper_info)

pururin
8th March 2012, 19:42
YesS$, this 0.49-pre-alpha :p

0.48999... :D
Non issue so far for me.

LordX2
8th March 2012, 19:47
Hey guys - I use MPC-HC, FFDshow, and MadVR.

Using FFD Audio - I stream AC3 and DTS to my receiver via Optical.

What are the benefits to using LAV filters on top of what I am already using??

manma
8th March 2012, 19:49
This might be a stupid question, but I'm having a hard time getting the latest version of lav audio to get used by MPC-HC for ac3 audio. It seems to happen when bitstreaming is enabled. I don't remember this behavior in older versions, but that may have just been an oversight. Is this a bug or am I miss understanding something?

nevcairiel
8th March 2012, 19:52
This might be a stupid question, but I'm having a hard time getting the latest version of lav audio to get used by MPC-HC for ac3 audio. It seems to happen when bitstreaming is enabled. I don't remember this behavior in older versions, but that may have just been an oversight. Is this a bug or am I miss understanding something?

That usually means your audio renderer didn't accept the bistreaming format.
Make sure in the windows control panel under audio that your audio devices really are configured for bitstreaming (on SPDIF, you need to turn it explicitly on there)

Motenai Yoda
8th March 2012, 19:53
sorry but why lavfilters still don't support ffvhuff ???

manma
8th March 2012, 20:22
That usually means your audio renderer didn't accept the bistreaming format.
Make sure in the windows control panel under audio that your audio devices really are configured for bitstreaming (on SPDIF, you need to turn it explicitly on there)

Interesting. Anyways, that makes perfect sense now that I think about it. Is there any way to have lav audio turn off bitstreaming when my audio renderer won't accept it? I only need it when my laptop is plugged into my receiver anyways. I don't have any use for it when I'm using headphones or built in speakers (bleh).

nevcairiel
8th March 2012, 20:22
Interesting. Anyways, that makes perfect sense now that I think about it. Is there any way to have lav audio turn off bitstreaming when my audio renderer won't accept it? I only need it when my laptop is plugged into my receiver anyways. I don't have any use for it when I'm using headphones or built in speakers (bleh).

Its on the list of things to add, but not right now, no.

manma
8th March 2012, 20:26
Its on the list of things to add, but not right now, no.

The fact that my problem is even being acknowledged as legitimate is enough for me. Thanks for the hard work!

DragonQ
8th March 2012, 20:36
How does one know if LAV Splitter is being used? I have it set to "prefer" in MPC-HC but it's never in the filter list.

zero9999
8th March 2012, 21:14
How does one know if LAV Splitter is being used? I have it set to "prefer" in MPC-HC but it's never in the filter list.

It's not being displayed as "LAV Splitter" in the filters context menu, but as the full path of the file currently being played. Once you hit "Properties..." in its Submenu, the LAV Splitter properties should pop up.

DragonQ
8th March 2012, 21:31
Ah yes, thank you.

Snowknight26
9th March 2012, 00:51
DXVA2 Native plays 60p content just fine on my Radeon 5670, with 11.12 i think. DXVA2 Copy Back is too slow, however.


Even this (http://stfcc.org/misc/1080p60_H.264.mkv) sample (in native mode)? I know the GPUs can handle 1080i60, but I'm still dubious.

LordX2
9th March 2012, 01:43
So can anyone explain to me what LAV filters actually DO? And why they are superior to simply using FFDSHOW?

dukey
9th March 2012, 02:25
Well, FFDShow and LAV are based off of similar code bases, namely the work of ffmpeg. FFDshow has a lot of image processing functions and post processing filters etc, whilst LAV just focuses on decoding. FFDshow has subtitle decoding, LAV does not. LAV currently is probably more stable than FFDshow.

Snowknight26
9th March 2012, 02:32
Seeking in this (http://stfcc.org/misc/lavfilters_seek_corruption.vp6) sample causes corruption.

asasadad_1
9th March 2012, 02:35
@Mosu:

I think it should continue to function like this.
If libavformats demuxer is not handling this well, this is a bug and should be fixed. Its own matroska muxer doesn't write files that its own demuxer can process, so i consider that just broken and not to worry about it.

Doing some thinking, the full RealAudio header in the CodecPrivate is really the only way to handle this, because it does contain crucial information that is otherwise not available (for example, which deinterleaving algorithm to use). Not supplying the full block would basically mean the muxer would need to get rid of the interleaving, and i'm not sure thats something you would want to implement.

Sticking to the "old way" should also work with other popular demuxers (at least in the DirectShow world) like Haali or Gabest/MPC-HC.
I'll modify my demuxer to not do a any parsing and just output the CodecPrivate as-is, leaving it to the decoder to figure it out.

The beauty of that concept is that my demuxer/decoder combination could even process files written by avformats muxer. :)

@asasadad_1:
This will then also fix the sample you posted.

fixed, :thanks:

Pat357
9th March 2012, 03:53
Nev,

I found some files that cause problems :

1. The 2 short wav's don't give any sound when Lav-splitter + Lav-audio are used.
I'm very sure this files used to work (you fixed that, IIRC).
These WAV's Play file with FFplay, Mplayer2, Foobar, and in MPC w FFDshow.
Also, the wav's used to "loop" in MPC, this doesn't seem to work anymore.

2. The .TS file makes MPC-HC crash with lavsplitter-Lavvideo
If I just change the splitter (MPC-buildin) it plays fine.
Also plays fine with FFplay/Mplayer2.

http://www.mediafire.com/?nsq1wvwhdfav4vr

CharlieCL
9th March 2012, 04:03
This .m2ts file can not displayed correctly with LAV Video installed only. But after installed FFDShow there is no problem.
Below is the data info


General
ID : 1 (0x1)
Complete name : C:\Users\Public\Videos\Channel-002\_tsMuxeR__Wanted.2008.Blu-ray.REMUX.H264.1080P.DTS-HD.TSSplit.m2ts
Format : BDAV
Format/Info : Blu-ray Video
File size : 102 MiB
Duration : 33s 158ms
Overall bit rate : 25.7 Mbps
Maximum Overall bit rate : 35.5 Mbps

Video
ID : 4113 (0x1011)
Menu ID : 1 (0x1)
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L4.1
Format settings, CABAC : Yes
Format settings, ReFrames : 4 frames
Format settings, GOP : M=2, N=26
Codec ID : 27
Duration : 32s 616ms
Bit rate mode : Variable
Bit rate : 20.7 Mbps
Maximum bit rate : 32.3 Mbps
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate : 23.976 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.417
Stream size : 80.7 MiB (79%)
Color primaries : BT.709-5, BT.1361, IEC 61966-2-4, SMPTE RP177
Transfer characteristics : BT.709-5, BT.1361
Matrix coefficients : BT.709-5, BT.1361, IEC 61966-2-4 709, SMPTE RP177

Audio
ID : 4352 (0x1100)
Menu ID : 1 (0x1)
Format : DTS
Format/Info : Digital Theater Systems
Format profile : MA / Core
Muxing mode : Stream extension
Codec ID : 134
Duration : 32s 853ms
Bit rate mode : Variable
Bit rate : 3 937 Kbps / 1 510 Kbps
Channel(s) : 6 channels
Channel positions : Front: L C R, Side: L R, LFE
Sampling rate : 48.0 KHz
Bit depth : 24 bits
Compression mode : Lossless / Lossy
Delay relative to video : 3ms
Language : English

nevcairiel
9th March 2012, 07:30
This .m2ts file can not displayed correctly with LAV Video installed only. But after installed FFDShow there is no problem.
Below is the data info

Without a sample file, i cannot do a thing.

Also:
- What does "not displayed correctly" mean?
- Which decoder in LAV Video are you trying to use? Software? Hardware (and which)?

nevcairiel
9th March 2012, 07:54
1. The 2 short wav's don't give any sound when Lav-splitter + Lav-audio are used.
I'm very sure this files used to work (you fixed that, IIRC).
These WAV's Play file with FFplay, Mplayer2, Foobar, and in MPC w FFDshow.
Also, the wav's used to "loop" in MPC, this doesn't seem to work anymore.

Should be fixed again in the future.


2. The .TS file makes MPC-HC crash with lavsplitter-Lavvideo
If I just change the splitter (MPC-buildin) it plays fine.
Also plays fine with FFplay/Mplayer2.

http://www.mediafire.com/?nsq1wvwhdfav4vr

I cannot reproduce any issues with that file. In fact, i tested with that file a lot of the last time because it had a decoding bug with DXVA2 (fixed by now). Funny how the same files always pop up again. :p
Did you try with the latest test version or 0.48 release? Try the test version if you didn't, thats what i'm working against.

Edit:
Now that i think about it, it seems related to the subtitles. MPC-HCs DVB Subtitle decoder is fairly buggy and crashes alot. If you have LAV configured for english subtitles, it'll enable them by default, causing a crash in MPC-HC.

wanezhiling
9th March 2012, 13:07
http://forums.nvidia.com/index.php?showtopic=224587
Forceware 296.17 for win8 CP, did anyone test it ? cuvid decoding available?:)

aufkrawall
9th March 2012, 14:37
http://forums.nvidia.com/index.php?showtopic=224587
Forceware 296.17 for win8 CP, did anyone test it ? cuvid decoding available?:)
CUVID works (why shouldn't it?), but MPEG-4 ASP is still partially broken.
Maybe the goal was just to have a new driver with WDDM 1.2 support.

wanezhiling
9th March 2012, 16:12
CUVID works (why shouldn't it?), but MPEG-4 ASP is still partially broken.
Maybe the goal was just to have a new driver with WDDM 1.2 support.

Well, you can make LAV CUVID active on win8 CP with 295.73 or previous drivers?

aufkrawall
9th March 2012, 16:22
Well, you can make LAV CUVID active on win8 CP with 295.73 or previous drivers?
I don't know, I just installed the driver on Windows 7.
So, CUVID doesn't work with 295.73 on Windows 8?

wanezhiling
9th March 2012, 16:39
http://forum.doom9.org/showpost.php?p=1562314&postcount=9556
:)

mastan
9th March 2012, 16:46
I don't know, I just installed the driver in Windows 7.
So, CUVID doesn't work with 295.73 on Windows 8?

No.
GPU-Z shows that only DirectCompute 5.0 is available.

wanezhiling
9th March 2012, 18:45
nev, LAV SW decoder and CUVID decoder(HQP unchecked) use the same deinterlacer(renderer deinterlacing)?

nevcairiel
9th March 2012, 18:51
nev, LAV SW decoder and CUVID decoder(HQP unchecked) use the same deinterlacer(renderer deinterlacing)?

The renderer probably always does the same as with High Quality processing enabled.

wanezhiling
9th March 2012, 19:07
I see, thanks.

How to make madVR take over the deinterlacing work in CUVID mode?

Pat357
9th March 2012, 19:53
I see, thanks.

How to make madVR take over the deinterlacing work in CUVID mode?
Just disable all interlacing in Lav-video : set the algorithm on "none (Weave)".
MadVR will now see an interlaced stream and should start it's internal interlacing.

Nev,
Can you explain the impact of the 3 options related to interlacing in Lav-video if I use MadVR ?

What does "force deinterlace" do when using madVR ?
The same question for "aggressive deinterlacing" and "tread as progessive"
It's currently very unclear to me how these options go along with MadVR's internal logic and the Madvr options to change deinterlacing behavior.

nevcairiel
9th March 2012, 19:55
Nev,
Can you explain the impact of the 3 options related to interlacing in Lav-video if I use MadVR ?

What does "force deinterlace" do when using madVR ?
The same question for "aggressive deinterlacing" and "tread as progessive"
It's currently very unclear to me how these options go along with MadVR's internal logic and the Madvr options to change deinterlacing behavior.

madVR seems to generally not trust what decoders say (apparently having access to the full encoded bitstream doesn't mean much), so those options will most likely not do anything with it.
You should rather ask madshi about those things. I know what they do, and you can easily see what they do with EVR, but what madVR does with the information the decoder provides, i don't know.

For the record:
- "Force Deinterlacing" sets interlace flags on all files and all frames, no matter what.
- "Aggressive Deinterlacing" sets interlaced flags on all frames when the file itself is marked interlaced (from the stream header or such)
- "Tread as Progressive" marks all frames as progressive, and never anything as interlaced.

madshi
9th March 2012, 20:32
Let me explain how things are from the view point of a video renderer. The renderer must deal with a wide number of decoders and they all behave differently. Some decoders always set interlaced flags, others never set interlaced flags, again others set them sometimes and sometimes not, depending on user configuration (and the user doesn't always know what he's doing), or depending on the weather or the configuration of the planets. There are typically 2 things that I've seen decoders do:

(1) Either the decoder sets the interlaced flags to 0. If that happens, madVR doesn't know if that is supposed to mean "this file is progressive", or if the decoder is not in the mood to share information, because 0 is also the non-initialized value used by all decoders which never properly fill in these values (like CoreAVC).

(2) Or the decoder sets the flags to "AMINTERLACE_DisplayModeBobOrWeave". Again, this information is more or less useless, because by definition is means "the stream could be totally progressive, or totally interlaced, or a mixture of both". In other words, by setting "AMINTERLACE_DisplayModeBobOrWeave", the decoder pretty much says: "I've no idea whether this file is interlaced or progressive or whatever".

Even though all of the above is quite bad, madVR *still* tries to behave identical to VMR/EVR, which means that if the interlace flags are set to 0, madVR will by default not activate deinterlacing, and if the flags are set to "AMINTERLACE_DisplayModeBobOrWeave", madVR will by default activate deinterlacing, but only after the first interlaced video frame is received. I don't consider this behaviour really alright, but since VMR/EVR are doing it this way, I'm trying to have madVR behave identical.

There is one thing that makes madVR's behaviour different from VMR/EVR: While VMR/EVR always blindly trust the decoder (and thus will stumble when decoders don't set the flags correctly, or not at all), madVR gets itself access to the video bitstream to make its own analyzation of whether deinterlacing is needed or not. If the video bitstream clearly says whether deinterlacing is necessary or not, madVR will value this information higher than the rather non-specific flags described above. I believe this is a good thing, and I challenge anyone to argue otherwise.

If LAV wants to force deinterlacing to on/off, it's easy enough to do that with madVR. There are interlace flags available for that, described by Microsoft, which madVR properly honors. "AMINTERLACE_DisplayModeBobOnly" asks for the whole video stream (every frame) to be deinterlaced, so that would be the correct flag to set to force the renderer to turn deinterlacing on. And "AMINTERLACE_DisplayModeWeaveOnly" asks for the whole video stream to not be deinterlaced, so that would be a good flag to set to force the renderer to turn deinterlacing off. If LAV used these flags, madVR would obey. madVR has supported these flags from the first version deinterlacing was introduced.

dukey
9th March 2012, 22:04
Guessing whether a stream is interlaced or not will always produce errors. I've often seen progressive content with interlaced fades or overlays etc. It's never ending, especially for videos like music videos. In the end the only safe thing to do is deinterlace everything marked as interlaced. My TV tries to be clever and guess what is interlaced, and I regularly see it mess up.