[RESOLVED] DGDecodeIM doubling framerate for interlaced mkv h264

This is the home of QuickSync (aka Intel Media SDK) stuff.
Post Reply
DAE avatar
ndjamena
Posts: 6
Joined: Thu Dec 29, 2016 2:47 am

[RESOLVED] DGDecodeIM doubling framerate for interlaced mkv h264

Post by ndjamena »

Code: Select all

General
Unique ID                                : 238399689273732162107040956932129382204 (0xB35A1C2AF5493B318E27A7C2BAB55F3C)
Complete name                            : F:\Videos\TV Recordings\MediaPortal\Recordings\TEN HD\The Project\Not Carrie\The Project - 2016-12-22.mkv
Format                                   : Matroska
Format version                           : Version 4 / Version 2
File size                                : 1.61 GiB
Duration                                 : 41 min 54 s
Overall bit rate                         : 5 505 kb/s
Encoded date                             : UTC 2017-01-15 08:11:41
Writing application                      : mkvmerge v9.7.1 ('Pandemonium') 64bit
Writing library                          : libebml v1.3.4 + libmatroska v1.4.5

Video
ID                                       : 1
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Format profile                           : High@L4
Format settings, CABAC                   : Yes
Format settings, ReFrames                : 4 frames
Codec ID                                 : V_MPEG4/ISO/AVC
Duration                                 : 1 h 0 min
Bit rate                                 : 3 527 kb/s
Width                                    : 1 920 pixels
Height                                   : 1 080 pixels
Display aspect ratio                     : 16:9
Frame rate mode                          : Variable
Frame rate                               : 34.893 FPS
Original frame rate                      : 25.000 FPS
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : Interlaced
Scan type, store method                  : Separated fields
Scan order                               : Top Field First
Bits/(Pixel*Frame)                       : 0.049
Stream size                              : 1.48 GiB (92%)
Default                                  : Yes
Forced                                   : No
Color range                              : Limited
Color primaries                          : BT.709
Transfer characteristics                 : BT.709
Matrix coefficients                      : BT.709

Audio
ID                                       : 2
Format                                   : AC-3
Format/Info                              : Audio Coding 3
Mode extension                           : CM (complete main)
Format settings, Endianness              : Big
Codec ID                                 : A_AC3
Duration                                 : 1 h 0 min
Bit rate mode                            : Constant
Bit rate                                 : 448 kb/s
Channel(s)                               : 6 channels
Channel positions                        : Front: L C R, Side: L R, LFE
Sampling rate                            : 48.0 kHz
Frame rate                               : 31.250 FPS (1536 spf)
Bit depth                                : 16 bits
Compression mode                         : Lossy
Delay relative to video                  : 127 ms
Stream size                              : 134 MiB (8%)
Language                                 : English
Default                                  : Yes
Forced                                   : No

Text
ID                                       : 3
Format                                   : UTF-8
Codec ID                                 : S_TEXT/UTF8
Codec ID/Info                            : UTF-8 Plain Text
Duration                                 : 59 min 57 s
Bit rate                                 : 669 b/s
Count of elements                        : 5906
Stream size                              : 294 KiB (0%)
Language                                 : English
Default                                  : Yes
Forced                                   : No

Menu
00:00:00.000                             : en:Chapter 01
00:09:07.193                             : en:Chapter 02
00:15:01.106                             : en:Chapter 03
00:15:09.579                             : en:Chapter 04
00:19:35.492                             : en:Chapter 05
00:29:53.405                             : en:Chapter 06
00:35:43.638                             : en:Chapter 07

It's easy enough to fix with assumefps(25) but it's still kind of a nuisance.

Code: Select all

SIZ 1920 x 1088 
FPS 500000 / 10000
CODED 62844
PLAYBACK 62844
0.00% FILM
ORDER 1
Also, it's said it's possible to use a DGIndexNV index file with DGIndexIM. As far as I can tell, DGIndexIM is nothing but a fairly limited CLI program, whereas DGindexNV has a fully functional GUI interface. I tried downloading DGDecodeNV but of course it requires a NVidia GPU to even start. Is it possible the gap between IM and NV could be narrowed a bit...

In case you missed it, I believe [ Scan type, store method : Separated fields ] may be line showing the largest contributor to the problem.
User avatar
admin
Posts: 4551
Joined: Thu Sep 09, 2010 3:08 pm

Re: DGDecodeIM doubling framerate for interlaced mkv h264

Post by admin »

It's probably a disagreement between the ES frame rate and the container frame rate. However, to be sure, please upload the file to my FTP. I have sent you access details in a PM. There have been some recent fixes to DGDecNV in this area and they could be ported to DGDecIM. If you are motivated enough to give me your stream, I would be motivated enough to do the porting. ;)

Regarding your question about further developing DGDecIM, I suspended further development (other than bug fixes) due to the horrible support from Intel. Nothing has changed to make me revisit that. I recommend that you cough up $50 and get a low-end nVidia card like a 730. You can run it alongside your existing primary adapter and use it as only a CUDA/CUVID co-processor.
DAE avatar
ndjamena
Posts: 6
Joined: Thu Dec 29, 2016 2:47 am

