Log in

View Full Version : DGAVCDec 1.0.9


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

ChiDragon
25th March 2008, 13:43
Long time no post... I've decrypted the Die Hard 3 Blu-ray and this is my first attempt at working with AVC. DGIndex is of course invaluable for MPEG-2 in AviSynth, so here I turn again to neuron2's wizardry. :)

The other day I started trying out Alpha 19 to process and demux the m2ts and it kept giving me an error along the lines of "Cannot find audio or video stream" at a seemingly random point a few thousand frames in every time I tried to demux, but worked fine if I just used regular old Save Project. After turning to mplayer to get at the raw h264 file, today I had a brainwave: "oh yeah! I was running out of space on this drive!" Sure enough, demuxing it to a different drive completed perfectly. So it was just my stupidity, but a stupidity check for the destination's free space would be nice when we're working with these large files, if possible. I double-checked to see if I still get the "Cannot find" error in a20 by saving to yet another drive, this one with 1.37GB free, and it dies with 800MB still to be used.

It also crashes instantly when I try to demux without setting an audio PID (hey, I just wanted the video).

Now, to my questions... Is there a reason for AVC deblocking defaulting to "true" when it didn't in DGIndex? I would think we'd want access to the pure frames themselves, but I'm probably missing something regarding the new format. Second, I saw the "frame struct" field bouncing between Frame and MBAFF throughout processing. I thought MBAFF was an interlaced format, shouldn't a stream Fox describes as 1080p show up as Frame only?

P.S. I think you missed replacing one reference to DGIndex in the manual, and then 3 in the command line section to VOBs. ;)

Guest
25th March 2008, 13:54
I double-checked to see if I still get the "Cannot find" error in a20 by saving to yet another drive, this one with 1.37GB free, and it dies with 800MB still to be used. Can you provide a stream that I can use to duplicate this?

It also crashes instantly when I try to demux without setting an audio PID (hey, I just wanted the video). Can you provide a stream that I can use to duplicate this? Nothing can be done unless I can duplicate your issue.

Now, to my questions... Is there a reason for AVC deblocking defaulting to "true" when it didn't in DGIndex? I would think we'd want access to the pure frames themselves In AVC, deblocking is an integral part of the decoding. If you turn off deblocking, then you have impure frames. Refer to the AVC spec and literature for details.

I saw the "frame struct" field bouncing between Frame and MBAFF throughout processing. I thought MBAFF was an interlaced format, shouldn't a stream Fox describes as 1080p show up as Frame only? It's normal. The encoding is adaptive.

P.S. I think you missed replacing one reference to DGIndex in the manual, and then 3 in the command line section to VOBs. ;) Thanks for pointing it out.

ChiDragon
25th March 2008, 18:24
Touche, I thought the error/crash would be repeatable with any file but I just tried with one of the small SD clips from the disc and it can be demuxed fine without specifying any audio. I've made a 50MB chunk that I can repeat the 2nd issue with but I've filled the drive completely with 0 bytes remaining and it still lets me demux the chunk (into 0-byte files) without giving the Cannot Find error so I'll have to do a little more testing...

Edit: Well I can't seem to repeat the first issue with anything but the original 30GB file so I guess that'll have to remain unexplained. I split it with HDBDSplitGUI. 10MB chunk for demux with no audio crash (chidragon.thedessie.com/part0001.m2ts). I've noticed that some of my earlier, larger chunks crash the program as soon as I try to open them. I'm uploading a 50MB chunk to show that. It plays garbled junk in my old version of VLC but doesn't crash, and in MPC it starts with green junk then corrects to normality. Almost definitely something caused by the file splitting but I thought you might want to check it out anyway.

Edit2: http://www.megaupload.com/?d=RUBQTXA4

Guest
25th March 2008, 20:56
The first one fails due to a bug in my DTS audio demuxing. If DTS is present and you don't demux it, it will crash. I'll fix it in the next version.

I'm still investigating the second one.

Guest
25th March 2008, 21:37
OK, I have the second one resolved now as well.

