Page 1 of 1

[RESOLVED] DGDecodeIM doubling framerate for interlaced mkv h264

Posted: Sun Jan 15, 2017 2:36 am
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.

Re: DGDecodeIM doubling framerate for interlaced mkv h264

Posted: Sun Jan 15, 2017 7:42 am
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.

Re: DGDecodeIM doubling framerate for interlaced mkv h264

Posted: Sun Jan 15, 2017 9:23 am
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.

Re: DGDecodeIM doubling framerate for interlaced mkv h264

Posted: Sun Jan 15, 2017 10:43 am
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.

Re: DGDecodeIM doubling framerate for interlaced mkv h264

Posted: Sun Jan 15, 2017 11:05 am
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?

Re: DGDecodeIM doubling framerate for interlaced mkv h264

Posted: Sun Jan 15, 2017 11:11 am
by ndjamena
Ivy Bridge.

i7 3770

Maybe that's a factor.

Re: DGDecodeIM doubling framerate for interlaced mkv h264

Posted: Sun Jan 15, 2017 11:32 am
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.

Re: DGDecodeIM doubling framerate for interlaced mkv h264

Posted: Sun Jan 15, 2017 11:56 am
by ndjamena
Updating my graphics drivers accomplished nothing.

Re: DGDecodeIM doubling framerate for interlaced mkv h264

Posted: Sun Jan 15, 2017 12:14 pm
by admin
Duplicated. Investigating...

Re: DGDecodeIM doubling framerate for interlaced mkv h264

Posted: Mon Jan 16, 2017 7:20 am
by admin
I slip-streamed a fix to b50. Please re-download and update DGIndexIM.exe.

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

Posted: Mon Jan 16, 2017 11:08 am
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.