News:

--

Main Menu

Problem with 1080i VC1 files

Started by MadScientist, January 09, 2014, 01:31:43 PM

Previous topic - Next topic

MadScientist

I'd like to stream 1080i VC1 files to my HTPC but a combination XBMC and my Intel graphics can't handle them (horrible blocking, motion judder).  It's a known issue - not just me.   I'd therefore like to encode these files to a different format.

Here lies the problem as I'm a complete novice when it comes to video encoding.    Ideally, I'd just like to deinterlace my 1080i VC1 files to 1080p but I've yet to find an application that can do that.     Avidemux appears to be one of the better encoders around so I've been trying various options, mainly encoding to x264 using the optimal settings as defined in the tutorial and using yadif as the deinterlacing algorithm.    All the settings, Iââ,¬â,,¢ve so far tried result in playback that looks a bit jerky at times.  It's not terrible but then again itââ,¬â,,¢s not acceptable.   

I just wondered if anyone could offer advice on the best way to either just deinterlace these files or encode them into a format that will provide good quality playback.   Mnay thanks.
     

Isias

#1
You can convert a 1080i file to a 1080p file, but it doesn't make much sense. Delivering a converted 1080p signal will not provide any better results in many cases and indeed may reduce the quality of the image. A true 1080p signal carries twice as much information as a 1080i signal. Converting a 1080i signal to a 1080p signal does not in any way increase the amount of information in the image.

Most likely, the conversion will blow up your file size while decreasing the image quality.

Since even the Raspberry Pi can play streaming 1080i files from a NAS (i do that myself), i doubt that your HTPC lacks the power. It's more likely some CPU setting. Do you use DXVA? Could you turn it off for testing?

MadScientist

Thanks, the problem is however that XBMC can play 1080p VC1 files OK (provided DXVA is disabled) but not 1080i VC1 under any settings.   It seems to be a combination of the VC1 codec and the deinterlaocing that my HTPC can't handle     I'm therefore looking at the simplest way to convert to 1080p (preferably VC1 1080p).




AQUAR

I kind of half agree and half disagree with Isias.
It seems to be a subject of ongoing debate.

Assuming the clips are captured/encoded at the same bits/pixel then, if 1080i has a field rate that runs at twice the frame rate of the 1080p the data rate is the same, but the information is distributed differently across the spatial and temporal aspects. It is not quite true as there are encoding efficiency differences between interlaced and progressive video and screen characteristics like persistence also make a mark.

In fact a 1080p film can be stored/presented as 1080i video when odd and even fields are created from the frames.
A simple weave will recreate the 1080P from the 1080i without any combing artifacts at all.

So depending on the 'type' of 1080i and type of monitor it might be very useful to deinterlace.
examples
- a simple weave for 1080P that is disguised as 1080i or
-  a better de-interlace process from eg on the fly bob deinterlacing provided with cheap HDTVs.

MadScientist

#4
Quote from: AQUAR on January 10, 2014, 11:39:19 AM
So depending on the 'type' of 1080i and type of monitor it might be very useful to deinterlace.

Can you recommend an application that can do that without transcoding?   I can't seem to find a way (even with Avidemux) and any appication that trancodes it to e.g. H264 results in jerky playback

AQUAR

#5
I don't think you can do that but?

You first have to decode to retrieve the fields and then you have these options.

a) paint the field lines on a traditional 'analog' monitor by alternating between even and odd fields.
b) combine the fields to create a frame and display it all at once on modern 'digital' monitor. OR
c) recode the frames created by the deinterlacer for storage and later playback.

If you do not want generational loss with 'C' then recode with a lossless codec.

Any areas where there is a slight frame rate change may cause jerkiness, going from interlaced to progressive may cause some loss temporal resolution (ie more motion jerkiness), setting the wrong field order etc.  But I am just guessing about you particular clip.

You might try some form of resampling to double the frame rate (ie frame rate to be equal to the field rate) and see if this eliminates the jerkiness (it will cost storage space!).

Isias

#6
This is not exactly on-topic, but

QuoteXBMC can play 1080p VC1 files OK (provided DXVA is disabled) but not 1080i VC1 under any settings
I'm streaming with ArgusTV recorded FTA and on pay tv broadcasted tv shows that only got cut with Avidemux 2.6 (x64 build) but stay untouched besides that in 1080i VC1 and 5.1 AC3 in a .mp4 container from my NAS to my Raspberry Pi, it works out of the box with XBMC (OpenELEC distribution)? Also, i do use XBMC on my Laptop (Kubuntu 13.10 x64 build) and on my pc (Win 7 SP 1 x64), playing those files works perfectly on both OS.

Before touching the files, are you using any codec packs or specific splitters (Haali etc.?) by chance or can you switch the deinterlacing mode in XBMC? It could be kind of a configuration or 3rd party codec problem rather than a XBMC problem, possibly.

MadScientist

Many thanks for the responses, I will try some of the suggestions regarding alternative deinterlacers, upsampling etc.

I have tried just about every setting available in XBMC and I suspect the problem is a combination of Intel graphics and an outdated ffmpeg within XBMC.   I have found one work around which is to set up TMT6 as an external player for XBMC just for that one particular file type.   It works well but to avoid a jerky playback I have to use taskkill to stop XBMC while the external player is running. 



AQUAR

Also check to be sure XBMC is hardware accelerated (if possible).

MadScientist

Actually, if dxva2 hardware acceleration is enabled in xbmc it's impossible to get smooth playback of any vc1 encoded blu ray file (interlaced or progressive) on Intel graphics

AQUAR

Probably as you hinted yourself - ie some hardware limitation.