Unfortunately alpha 20 is messed up. If there are more than 256 PPS's encountered in the stream during the fixed inital parsing, then it dies when it starts to decode the first picture. I don't know how many streams that is true for, but it needs to be fixed ASAP.

I'll get a new alpha out tonight.

liquidator87
26th March 2008, 18:44
Is input from m2ts supported? I assume yes looking at the "open file" dialog, but every time I try to save the *.dga the program crashes... which doesn't happen when I do the same thing from the *.h264

Guest
26th March 2008, 19:01
Gosh, I already explained why less than a few posts above. Unless it's another cause of course. :)

Open the m2ts. Then do Audio/Audio Demux. Is there a DTS track listed. If, select it for deum and then save the project. Does it still crash?

Atak_Snajpera
26th March 2008, 19:05
is 21 ready?

Guest
26th March 2008, 19:07
It is ready. I'll post it this evening.

Guest
27th March 2008, 00:01
1. Fixed a bug that caused DGAVCIndex to crash when doing Save Project on a stream that contains a DTS audio track, and that track is not selected for demuxing.

2. Fixed a bug that caused DGAVCIndex to crash if more than 256 PPS's are encountered during the initial parsing following the opening of a stream.

http://neuron2.net/dgavcdec/dgavcdec.html

canTsTop
27th March 2008, 14:34
...

i have other video which still crashes (in virtualdub or megui), i made a sample, but in sample it no longer crashes in virtualdub, but still crashes in megui then analyzing video (load avs in megui>tools>avisynth script creator and in filters tab Analyse). but if i add in avs deblock=false it no longer crashes
this is sample http://rapidshare.com/files/73281324/222.264.html maybe you can look at it

@canTsTop

Apparently the libavcodec.dll deblocking fix is not complete, as I duplicated your second crash. My problem is that I can't make it fail for my debug DLL. I'll try to find it with code reading, but it might be a while.

any news on this?

also with this sample DGAVCDec crashes then it finish indexing, or if i start indexing and stop it

p.s. i reuploaded this sample http://www.mediafire.com/?n0qxdmmyyy3

shadowchen
27th March 2008, 14:54
DGAVCDec crashes when it finish indexing.

buzzqw
27th March 2008, 15:11
DGAVCDec crashes when it finish indexing.

here NO

so, post a sample where is replicable, and also specify all options/switch used

thanks

BHH

Atak_Snajpera
27th March 2008, 20:36
I've noticed something weird in a21. DGAVCDec demuxes audio steams which do not exist. (mp3 and ac3)

http://img233.imageshack.us/img233/3889/new1ov3.th.png (http://img233.imageshack.us/my.php?image=new1ov3.png)

http://www.64k.it/andres/data/a/SuperbadBD_100.m2ts

Guest
28th March 2008, 04:56
I have the crashing bugs fixed and will release a new version in an hour. It happens only with elementary streams.

Guest
28th March 2008, 05:31
* Fixed crashes for elementary streams.

http://neuron2.net/dgavcdec/dgavcdec100a22.zip

shadowchen
28th March 2008, 06:27
* Fixed crashes for elementary streams.

http://neuron2.net/dgavcdec/dgavcdec100a22.zip

when i upgrade to A22,the crash bug has fixed.:thanks:

Encoder888
29th March 2008, 14:09
@neuron2,

I'm having trouble with this m2ts, it was originally a seamless branching movie, which I've concatenated with copy /b and then remuxed with TSRemux, after which I got a normal synced copy. After I ran it through dgAVCDec, though, I got a slightly longer audio, which after it gets encoded and remuxed with the video by AutoMKV causes significant audio delay in the final mux. I'm not sure if the problem actually comes from dgAVCDec, but I did notice the difference in length between the original m2ts and the demuxed audio ac3, and so I thought this could be causing the delay. You may wanna look into it. Here's a 60MB sample of it:

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

It's really hard to notice the difference in length here, because the file is only 15 seconds long, but when I demux the whole movie, it adds up to 3 additional seconds... You may wanna run some tests :) Please, let me know what you found :)