Re: DGDecodeIM doubling framerate for interlaced mkv h264

Post by ndjamena »

P.MKV

I thought I'd read that Intel had budged a tad, maybe I read wrong or it fell through.

And I suppose getting the actual DGIndexNV to do anything without being able to decode would be an impossibility.

I'm still getting used to the difference between MPEG2 and IM... a lot of the options were done by the indexer in MPEG2, I've discovered it's different now but there's no quick way to check.
User avatar
admin
Posts: 4551
Joined: Thu Sep 09, 2010 3:08 pm

Re: DGDecodeIM doubling framerate for interlaced mkv h264

Post by admin »

P.MKV shows as 25fps for me with latest DGDecIM. Did you try with that file or did you cut and remux with MKVtoolnix or something?

Sadly, Intel support is still a joke. The API is also horridly complex compared to CUVID. Let me give you an example of how screwed up they are. I downloaded the latest MSDK and samples. I built the decode sample. It works OK-ish (bob deinterlacing is broken, actually just not coded for. But they offer it in the document and accept it as a parameter). The decode sample works with both SW and HW. OK, fine, I suppose. It would have been nice if they had implemented bobbing but maybe I can go to the VPP sample and see what I can get from there. Ah, it does nice bobbing with the SW implementation. But wait, it fails if I specify -lib hw! It fails in the mfx session init, which is their code and not debuggable. The error code says "not supported" and that is all. I am totally stuck. So one sample works with HW and another doesn't. This kind of crap totally turns me off, because I can spend days trying to get something simple like a session init to work. This is their goddamned sample code, I didn't modify it in any way, but it won't run on my Haswell while the decode sample does. I wasted 4 hours this morning already trying to figure it out.

I could implement a proper GUI for indexing etc. but given the above if I can't get basic decode funtionality working I am stymied.

Again, get a basic nVidia card and you'll be golden. Or get a 1050Ti and have full HW HEVC, UHD, single- and double-rate deinterlacing, GUI, etc.
DAE avatar
ndjamena
Posts: 6
Joined: Thu Dec 29, 2016 2:47 am

Re: DGDecodeIM doubling framerate for interlaced mkv h264

Post by ndjamena »

It's definitely showing 50fps for me.

I just downloaded a new version today just before I posted to check if you'd fixed the problem already.

Code: Select all

SIZ 1920 x 1088 
FPS 500000 / 10000
CODED 380
PLAYBACK 380
0.00% FILM
ORDER 1
DGIndexIM -i "%~f1" -o "%Target%%~n1.dgi"

I just tried the 64 bit and 32 bit version... Norton popped up a warning when I first ran the 32 bit version so it was definitely accessing a different exe.

So I copied everything into a single directory and explicitly pointed at the exes, both 64 bit then 32 bit and still they both said 50fps.

Could you have a newer version than me somehow?
DAE avatar
ndjamena
Posts: 6
Joined: Thu Dec 29, 2016 2:47 am

Re: DGDecodeIM doubling framerate for interlaced mkv h264

Post by ndjamena »

Ivy Bridge.

i7 3770

Maybe that's a factor.
DAE avatar
ndjamena
Posts: 6
Joined: Thu Dec 29, 2016 2:47 am

Re: DGDecodeIM doubling framerate for interlaced mkv h264

Post by ndjamena »

I just deleted every copy of libmfxsw32/64.dll I could find from my computer.

Downloaded a new copy from here:

http://rationalqm.us/dgdecim/dgdecim_b50.zip

Put everything in it in a folder with the mkv. opened a command prompt did CD /d into the directory, copied the full path of DGIndexIM into the command prompt, -i full path the mkv, -o full path the mkv with dgi instead of mkv.

And... 50fps.
DAE avatar
ndjamena
Posts: 6
Joined: Thu Dec 29, 2016 2:47 am

Re: DGDecodeIM doubling framerate for interlaced mkv h264

Post by ndjamena »

Updating my graphics drivers accomplished nothing.
User avatar
admin
Posts: 4551
Joined: Thu Sep 09, 2010 3:08 pm

Re: DGDecodeIM doubling framerate for interlaced mkv h264

Post by admin »

Duplicated. Investigating...
User avatar
admin
Posts: 4551
Joined: Thu Sep 09, 2010 3:08 pm

Re: DGDecodeIM doubling framerate for interlaced mkv h264

Post by admin »

I slip-streamed a fix to b50. Please re-download and update DGIndexIM.exe.
User avatar
admin
Posts: 4551
Joined: Thu Sep 09, 2010 3:08 pm

Re: [RESOLVED] DGDecodeIM doubling framerate for interlaced mkv h264

Post by admin »

So, after another 2 hours I found and fixed the bugs in the latest Intel VPP sample and it now runs on Haswell HW.

Now, if I am able to combine the decoding and VPP sample functionalities I will be able to implement single-and double-rate deinterlacing in DGDecIM. If that happens then DGDecIM can come back to life and a GUI would not be out of the question.
Post Reply