ALSO - all of the above happens when I use the AC3 version of the audio, but the movie also comes with TrueHD audio, which after I demux with dgAVCDec isn't playable and eac3to crashes when I try to convert it to wav, which was another reason for me to think the problem comes from the demuxing...

So, I also tried it with xport and got the same bad results:

xport -h part60.m2ts 1 1 2 (which is the AC3) - This time I actually got a shorter mpa file (by 1 second) than the original m2ts is...... very weird. I muxed it with TSMuxer and I still got a huge delay

xport -h part60.m2ts 1 1 1 (which is the TrueHD) - here the .mpa file isn't playable by itself, when muxed with TSMuxer I get the same huge delay... :(

I hope you can help me. Thank you an keep up the good work!

Guest
29th March 2008, 16:26
The stream you posted has 19 frames before the first IDR, so DGAVCIndex must lose them. That is ~0.8 seconds. When I serve the video I get 16.05 seconds. When I demux the audio I get 16.79. So the difference is accounted for by the leading non-decodable frames. As I have written before, I have not yet decided on what I want to do for AV sync yet, so manual adjustment of the offset is necessary for now.

Regarding TrueHD, I get a binary identical demux compared to xport. So I don't know what to tell you about how to process TrueHD, as I know nothing about it.

Guest
29th March 2008, 16:28
I've noticed something weird in a21. DGAVCDec demuxes audio steams which do not exist. (mp3 and ac3)

http://img233.imageshack.us/img233/3889/new1ov3.th.png (http://img233.imageshack.us/my.php?image=new1ov3.png)

http://www.64k.it/andres/data/a/SuperbadBD_100.m2ts They all have audio. One is misidentified as MPA. I am working on improving audio stream type detection.

Flash_Git
29th March 2008, 19:47
Is there anyway of moving frame-by-frame in this program?
I'm trying to use to for taking screenshots of specific frames with no luck. In the non playback mode it moves quite a few frames at a time (i-frame to i-frame?) and when you do play at frame step speed once you stop in order to save a BMP it shoots forward a few frames.

Thank you.

SeeMoreDigital
29th March 2008, 20:42
Is there anyway of moving frame-by-frame in this program?Go to: Options -> Playback Speed -> Single Step

Flash_Git
29th March 2008, 20:52
Go to: Options -> Playback Speed -> Single Step

Read the rest of my post, I know about that. It only does frame stepping when it's playing and in that 'mode' you can't save images unfortunately. :/

SeeMoreDigital
29th March 2008, 21:04
Read the rest of my post, I know about that. It only does frame stepping when it's playing and in that 'mode' you can't save images unfortunately. :/My apologies...

Guest
29th March 2008, 23:50
I'll try to fix it to have the Save BMP command enabled during play/preview.

Guest
30th March 2008, 00:10
OK, it turned out to be easy. Re-download alpha 22. I updated it.

We aim to please.

SeeMoreDigital
30th March 2008, 00:28
OK, it turned out to be easy. Re-download alpha 22. I updated it.

We aim to please.You know what that means now Donald...

You'll have to add this feature to DGMPGIndex as well :)

Flash_Git
30th March 2008, 01:45
OK, it turned out to be easy. Re-download alpha 22. I updated it.

We aim to please.

Thank you, very much appreciated!

------

Seperate issue. Probably known but I couldn't find anything on it.

http://img156.imageshack.us/img156/1381/68560741sl9.th.gif (http://img156.imageshack.us/my.php?image=68560741sl9.gif)
http://img168.imageshack.us/img168/954/44451799tf3.th.gif (http://img168.imageshack.us/my.php?image=44451799tf3.gif)
http://img156.imageshack.us/img156/3663/94199475xb6.th.gif (http://img156.imageshack.us/my.php?image=94199475xb6.gif)

On a m2ts containing AVC from a BD I get the first two about 6-7 times when I hit Play (F6) and move forward a frame. After that no more errors unless I stop and play again.

On an AVC file demuxed from an HD-DVD EVO I get all three quite a few times when seeking anywhere. And when playing and moving forward a step the first 2 twice, and then the first 2 twice again when going to the next frame. After that nothing unless I stop and play again.

There doesn't actually appear to be any problem though; no frames missing and all appear to be decoded correctly.

Guest
30th March 2008, 03:05
I can't help you without a stream sample to duplicate your issue.

Guest
30th March 2008, 03:07
You'll have to add this feature to DGMPGIndex as well Good point. I'll do it.

Gannjunior
2nd April 2008, 15:37
@neuron,

is normal that alpha 22 regonizes 1440x1080 AVCHD .mts 16:9 aspect ratio as a 4:3 ?
That is what's happening to me:
http://www.savefile.com/files/1426101

ciao!

Guest
2nd April 2008, 16:10
Please read the users manual about it and then if you think there is still a problem, tell me what you think the problem is. I can't get to your upload site when I am at work due to a firewall.

Post the contents of the info log that DGAVCIndex generates. It will show me the fields I need. Post it as text so I don't have any firewall problem seeing it.

rack04
2nd April 2008, 16:32
Please read the users manual about it and then if you think there is still a problem, tell me what you think the problem is. I can't get to your upload site when I am at work due to a firewall.

Post the contents of the info log that DGAVCIndex generates. It will show me the fields I need. Post it as text so I don't have any firewall problem seeing it.

Are you wanting the dga or txt file?

Guest
2nd April 2008, 16:37
As I said, the info log. It is generated when you have Enable info log checked under Options.

rack04
2nd April 2008, 16:41
Stream Type: Transport [192]
Profile: High
Level: 4
Frame Size: 1440x1080
SAR: 4:3
Display Size: 1920x1080
Frame Rate: 25.000000 fps
Colorimetry: BT.709* [2]
Frame Structure: Fields (TFF)
Frame Type: B
Coded Number: 468
Playback Number: 468
Frame Repeats: 0
Field Repeats: 0
Bitrate: 11.773
Bitrate (Avg): 11.554
Bitrate (Max): 12.395
Audio Stream: 1100: AC3 3/2 384
Elapsed: 0:00:00
Remain: 0:00:00
FPS:
Info: Finished!

SeeMoreDigital
2nd April 2008, 16:49
@neuron,

is normal that alpha 22 regonizes 1440x1080 AVCHD .mts 16:9 aspect ratio as a 4:3 ?There's no problem with this... It's giving you the Aspect Ratio Signalling (ie: PAR, SAR) value.

1440 x 1.33333 (ie: 4/3) = 1920 Perfect :)
Whereas, 1440 x 1.77777 (ie: 16:9) = 2560 :eek:

audyovydeo
2nd April 2008, 16:52
@neuron,

is normal that alpha 22 regonizes 1440x1080 AVCHD .mts 16:9 aspect ratio as a 4:3 ?



??

1440 / 1080 = 1.333 = 4:3

ciao
audyovydeo

Gannjunior
2nd April 2008, 16:56
thanks rack.

yes seemoredigital, you are right about the calculation.

but if you download the sample and you see it (first in a player as nero show time and after in dgavcdec), you'll understand what i mean.

EDIT: the point is that, even if 1440/1080 is, by number, 1.333 (4:3), it has to be recognized and reproduced as 16:9 to see it with the correct proportion...i don't know how to explain but if you see the sample guys, you understand.

audyovydeo
2nd April 2008, 17:04
EDIT: the point is that, even if 1440/1080 is, by number, 1.333 (4:3), it has to be recognized and reproduced as 16:9 to see it with the correct proportion...i don't know how to explain but if you see the sample guys, you understand.

Ciao zeneize.

1.333 is the value that should be signalled to the playback application to tell it to play your 1440x1080 stream at 16:9 ratio.

cheers
audyovydeo

Guest
2nd April 2008, 17:09
the point is that, even if 1440/1080 is, by number, 1.333 (4:3), it has to be recognized and reproduced as 16:9 to see it with the correct proportion...i don't know how to explain but if you see the sample guys, you understand. DGAVCDec is going to deliver the video frame as decoded. It does not apply the resizing specified by the stream. You need to do that in your Avisynth script.

SeeMoreDigital
2nd April 2008, 17:23
EDIT: the point is that, even if 1440/1080 is, by number, 1.333 (4:3), it has to be recognized and reproduced as 16:9 to see it with the correct proportion...i don't know how to explain but if you see the sample guys, you understand.You are getting confused because when calculating this sort of thing, you're introducing the frame height (ie: 1080).... Which you must not do!

Bear in mind you are distorting the shape of the pixels "width-ways". Not "height-ways".

Atak_Snajpera
2nd April 2008, 23:08
As I said, the info log. It is generated when you have Enable info log checked under Options.

I does not work when I use commad line. I always get this:

Stream Type:
Profile:
Level:
Frame Size:
SAR:
Display Size:
Frame Rate:
Colorimetry:
Frame Structure:
Frame Type:
Coded Number:
Playback Number:
Frame Repeats:
Field Repeats:
Bitrate:
Bitrate (Avg):
Bitrate (Max):
Elapsed:
Remain:
FPS:
Info:

My ini file
Version=DGAVCIndex 1.0.0 Alpha 22
Window_Position=100,100
Info_Window_Position=100,100
YUVRGB_Scale=1
Field_Operation=2
Process_Priority=2
Playback_Speed=3
AVS_Template_Path=C:\Users\Dawidos\Documents\Delphi_Projects\RipBot264\Tools\dgAVCDec\template.avs
Full_Path_In_Files=1
MRUList[0]=D:\TS samples\Video Test Samples\SuperbadBD_100_.m2ts
MRUList[1]=
MRUList[2]=
MRUList[3]=
Enable_Info_Log=1
Loop_Playback=0

Guest
2nd April 2008, 23:27
You reported this already. I'll get to it, there's no need to keep reminding me.

Atak_Snajpera
2nd April 2008, 23:32
I thought you ignored me because you didn't say anything.

Guest
2nd April 2008, 23:39
Well, it's a CLI feature and I said when I released it that it was an incomplete quick and dirty thing. I still need to implement preview and other things. You can always PM me if you think I have missed something. Thank you for your feedback, know that your suggestions are always appreciated.

LigH
3rd April 2008, 10:35
There's no problem with this... It's giving you the Aspect Ratio Signalling (ie: PAR, SAR) value.

1440 x 1.33333 (ie: 4/3) = 1920 Perfect :)
Whereas, 1440 x 1.77777 (ie: 16:9) = 2560 :eek:

Surprise! -- 1080 × 16:9 = 1920 :eek:

See: So many aspect ratios, so different relations (pixel dimensions / image dimensions / image stretching factor). You have to be careful about what which specific abbreviation really means. ;)

Gannjunior
3rd April 2008, 11:49
ok guys,
it's clear, i will adjust resize by avisynth (since this video will be converted in huffyuv to pass it to premiere, i was hoping to avoid every kind of resize before to edit it...).
tnks!

@audyovydeo

belin ! :D

Guest
3rd April 2008, 14:22
DGAVCDec does not do the resizing because it would be pointless to reproduce all the existing Avisynth resizers in the DGAVCDec code when adding a simple line to the script suffices. It is interesting to consider possibly having DGAVCDec automatically generate the resize line in the Avisynth script that it creates, but that's a low-priority thing right now.

Gannjunior
3rd April 2008, 14:49
...It is interesting to consider possibly having DGAVCDec automatically generate the resize line in the Avisynth script that it creates, but that's a low-priority thing right now.
Good! when you have a bit of time, i think that could be a really good idea.
The possibility to do reszize/crop during dgavc/dgindex passage, it could become very useful.

Tnks and ciao!

saint-francis
3rd April 2008, 15:54
Good! when you have a bit of time, i think that could be a really good idea.
The possibility to do reszize/crop during dgavc/dgindex passage, it could become very useful.

I agree with this. It would be revolutionary. Resizing and cropping are the two most arduous parts of making the script; for me at least.