View Full Version : DGAVCDec 1.0.9


Pages : 1 [2]

SeeMoreDigital
3rd April 2008, 16:20
Surprise! -- 1080 × 16:9 = 1920 :eek:Yes that's correct.... That calculation informs you of the output frame size (resolution).

However, that method does not tell you the aspect ratio of your "non-square" pixels!

G_M_C
4th April 2008, 09:23
I've found something that could point to a bug. I'll try to explain in words, but since English isn't my native speech it could be somewhat difficult for me to explain. But here goes;

I've got a project that envolves the reencoding of a TV-series to Xvid 720x576 PAL. For that ive demuxed the raw AVC from several episodes to .264 (the originals were 720p, X264, level 5.1, in MKV with AC3 5.1 audio). The RAW .264's all end up in 1 folder, looking like this;

TV-serie.S04E01.264
TV-serie.S04E02.264
TV-serie.S04E03.264
...

After this i fire up DGAVCIndex (version A19 up till now). And try to open every episode seperately into a separate .dga (naturally offcourse ;) ).

The first one goes fine; But when i try to open the second eps. in the same instance of DGAVCindex things start to go wrong.

So the first .dga went fine. After that i do "open", and delete the first .264 from the file-list, and then add the second eps into that file list and click "ok" to get back to the preview-screen.

I than choose "save project". The first really minor cosmetical, problem is that the suggested name to save tha project to isn't equal to the now (2nd) openend file, but is still the filename of the first eps, the one i did earlier. So i type the correct name and press "save".

Then i see the second, and bigger, problem. The frame stucture reported in the info-screen isn't correct. It reports MBAFF, but it should be FRAME. At this point i've cancelled the operation.

In short the workflow now:

- Folder with 6 episodes
- DGAVCindex -> "open file" -> add first episode -> click "OK" -> "save project"
(this goes fine)
- Same DGAVCindex -> "Open file" -> delete first eps from list -> add second eps -> click "ok" -> "save project"
(things go wrong, incorrect filename -> type new -> save -> wrong framestructure reported)

My workaround is that i save only 1 project (1 episode) per instance of DGAVCIndex, and quit/restart DGAVCIndex for every episode. But i think that isn't the way it should work ;)

I'm gonna retrace/retry my workflow several times tonight, and see if i can find out when/where/what, and see if this error is really reproducable as it was yesterday. After that i'll update to A22, and see if this problem stays.

Guest
4th April 2008, 12:54
I've got a project that envolves the reencoding of a TV-series to Xvid 720x576 PAL. For that ive demuxed the raw AVC from several episodes to .264 (the originals were 720p, X264, level 5.1, in MKV with AC3 5.1 audio). How did you get originals of a TV series in MKV?

G_M_C
4th April 2008, 13:13
How did you get originals of a TV series in MKV?

No, i've capped them in MPEG2, and transcoded them into AVC. I used MKV, cause i find its a good container and transcoded because of storage reasons (AVC is quite a lot smaller than te original MPEG2). This all was done some time ago, the series has ended now.

The trancoding is done so we can play the caps in our DIVX certified player too (mainly because my girfriend likes to wach this series in the bedroom ;) ) But i've not got the originals anymore (the same storage reasons).

EDIT:
Ahh, I understand where your question comes from. But even IF i'd downloaded a series, it wouldn't be illegal in my country (The Netherlands) simply because downloading isn't illegal here (UPloading is).

Anyway, i dont like to be judged for doing something against the Doom9 rules. I've been coming here long enough to know those rules, so dont worry. And, more important, did you read the bug-report and was it usefull ? Else i can allways delete that post/report ....

stax76
4th April 2008, 13:28
@G_M_C

Do you really encode a TV series without batch processing? Once you master StaxRip, it should be very easy to batch process using the latest beta (http://forum.doom9.org/showthread.php?p=1121319#post1121319).

http://planetdvb.net/non_drupal/forum_images/greenshot_2008-04-04_14-30-44.png

http://planetdvb.net/non_drupal/forum_images/greenshot_2008-04-04_14-31-45.png

Guest
4th April 2008, 14:11
Anyway, i dont like to be judged for doing something against the Doom9 rules. Please don't get all uppity on me. I have a responsibility as a moderator to enforce the forum rules, so I sought clarification before responding to your main point. If you were sensitive to the rules, you would have mentioned that you encoded them in your post and this would have been avoided. The rules in your country are irrelevant, it's the rules at Doom9 that govern your posting.

Thank you for your problem report. I will take care of it.

canTsTop
4th April 2008, 14:38
Then i see the second, and bigger, problem. The frame stucture reported in the info-screen isn't correct. It reports MBAFF, but it should be FRAME. At this point i've cancelled the operation.

i got similar problem:

DGAVCIndex -> open video -> save project = Frame struct: Frame
after project saved in same DGAVCIndex -> File -> Preview = Frame struct: MBAFF

here is small sample
mirror1: http://www.mediafire.com/?nkix20gjdyc
mirror2: http://rapid.lt/file/2929/bitas-avs-comp-track1-h264.html
mirror3: http://perlhosting.net/download3/64d4b712.html

G_M_C
4th April 2008, 15:57
Please don't get all uppity on me. I have a responsibility as a moderator to enforce the forum rules, so I sought clarification before responding to your main point. If you were sensitive to the rules, you would have mentioned that you encoded them in your post and this would have been avoided. The rules in your country are irrelevant, it's the rules at Doom9 that govern your posting.

Thank you for your problem report. I will take care of it.

Yeah, i know. I'm sorry i overreacted a bit.

As said, i' ll try to retrace steps, and give full info and/or logs and INI's (if applicable).

Guest
4th April 2008, 16:08
I've duplicated the issues, so you can relax. :)

G_M_C
5th April 2008, 09:19
@G_M_C

Do you really encode a TV series without batch processing? Once you master StaxRip, it should be very easy to batch process using the latest beta (http://forum.doom9.org/showthread.php?p=1121319#post1121319).


Looks like a good tool. I'll read up about it.

But i wouldn' t have found this bug (?) in DGAVCIndex if i had used it up till now ;) :p

Guest
5th April 2008, 14:22
1. Fixed a bug that caused DGAVCIndex to put the wrong filename in the Save Project dialog box in some cases.

2. Fixed a bug that caused the Frame Structure field in DGAVCIndex's Info dialog to be unreliable.

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

canTsTop
5th April 2008, 15:06
thank you for update. this is fixed my problem.

is there any way now to find out audio delay if i demux audio with DGAVCIndex?

now i demux audio and video with mplayer, and find audio delay with PTScalc. but audio delay its not correct reported with PTScalc if i demux audio with DGAVCIndex. i also tried MediaInfo, audio delay reported is not same as with PTScalc, but still not correct

Guest
5th April 2008, 15:10
is there any way now to find out audio delay if i demux audio with DGAVCIndex? Be patient, I'm working on it.

Warrex
5th April 2008, 15:48
thank you for update. this is fixed my problem.

is there any way now to find out audio delay if i demux audio with DGAVCIndex?

now i demux audio and video with mplayer, and find audio delay with PTScalc. but audio delay its not correct reported with PTScalc if i demux audio with DGAVCIndex. i also tried MediaInfo, audio delay reported is not same as with PTScalc, but still not correct

Open the file in tsMuxer go the respective audio stream and check the delay under "General track options". Most of the time but not always this will be zero.

Atak_Snajpera
5th April 2008, 22:58
Neuron did you change something in command line syntax? 22 worked but 23 gives me an error. I guess I will need to adjust something in my gui.

My command line:
"C:\Users\Dawidos\Documents\Delphi_Projects\RipBot264\Tools\dgAVCDec\dgAVCIndex.exe" -i "D:\TS samples\00011.m2ts" -o "D:\job1.dga" -a -f 2 -h

http://img151.imageshack.us/img151/5152/new1qq7.th.png (http://img151.imageshack.us/my.php?image=new1qq7.png)

Guest
5th April 2008, 23:36
Nothing changed. The error message means that D:\job1.dga cannot be opened for writing. Maybe you have it opened in an editor or something.

Atak_Snajpera
6th April 2008, 00:09
I've restarted PC and still get this error (I tried other locations as well). If I use a22 everything is ok. It occurs only with a23 :( Very weird.

Guest
6th April 2008, 00:11
OK, I'll test it from the CLI later on. Gotta go somewhere right now. Sorry for the inconvenience.

Atak_Snajpera
6th April 2008, 00:14
Sorry for the inconvenience.
No problem :) It's after 00:15 in Dublin so I also have to go somewhere...
.
.
.
...to bed....

Guest
6th April 2008, 12:48
Redownload alpha 23. I fixed it in there.

Atak_Snajpera
6th April 2008, 20:42
Thanks!

jase99
8th April 2008, 02:47
Alpha 21 was crashing about 3/4 of the way through a ts so I upgraded to 23 and it worked great. However, now I get crashes in avisynth at the same point. Yes, I updated the dll that avisynth sees. I got around it by splitting the encoding process into 96 parts with Trim() statements to chop up the video. I have scripts to do this anyway so it was trivial. I would post part of the ts (which xport says has continuity errors) if that would help (let me know) but right now I need to go to bed and I'll need to learn how to cut the ts unless you want all 7 GB of it.

Isochroma
8th April 2008, 03:01
TSSplitter (http://www.ffprojects.net/tssplitter/tssplitter.htm): MPEG Transport Stream Splitter and Joiner

neuron2: since so many have and will need to send in TS samples, perhaps link the splitter at the top of the thread.

Hogan77
9th April 2008, 00:26
I found a bug that's getting annoying. "Old" frames return and replace the correct ones. Here is what DGAVCDec tells me about the source.
Stream Type: Transport [188]
Profile: Main
Level: 4
Frame Size: 1280x720
SAR: 1:1
Display Size: 1280x720
Frame Rate: 50.000000 fps
Colorimetry: BT.709 [1]
Frame Structure: Frame
Frame Type: B
Coded Number: 128454
Playback Number: 128454
Frame Repeats: 0
Field Repeats: 0
Bitrate: 0.756
Bitrate (Avg): 7.992
Bitrate (Max): 18.815
Audio Stream: 1104: MPA L2 2ch 48 256
Audio Stream: 704: AC3 3/2 640
Elapsed: 0:02:31
Remain: 0:00:00
FPS:
Info: Finished!
My avs script consist of:
LoadPlugin("C:\Program Files\DGAVCDec\DGAVCDecode.dll")
AVCSource(".dga")
converttoyv12()
SelectEven()
When I open the avs script with AvsP and jump around the time line I can't find the error. And when I make a graph with haail and ffdshow instead of DGAVCDec I don't get this error. Like this:
DirectShowSource("Untitled.GRF", fps=50, audio=false, framecount=128454)
ConvertToYV12()
SelectEven()

Sample 1 (http://www.megaupload.com/?d=JPBSN6P9) & Sample 2(at the very end) (http://www.megaupload.com/?d=73IZEVST)

It would be great if I could let go of the graph building and only use DGAVCDec, because I like it's features. :)

Guest
9th April 2008, 00:41
How about telling me what the error is and how to make it happen? Does it still happen if you delete the SelectEven()?

Hogan77
9th April 2008, 07:10
The error is like I said old frames/frame that have been decoded show up again. Have you looked at the samples with the error?

Haven't tried encode without SelectEven(). Can try that, but the error isn't in the source and never show up when i use a grf(haail & ffdshow) instead of DGAVCDec.

The error often happens in the very end of the encode like in sample 2.

I tried to cut a sample(21sec) of the source, and I did my usual encode but the error didn't happen. So it's not that easy to make the error happen. But the 3 times I have tried DGAVCDec it have happend. Two times I found it in the very end and one time it's 1 min in the beginning.

Guest
9th April 2008, 12:47
I looked at sample 1, but I need the unprocessed source stream to be able to fix it. You need to give me a link to an unprocessed source sample (not your encode) that I can use to produce this problem.

Hogan77
9th April 2008, 13:10
I see if I can reproduce the error with a sample of the source. The one I tested(21sec) didn't give me any error. I'll get back to you.

Guest
9th April 2008, 14:11
Thank you. Your efforts to help improve the program are greatly appreciated.

Atak_Snajpera
14th April 2008, 14:26
Probably crazy idea but I have to ask at least:) How about adding support for Blu-Ray playlist (MPLS) so user could index whole movie in correct order. I'm sure that Tsmuxer author could help.

bob0r
14th April 2008, 15:30
I lack the time to do this now, if noone else will, one day i will.
But, if someone feels like it:

I have made samples of almost all European Satellite HD Channels (Some file(s) may be MPEG2, one i know of:
Astra3(23.5E)\04-13_20-59-21_ASTRA HD_.ts, so be ware of that, but i think this is the only one.)

Here is a link to all samples to test if DGAVCDEC can handle them all, H.264 and .ts wise:

http://files.x264.nl/h.264.samples.13.apr.2008.europe/

I was unable to grab some Sky-HD Samples, but those already work for sure (as do 90% of the samples, if not all.)

Blue_MiSfit
17th April 2008, 23:59
Here's a question... AFAIK libavcodec has been able to decode MBAFF and all other forms of interlaced AVC for awhile now, correct?

Well, I have an interlaced stream that Nero decodes perfectly (and bobs to 60p), but when I try to handle in DGAVCDec / ffdshow_tryouts results in all kinds of bizarre interlacing artifacts, that look like MBAFF problems.

Here's a sample, but be warned it's adult content and definitely NSFW.

[link removed]

I only post this because we're processing a lot of this gunk at my job recently, and I cant seem to get a good workflow for getting these TS files (with goofy PIDs) that contain interlaced AVC and AC3 audio into AviSynth!

BTW - Elecard Stream Analyzer reports it as standard interlaced, the flag for MBAFF is not set in the SPS.

Please PM me if this attachment is unacceptable. If it is, I apologize ahead of time, and will remove it immediately.

Thanks folks!

~MiSfit

Guest
18th April 2008, 01:04
Please report it to the ffmpeg development list.

canTsTop
18th April 2008, 12:04
That needn't be an issue, as long as I require a certain decoder. I have thought about this. The decoder must provide an SDK for accessing the codec and it must be able to accept a stream of NALUs. I may contact the CoreAVC guys to see if something like this could be done.

any news on CoreAVC support? I tested 1.7 trial version, and in my system its faster then ffdshow rev1945 (tested with timeCodec (http://haali.cs.msu.ru/mkv/timeCodec.exe)):

ffdshow
User: 54s, kernel: 0s, total: 54s, real: 56s, fps: 76.5, dfps: 74.0
coreAVC 1.7
User: 39s, kernel: 0s, total: 39s, real: 41s, fps: 105.1, dfps: 100.5

dansus
25th April 2008, 01:57
Hi, ive read a whole load of pages with no obvious answer, but..

Im trying to load an .h264 file demuxed and indexed into Megui and i get the 'cannot load C:\Program Files\AviSynth\plugins\DGAVCDecode.dll' error.

Ive placed the .dll into plugins folder. Any advice?


Script:

LoadPlugin("C:\Program Files\AviSynth\plugins\DGAVCDecode.dll")
AVCSource("E:\Enc\ccws.dga")

Spline16Resize(720,336) # Spline16 (Neutral)
Convolution3D("movielq") # Heavy Noise
RemoveGrain(mode=22)
FadeOut(120)

Thanks in advance.

Guest
25th April 2008, 02:13
Look in the DGA file for the line that shows the location of libavcodec.dll. Make sure it is there and that it is the one shipped with DGAVCDec. Also, if you have DGAVCDecode.dll in the plugins directory, you should not explicitly load it. Remove the load line from your script and see what happens.

dansus
25th April 2008, 02:43
Ok,

Its there and is the one shipped.

Removing load line results in 'cant find libavcodec.dll specified in the dga file'.

dansus
25th April 2008, 03:03
I put all the files into plugins and indexed again.

xvid_encraw would crash with C++ error when using SetMTMode(2), removing this got it working.

Any thoughts why mt.dll not working with this?

Guest
25th April 2008, 05:51
No idea.

Zep
2nd May 2008, 10:36
I'm new to h.264 avc in .ts since most all my broadcasters streams are still using mpeg2 however they started to send out some now and I have noticed that the streams at the first frame decodable level the audio and video sync is never right. could be 5000ms off could be just 50ms and appears to be random. So the PTS data is what is used for play back sync.

My Questions are

1) Can DGAVCDec calc the audio offset via PTS? (or will it in the future?)

2) What editor is everyone using to edit and then demux *synced* video/audio? (Like VRD does with mpeg2 which can also fix drops and keep everything in sync via PTS )


my problem is I have to adjust sync manually every time with the tools I have found thus far and if I have even minor drops in the streams then because I have no editor to fix sync via PTS I am screwed unless I want to spend lots of time manually shifting around audio chunks.

I'm curious as to how everyone else is dealing with these problems?

thanks!

Guest
2nd May 2008, 12:45
AV sync is coming for DGAVCDec. Please be patient.

jj666
2nd May 2008, 18:17
Hi, ive read a whole load of pages with no obvious answer, but..

Im trying to load an .h264 file demuxed and indexed into Megui and i get the 'cannot load C:\Program Files\AviSynth\plugins\DGAVCDecode.dll' error.

Ive placed the .dll into plugins folder. Any advice?

Thanks in advance.

Why not keep the .dll file in the original installation directory? It works perfectly fine here with Megui for MANY encodings.

loadplugin("D:\utils\encoding\dgavcdec\DGAVCDecode.dll")
#loadplugin("C:\Program Files (x86)\AviSynth 2.5\plugins\decomb.dll")
avcsource("__vid__")

Thanks for a great program Neuron2, didn't fail me yet for Sky HD broadcasts :-)

-jj-

bob0r
2nd May 2008, 20:28
@neuron2

Since the absense of Haali, due to real life issues, i'll have to ask you:
Can you make a fix for itv.h.264.1440x1080.ts (http://x264.nl/h.264.samples/force.php?file=./may.2008/itv.h.264.1440x1080.ts) its detected as MPEG2, forcing -demuxer h264es with mplayer.exe got me the proper raw file.
Demuxing with dgavcdec gets me a wrong .avc file.

And if you are in the mood for fixing:

04-13_18-59-45_CANALPLUS_FILM_HD_(AC3)_Sentinel_The.ts (http://x264.nl/h.264.samples/force.php?file=./apr.2008/04-13_18-59-45_CANALPLUS_FILM_HD_(AC3)_Sentinel_The.ts) has no audio stream detected, also Haali's gdsmux.exe creates a choppy .mkv using that file, so something is wrong with that .ts also.

+ i have some old swiss hd capture aswell, which crashes with dgavcdec, can you check it out and see what the errors in this .ts file is?
swiss.bad (http://64.85.162.133/?dir=./swiss.bad)

Guest
3rd May 2008, 19:14
Downloading all three...

Guest
3rd May 2008, 19:22
Can you make a fix for itv.h.264.1440x1080.ts (http://x264.nl/h.264.samples/force.php?file=./may.2008/itv.h.264.1440x1080.ts) its detected as MPEG2, forcing -demuxer h264es with mplayer.exe got me the proper raw file.
Demuxing with dgavcdec gets me a wrong .avc file. Everything worked fine for me with this one (using alpha 23). The demuxed AVC file opened again fine in DGAVCIndex. Why do you think it is "wrong"?

SeeMoreDigital
3rd May 2008, 22:35
Can you make a fix for itv.h.264.1440x1080.ts (http://x264.nl/h.264.samples/force.php?file=./may.2008/itv.h.264.1440x1080.ts) its detected as MPEG2, forcing -demuxer h264es with mplayer.exe got me the proper raw file.
Demuxing with dgavcdec gets me a wrong .avc file.Just to let you know... All ITV HDTV streams are "experimental". So there PID's are all over the place!

Currently ITV does not have an HDTV broadcast platform in the UK. Only BBC, C4, Discovery, Sky and some other misc channels do ;)

bob0r
4th May 2008, 11:15
Everything worked fine for me with this one (using alpha 23). The demuxed AVC file opened again fine in DGAVCIndex. Why do you think it is "wrong"?

@Neuron2

When i remux the .avc and .ac3 in .mkv, its all slowed down, MPC reports 4fps or so.

When i demux the .ts with mplayer.exe, the .264 file is also much bigger.

Assuming the demuxed .avc and .ac3 file with dgavcdec should be remuxable (Delay doesn't matter, but it should play 25fps, when muxed as 25fps in mkvtoolnix)

My goal: Cut out the DEMO-LOOP as clean .ts or .mkv file, .mkv prefered.

But as of now, Haali cant even open the .ts to begin with.

@SeeMoreDigital
Indeed, but i did managed to capture the .ts file, using the settings a doom9 member gave me.
All i want is a working .mkv cut from the .ts file.

bob0r
4th May 2008, 13:09
I solved my issue using http://www.videohelp.com/tools/TsRemux
The remuxed .ts can now be opened with Haali's gdsmux.exe.

Both .avs demuxed are the same, so dgavcdec is correct.
Ill ask Mosu to fix this issue when he is alive, same goes for Haali.

Thanks!

Any luck on the broken swiss hd .ts? :)

Guest
4th May 2008, 13:25
When i remux the .avc and .ac3 in .mkv, its all slowed down, MPC reports 4fps or so. I tried mkvtoolnix 2.2.0 and set the FPS in the Format specific options tab. Everything worked fine and the output was an MKV that played at 25fps and was reported as such by MPC. I don't know if it is relevant but I named the raw AVC file with a '.264' extension.

Guest
4th May 2008, 13:31
04-13_18-59-45_CANALPLUS_FILM_HD_(AC3)_Sentinel_The.ts (http://x264.nl/h.264.samples/force.php?file=./apr.2008/04-13_18-59-45_CANALPLUS_FILM_HD_(AC3)_Sentinel_The.ts) has no audio stream detected Alpha 23 detects an AC3 and an MP2 and I can demux both of them.

bob0r
4th May 2008, 13:46
Alpha 23 detects an AC3 and an MP2 and I can demux both of them.

Hmm indeed i see it also now, weird, thanks for checking them!

bob0r
4th May 2008, 13:56
I tried mkvtoolnix 2.2.0 and set the FPS in the Format specific options tab. Everything worked fine and the output was an MKV that played at 25fps and was reported as such by MPC. I don't know if it is relevant but I named the raw AVC file with a '.264' extension.

mkvtoolnix: 2.1.0: http://files.x264.nl/itv.hd.remux.choppy.mkv
mkvtoolnix: 2.2.0: same result, can you share a sample of your .mkv?

Guest
4th May 2008, 14:10
mkvtoolnix: 2.1.0: http://files.x264.nl/itv.hd.remux.choppy.mkv
mkvtoolnix: 2.2.0: same result, can you share a sample of your .mkv? No point, really, because yours plays just fine and smooth for me.

What AVC codec are you using?

Flaarn
4th May 2008, 14:29
Ok , I'll jump in here, there will be some oddities if you capture further test streams with itv hd, as they are playing with the parameters right now, in the last few hours they have been playing with the audio channels, ie left/right channel testing.
It reminds me of the very early bbc hd testing, but at least there are some dvb apps out there that can handle it now, basically expect some further strangeness for a few days until it goes "live".

bob0r
4th May 2008, 14:31
CoreAVC Decoder :O)

Guess we just found another .mkv/coreavc bug (as .ts plays just fine)


I have another question for you Neuron:
Pengvado just told me a little about colorspaces and the matrixes used (tv/pc level) My question: Does dgavcdec (libavcodec) always set the same level as the source is?

"Is dgavcdec "decoding" the video and serving the results to the encoder, or does it work another way"?

Guest
4th May 2008, 15:30
Pengvado just told me a little about colorspaces and the matrixes used (tv/pc level) My question: Does dgavcdec (libavcodec) always set the same level as the source is? DGAVCDec passes the YV12 through as is.

"Is dgavcdec "decoding" the video and serving the results to the encoder, or does it work another way"? DGAVCDec decodes the video using libavcodec and passes uncompressed video out via Avisynth using DGAVCDecode.dll.

ChiDragon
5th May 2008, 18:37
I'm having issues with another movie now... for one thing the # of frames is too short and thus the length doesn't match up with DirectShowSource or the PS3.

Here's a chunk (http://chidragon.thedessie.com/00000.TSSplit.1-670.m2ts), I'm not sure how much this will help since it doesn't seem to have the same shorter length issue. Here the # of frames appears the same in DGAVCIndex and DirectShowSource but less with AVCSource. The full movie has seeking issues with AVCSource, and so does this clip. "Go to" frame 67 and it's different than if you seek to it from 0. "Go to" frame 100 = Visual C++ runtime error.

Gannjunior
7th May 2008, 01:26
Hi neuron,

i'm doing a test and i'm simulating an "avc-intra" compression.
So, to get it, i managed megui to have GOP=1 and minimum i-frame interval to 1, to be sure to have only I-frame encode.

Since i'm calculating some sessions of SSIM and PSNR, i used DGAVC to prepare the comparison script.
but i've noticed that dgavc sees only one frame of my clip. (i tried to play it in mpc and it is ok).
i hope to have explained myself...

pls let me know if there is a solution.

thanks!
ciao

Guest
7th May 2008, 02:16
@Gannjunior

I need a stream that allows me to duplicate your issue.

Gannjunior
7th May 2008, 20:16
here it is neuron. thanks!

http://www.savefiles.net/d/85otcvj2jh5yh.html

MBoufleur
23rd May 2008, 16:52
Hi neuron2,

I've recently received three TS files with unusual SI tables. Those are all files captured off the air in SBTVD format (similar to ISDB-T), so it's not DVB, nor ATSC.
SBTVD is the new Terrestrial Digital Television Standard in Brazil, recently developed and taking it's basis from Japanese ISDB-T, but using H.264 HD for video and AAC for audio.
It is usually has 2 programs inside the transport stream: 1 for HD in 1080i and another one for mobiles using Baseline profile.

It seems no computer software is able to play these files correctly to date. Most can display video, but no audio.

I was able to change between programs in the TS File using Graphedit and ArcSoft MPEG Demuxer, but I could'nt find any AAC decoder filter that would connect to the ArcSoft Demuxer, and the ArcSoft audio filter doesn't seem to play AAC. MainConcept Demuxer also works, but only extracts the Baseline part, so I'm pretty much stuck there.

Strangelly, some playout applications incorrectly identify the AAC streams as MPEG-1 audio, such as MPC and DGAVCIndex as well (see below).

MediaInfo (http://mediainfo.sourceforge.net/en) seems to be an app that can identify all streams correctly, but it does not display tables information, nor does it separate streams by programs.

I'm making these three TS files available for download, for testing purposes. There is a full 3 min. version for each of these three files (around 250MB each), and smaller 2MB versions for quick tests.
You can download these files here (http://www.cbclip.com.br/Manhattan).
Username: Manhattan
Password: M4nh4tt4n

Some things I noticed using DGAVCindex:
- Sample 1 shows Mpeg Audio available in Audio Demux, but the same PID is identified as AAC LATM/LOAS in "Detect PIDs" menu;
- Sample 2 makes DGAVCIndex to crash while saving project with the complete file;
- Sample 2 is the only one of the three samples with 2 programs. If you click on "Set PID" Menu in DGAVCIndex, it automatically shows the Program 1 Vídeo PID with the PCR PID from Program 2.
- Sample 2 shows 25fps for the Baseline information window. In MediaInfo, it states that the stream is VFR.
- Sample 3 shows no audio for demuxing in "Audio Demux" window.

I know H.264 is itself is a relative new standard, and DGAVCIndex is in it's beginning. If you think these files might be worth of debugging, I would be very grateful.

Guest
23rd May 2008, 17:02
@ChiDragon and Gannjunior

I have your streams. I want to get DGMPGDec 1.5.0 out the door today and then I will look at them.

@MBoufleur

Your link to the streams is not working for me.

MBoufleur
23rd May 2008, 17:08
After you click the link, you'll be redirect to a web page with a dialog box. You just have to press OK to view the page content.

Edit:
I just found out that the link I previously written doesn't work with IExplorer due to security concerns (it was working fine with Firefox, though...).
I removed the username and password from the link itself and unfortunately, one will have to type them when accessing the webpage.

Guest
23rd May 2008, 18:12
That audio is AAC LATM/LOAS. I don't support that yet, and I can't predict when I may get to it.

MBoufleur
23rd May 2008, 18:48
When you mean support, it means that the file cannot be demuxed, or decoded (like the function "convert to WAV" from DGIndex)?

Inventive Software
23rd May 2008, 19:00
Decoded. DGAVCDec primarily uses libavcodec for audio and video decoding, so if that doesn't support it, DGAVCDec won't.

Schmendrick
23rd May 2008, 23:35
@Mboufleur: You can demux all the streams with TSRemux. The "MPEGaudio"-files you have to rename *.aac. Winamp is able to play these files and also to convert them to Wav-files. Thus you could e.g. reencode them either to real MPEG-audio or to AC3 and then remux these audiofiles back with TSMuxer.

In the meantime I have downloaded one full sample video. Using TSRemux I demuxed the video- and the audio-stream as avc- and aac-file resepctively. The aac-file I converted into a stereo-wav-file using Winamp with its file-output-plugin. Then I encoded this wav-file with Belight using the AC3enc-encoder into a stereo AC3-256kbit-file. Opening the original "mpg"-ts-file with a hex editor I searched for the first PTS-value of the video stream which can be found if you search for the first occurence of the video flag string "00 00 01 E0" and then the five bytes of the PTS value which is located with a 5 bytes offset after the video flag. In the first sample it is "31 00 CD 33 9D". Then you have to search for the first PTS-value of the audio stream which can be found if you search for the first occurence of the MPEG-audio flag string "00 00 01 C0" and then the five byted of the PTS value which is located with a 5 bytes offset after the MPEG-audio flag. Here it is "21 00 C7 F1 91". As these values are different you have to calculate the time offset so how many seconds the audio is playing too early in this case as the audio-PTS is smaler than the video-PTS, as the least significant bit of the first byte of the PTS values can be ignored so that the "31"-value is equal to the "21"-value of the different PTS-values. As the calculation of the PTS values which is documented in the MPEG ISO standards is quite complicated I have written a simple VideoPTS-Calculator programme:
http://www.alice-dsl.net/schmendrick/VideoPTSCalc.exe
which uses .NET-2.0. You can enter the video PTS-value as the ASCII-string of the hex values of the first five bytes "21 00 CD 33 9D" in the left input box, then guess the time offset value (shift(sec)) in seconds e.g. "-0.82211" which is -822.11 milliseconds, then click on "compute" and obtain the audio PTS value in the right box "new VideoPTS". If you experiment a little with the "shift(sec)"-value you are able to find the exact offset value.

Then using TSMuxer you can remux the avc-video file with your new AC3-audio file using the time offset value in this case -822 milliseconds to obtain a perfectly synchronous ts-file which can be properly displayed e.g. using PowerDVDUltra.

I hope this method works for you. You can contact me if you have problems.

Schmendrick

Gannjunior
24th May 2008, 00:08
@ChiDragon and Gannjunior

I have your streams. I want to get DGMPGDec 1.5.0 out the door today and then I will look at them.

...

don't worry, look it when you can ;)

thanks,
ciao!

MBoufleur
26th May 2008, 21:31
@Schmendrik: indeed, I was able to demux some streams with TSremux. It's a remarkable tool and I guess it helps lots of people. I didn't know about this one though, but I'm glad you pointed it to me! :thanks:

TSremux has some small issues however:
- In stream 2, one cannot see the streams divided by structure, and it gets confusing as to which audio belongs to which video, by which PID...
- In steam 2 again: after saving the streams to elementary stream files, Upper Audio 18 is equal to the lower Audio 18, and Upper Video 17 is equal to Lower Video 17 - when it shouldn't. Those are two different audio and video streams and their output elementary stream files should not be the same. I used Manzanita do demux the same streams for comparison purposes, and all streams matched the exact size of the files from TSRemuxer (Video 17 is HD video, and Audio 18 is mobile audio). Perhaps some misconfiguration when identifying the streams without separating them by program, and then displaying them makes one equal to another?

@neuron2: Stream 2 (the bigger one) makes DGAVCIndex crash halfway when saving to DGA file. Only happens with this one, and always at the same point (frame 3414).

@Inventive Software: It seems some of the streams I'm running through DGAVCIndex and serving to VirtualDub end up showing some blocks on the middle of the image (at some points). At first I thought this was only for display, but when moving forward and backward frame by frame in VirtualDub, one can see that they will end up appearing in the final video. Is this caused by some decoding configuration in libavcodec that I could disable (In Loop Deblocking filter, maybe)?

Inventive Software
27th May 2008, 00:11
@Inventive Software: It seems some of the streams I'm running through DGAVCIndex and serving to VirtualDub end up showing some blocks on the middle of the image (at some points). At first I thought this was only for display, but when moving forward and backward frame by frame in VirtualDub, one can see that they will end up appearing in the final video. Is this caused by some decoding configuration in libavcodec that I could disable (In Loop Deblocking filter, maybe)?

That sounds like either a libavcodec decoding error, or a DGAVCDec error. Does the same thing occur with DGAVCIndex? If so, upload samples of those streams somewhere so that neuron2 can fix the bug and improve the program further. :)

Does it happen if you use DirectShowSource with ffdshow's H.264 decoder enabled in its config so it's used as the decoder?

MBoufleur
27th May 2008, 00:37
That sounds like either a libavcodec decoding error, or a DGAVCDec error. Does the same thing occur with DGAVCIndex? If so, upload samples of those streams somewhere so that neuron2 can fix the bug and improve the program further. :)

Does it happen if you use DirectShowSource with ffdshow's H.264 decoder enabled in its config so it's used as the decoder?

As for the crash, MPC using FFDshow doesn't crash at that specific point (although it doesn't play at full speed either)...

As for the blocks while decoding, It's the same error, so it should be liabvcodec's error. I used FFdshow and MPC to play some content, paused in a frame, and compared to the same frame in DGAVCIndex. Both look identical...

I would say it looks like bad interlace implementation for H.264 in libavcodec since it's been the Achille's heel of many H.264 decoders I've seen (specially for HD). VLC for example, also used libavcodec, but it couldn't display MBAFF in a proper way.

What does it really mean when the stream is neither MBAFF nor PAFF, and the content is interlaced? I always thought that either one of these two would appear if the content would come interlaced.

Anyway, All samples remain in the same place, so if you want to use the same files for more testing and debuging, the link from my first post should be ok.

Inventive Software
27th May 2008, 01:45
Interlacing = PAFF or MBAFF, there is no "alternative" interlacing method for H.264/AVC. I'd pin the blame on PAFF decoding, MBAFF decoding I think has been solid for a while. I shall take a look myself tomorrow, but if it's PAFF I'd consider letting ffmpeg's developers know, since they're the primary libavcodec developers.

SeeMoreDigital
27th May 2008, 16:09
Interlacing = PAFF or MBAFF, there is no "alternative" interlacing method for H.264/AVC. I'd pin the blame on PAFF decoding, MBAFF decoding I think has been solid for a while. I shall take a look myself tomorrow, but if it's PAFF I'd consider letting ffmpeg's developers know, since they're the primary libavcodec developers.Sony and Panasonic's AVC camcorders produce "Fields TFF" sources...

Inventive Software
28th May 2008, 03:13
Flexible interlaced-scan video coding features, including:
Macroblock-adaptive frame-field (MBAFF) coding, using a macroblock pair structure for pictures coded as frames, allowing 16×16 macroblocks in field mode (compared with 16×8 half-macroblocks in MPEG-2).
Picture-adaptive frame-field coding (PAFF or PicAFF) allowing a freely-selected mixture of pictures coded as MBAFF frames with pictures coded as individual single fields (half frames) of interlaced video.

Either the software you used to tell you that's wrong, or Sony & Panasonic really messed up...

SeeMoreDigital
28th May 2008, 18:04
Either the software you used to tell you that's wrong, or Sony & Panasonic really messed up...Just so as you know: -

DGAVCIndex reports the "Frame Structure" as being "Fields TFF".

MediaInfo reports the "Scan Type" as being "Interlaced" and the "Scan Order" as being "Top Field First".


Cheers

Inventive Software
28th May 2008, 22:09
That's fine, so nothing tells you whether it's PAFF or MBAFF?

Guest
29th May 2008, 00:22
DGAVCIndex says "MBAFF" for MBAFF and "Fields TFF" or "Fields BFF" for PAFF.

Inventive Software
29th May 2008, 04:46
DGAVCIndex says "MBAFF" for MBAFF and "Fields TFF" or "Fields BFF" for PAFF.

Perhaps relating the "Fields TFF" and "Fields BFF" to PAFF in the DGAVCIndex documentation would be useful. I didn't see any mention of PAFF.

Guest
29th May 2008, 04:49
You won't see any mention of "PAFF" in the AVC specification either. :devil:

Inventive Software
29th May 2008, 05:39
Then why's it used? :p

Renzz
3rd June 2008, 15:44
Hi Neuron - I wonder if you might take a look at another sample TS from the new ITV HD channel - sample can be downloaded here (http://www.savefile.com/files/1588061).

I'm getting some odd effects when I try to deinterlace it (strange blockiness around moving edges). I have a feeling dgavcindex isn't handling it too well, resulting in a messed up DGA file.

If it's not dgavcindex that's at fault, can anyone suggest a good way to deinterlace this?

(I should point out that the new ITV HD channel, although broadcasting FTA, is using some sort of non-standard encoding so that only a certain type of satellite receiver can pick it up).

SeeMoreDigital
3rd June 2008, 18:39
(I should point out that the new ITV HD channel, although broadcasting FTA, is using some sort of non-standard encoding so that only a certain type of satellite receiver can pick it up).May I ask where have you read this?


Cheers

Guest
3rd June 2008, 18:45
It's a known problem with libavcodec. Demux the AVC video (you can use DGAVCIndex) and then open it with DirectShowSource().

Renzz
3rd June 2008, 18:47
May I ask where have you read this?


Cheers

http://www.digitalspy.co.uk/forums/showthread.php?p=23341243&highlight=h222#post23341243

although it's a bit speculative, it seems the only receivers that can pick this up easily are Freesat ones. It is possible on various other FTA receivers but requires more work, since a simple transponder scan will not pick the channel up (it gets identified as a data service with no video PID). As it's being publicised as "Freesat-exclusive" the thinking is that this type of encoding is a way of achieving this.

SeeMoreDigital
3rd June 2008, 19:08
http://www.digitalspy.co.uk/forums/showthread.php?p=23341243&highlight=h222#post23341243

although it's a bit speculative, it seems the only receivers that can pick this up easily are Freesat ones. It is possible on various other FTA receivers but requires more work, since a simple transponder scan will not pick the channel up (it gets identified as a data service with no video PID). As it's being publicised as "Freesat-exclusive" the thinking is that this type of encoding is a way of achieving this.Some of those guys over on DigitalSpy must be having a laugh...

MediaPlayer Classic with FFdshow can play the ITV-HD sample (although my 1-core 2.8Ghz P4 is not fast enough to play it at full frame rate) and displays the samples attributes correctly, i.e: Video: MPEG4 Video (H264) 1440x1088 [Video]
Audio: Dolby AC3 48000Hz stereo 256Kbps [Audio].

DGAVCIndex reports a whole load of stuff on various PIDs that may or may not be active in the transport stream.

Also, after running the ITV-HD sample thru' TSremux, my Ziova CS615 (pre-release sample unit) had no trouble playing it in hardware.

Anyway, until ITV-HD officially launches they can use what-ever PID's they like during their test transmission phase!


Cheers

j7n
8th June 2008, 00:50
I apologize if this trouble has been discussed before. This thread is 27 pages long.

I have a problem with an H.264 elementary stream. It plays longer than is indicated by DGAVCIndex and the very end (6 seconds out of two hours) is cut off. This was discovered only after encoding with x264. When seeking to the end, the last frames display properly. Problem only occurs when playing through a significant portion of the file, or maybe the entire file.

I had to make this AVS script to encode the entire file:
raw = AVCSource("The_Fifth_Element_-_Remastered.dga", deblock=true)
raw = crop(raw,4,148,-4,-144)
raw = LanczosResize(raw,1280,528)
endraw = trim(raw,180800,0)
end = trim(endraw,14,0)
raw + end

I can't think of a way to show this in action. Obviously it's impossible to upload the whole two hours of video. (Possible but probably not worth it.)

Guest
8th June 2008, 01:03
Please post a link to the DGA file or attach it.

j7n
8th June 2008, 03:25
http://j7n.sytes.net/temp/The_Fifth_Element_-_Remastered.dga.rar

Guest
8th June 2008, 14:02
Counting FRM in the DGA gives 180967 frames.

I don't understand what you are doing with the trims in your script.

First, you set endraw to include the last 167 frames. Then you set end to include the last 14 frames of endraw. You could have done that in one operation. Then you concatenate the original file with the last 14 frames. Why are you doing all this?

Please make a DGA file for the encoded x264 file and post that. If the frame count is correct, then it is a player issue.

j7n
9th June 2008, 01:47
If multiplexed together with unmodified audio, both streams are possibly off by no more than 100ms at the start of credits – not by 5-6 seconds as might be expected if there were doubled frames.

I demuxed the file transcoded (http://j7n.sytes.net/temp/demuxed.DGA.rar) from this AVS with mkvextract. DirectShowSource("x264output.mkv") with Haali splitter and ffdshow tells that there are 181122 frames [2:05:54]. However AVCSource("x264output_demuxed.dga") says there are only 180752 frames [2:05:38].

I don't understand what you are doing with the trims in your script.
Seeking with DGAVCIndex in the original *.264 produces artifacts (http://j7n.sytes.net/temp/demuxed-artifacts.jpg). Now that I think about it several trim()s would probably not made a difference. But the result was perfect, so I left it that way.

Guest
9th June 2008, 02:30
You didn't tell me what the trims and concatenation are for.

I'm not clear on what problem you are reporting. DGAVCDec gets less frames than DirectShow? You get artifacts when decoding a stream? Both?

Can you demonstrate the problem with a smaller stream that you can give me? If not, it's going to be difficult to do anything for you, unless you want to mail it to me.

j7n
9th June 2008, 03:17
You didn't tell me what the trims and concatenation are for.
When playing the whole stream with AVCSource() in one shot, I get slightly less frames than there actually are. It is possible to recover and use the lost frames using trim().

Double trimming was indeed pointless. Articacts only appear when seeking backwards.

Guest
9th June 2008, 04:26
I can't help you without any streams.

G_M_C
10th June 2008, 12:12
Hi Neuron2,

As you might know, i've been a long-time user of DGAVCDec (since the first Alpha as a matter of fact). I just drop in now and then to thank you for your effords, and for your work; Just as i do now.

But we've been on alpha's a long time now, and alpha 23 seems to "be around" longer than other, previous, versions. And i wonder if this time between updates is because you are planning a new update, and if the "beta-stage" is allready in sight ....

:)

Guest
10th June 2008, 12:22
I was working on DGMPGDec 1.5.0. Now I'm taking a little rest before doing another spurt on DGAVCDec. I have less time nowadays due to lifestyle developments. :)

audyovydeo
10th June 2008, 12:39
have less time nowadays due to lifestyle developments. :)

<trivia>

"One small lifestyle development for one man, one giant loss for the AVC community"

</trivia>

Guest
10th June 2008, 13:55
It's not so small. :)

G_M_C
10th June 2008, 15:22
It's not so small. :)

Might not be small but it is :) aparently ... Can we/shall we congratulate you on anything maybe ?

Guest
10th June 2008, 16:15
Not small but not quite that big! But thank you.

Guest
17th June 2008, 14:57
i'm doing a test and i'm simulating an "avc-intra" compression.
So, to get it, i managed megui to have GOP=1 and minimum i-frame interval to 1, to be sure to have only I-frame encode.

Since i'm calculating some sessions of SSIM and PSNR, i used DGAVC to prepare the comparison script.
but i've noticed that dgavc sees only one frame of my clip. (i tried to play it in mpc and it is ok).
i hope to have explained myself...

pls let me know if there is a solution.
I have a fix for this and will post it this evening. Thank you for pointing this out. My code for detecting a new picture was missing a clause.

Guest
18th June 2008, 13:13
* Fixed a bug that caused DGAVCIndex to miss frames in the bitstream when indexing. This could cause DGAVCDecode to omit frames.

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

Guest
18th June 2008, 14:48
I'm having issues with another movie now... for one thing the # of frames is too short and thus the length doesn't match up with DirectShowSource or the PS3.

Here's a chunk (http://chidragon.thedessie.com/00000.TSSplit.1-670.m2ts), I'm not sure how much this will help since it doesn't seem to have the same shorter length issue. Here the # of frames appears the same in DGAVCIndex and DirectShowSource but less with AVCSource. The full movie has seeking issues with AVCSource, and so does this clip. "Go to" frame 67 and it's different than if you seek to it from 0. "Go to" frame 100 = Visual C++ runtime error. With the linked sample, I get 8 frames with a preview in DGAVCIndex a24 and 8 frames with AVCDecode(). So no problem found. Can't you give me the larger stream with a couple hundred frames so that I can duplicate your issue with Go To 100?

lexor
18th June 2008, 23:39
Does AVCSource have anything akin to DDS' convertfps=true feature? If not, are there any plans to add it or should I just stick to DSS for that?

Thanks.

Guest
18th June 2008, 23:54
Does AVCSource have anything akin to DDS' convertfps=true feature? No. You have VFR AVC streams?

Guest
21st June 2008, 15:30
Some things I noticed using DGAVCindex:
- Sample 1 shows Mpeg Audio available in Audio Demux, but the same PID is identified as AAC LATM/LOAS in "Detect PIDs" menu; As discussed, the audio is LATM/LOAS but it is not stated as such in the PAT/PMT. Not a bug for DGAVCDec.

- Sample 2 makes DGAVCIndex to crash while saving project with the complete file; That's a DGAVCDec bug inherited from the JM reference software. It wasn't handling the case of an emulation prevention 3 byte at the end of the NALU (which has a special meaning). I have fixed it for alpha 25 to be released shortly.

Anyway, this stream has PAFF that libavcodec doesn't handle correctly.

- Sample 2 is the only one of the three samples with 2 programs. If you click on "Set PID" Menu in DGAVCIndex, it automatically shows the Program 1 Vídeo PID with the PCR PID from Program 2. Fixed for alpha 25.

This stream also has PAFF that libavcodec doesn't handle correctly.

- Sample 2 shows 25fps for the Baseline information window. In MediaInfo, it states that the stream is VFR. I don't understand, because when I load it, it says 29.97.

- Sample 3 shows no audio for demuxing in "Audio Demux" window. That's because there are two streams both declared as LATM/LOAS in the PAT/PMT, and I don't yet support LATM/LOAS.

ChiDragon
21st June 2008, 18:29
With the linked sample, I get 8 frames with a preview in DGAVCIndex a24 and 8 frames with AVCDecode(). So no problem found. Can't you give me the larger stream with a couple hundred frames so that I can duplicate your issue with Go To 100?

That's weird, I certainly thought I linked the sample I was referring to with at least 100 frames. I don't have it anymore, hopefully a24 fixes the issues I was having but if not I'll try to make you a new sample as it happened on a few different vids.

laserfan
25th June 2008, 18:50
Something I noticed today that threw me for a little momentary loop--I'd been watching the Info frame and when it Finished I looked at the video.log and the results therein were different, indeed the log was "old" also i.e. had been written-out ten minutes before the .dga. :confused:

Next I took a screenshot intending to report it here, then (of course?) when I closed the Info window the video.log updated and the info therein matched and it said Finished! too. So the log isn't updated until the Finished! Info window is closed.

I doubt anyone else will notice this but thought I'd point it out anyway... the log updates after the Info window is closed. :)

EDIT: Did this with Alpha 23 btw.

Guest
25th June 2008, 20:46
That will be helpful only to people that don't bother to read the users manual:

"When the Enable Info Log option is checked and the Information Panel is closed, either manually or automatically by DGAVCIndex, a log file is created that contains the information displayed in the Information Panel at the time of closure."

;)

laserfan
25th June 2008, 23:06
That will be helpful only to people that don't bother to read the users manual...Oops you're right of course, there it is! Man I've just never seen product documentation as thorough as yours! Does whatever company you work for appreciate just how good you are? :D

I'm usually pretty good myself at rtfm (especially yours, rtfm means "fabulous") but would never have expected anything tiny like this to be covered! Off now to read it again... :o

Guest
26th June 2008, 05:04
1. Fixed a bug that caused LPCM audio demuxing to sometimes fail when more than one LPCM track was present.

2. The PCRPID is now initialized correctly.

3. Fixed a bug that caused DGAVCIndex to crash for some streams.

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

Gannjunior
27th June 2008, 18:11
I have a fix for this and will post it this evening. Thank you for pointing this out. My code for detecting a new picture was missing a clause.

Are you thanking me?? I thank you always for your great work! :)

When i arrive tonight at home i will try your fix! ;-)

ciao!

Guest
29th June 2008, 19:21
* Fixed a bug that sometimes caused a crash after saving project and then loading a new source file.

* Added detection of audio delay and writing it into the filename of the demuxed audio file.

Regarding the second point, be aware that due to the long GOPs often encountered with AVC streams, you may encounter audio delays that are larger than you are used to with DGMPGDec. I've tested it a bit but your feedback on this will be useful.

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

canTsTop
29th June 2008, 19:38
thank you neuron2 for this update, audio delay detection was one of few futures i wanted to see most in DGAVCDec :)

maybe in next update you can add AVS Template support for audio delay

:thanks:

lexor
30th June 2008, 20:41
Great job as always neuron. I've got a question though, how is Bitrate(Max) calculated? I see Bitrate(Avg) fluctuate between ~1.9 and ~2.2 yet Bitrate(Max) is 19.6. The minimum bitrate must be very low for very long time to keep average so low compared to max. Also does that Bitrate(Max) value take into account the audio track? The total max bitrate is a useful information to have if one uses tsMuxer to create a cbr stream.

And another thing, this is more of a request than a question. When you want to open the file, the "Open" dialog defaults to "All AVC Files", I assume that means both the 264/h264 and all the ts variants. If that is correct, is it possible to add .vob extension to the list of ts variants. I have to rename my m2ts file to vob so my media player can stream it to my PS3, your tool still works great, it's just annoying to have to change the drop down list to "All Files" all the time.

Thank you.

Guest
30th June 2008, 21:47
Every 30 coded frames this occurs:

1. Adjust number of coded frames to the number of displayed frames by adding as needed for frame or field repeats seen during that time.

2. Calculate the time for those as (displayed frames / frame rate).

3. Calculate the video data rate as:

rate = bytes_delivered * 8.0 / time / 1024000.0;

4. Print the highest rate seen since start of decoding as the max bitrate.

I'm not too keen on adding VOB as a file type because it is not an AVC container. It would be more appropriate to ask your media player author to support the m2ts extension.

dererik
2nd July 2008, 15:05
Hello neuron2

DGAVCIndex.exe does not work with the following file:

http://erik.m13s10.vlinux.de/temp/00006.MTS

but it works with that one:

http://erik.m13s10.vlinux.de/temp/00014.MTS

same camera, Canon HG10

We have had some discussion here:

http://forum.videohelp.com/topic346331-150.html?sid=ce8c1a441a733669a2c158813968d762#1862737

Maybe you have an idea
thanks in advance
erik

Guest
2nd July 2008, 17:24
I don't see any relevant discussion at the link you provided.

What exactly do you mean by "does not work"?

Atak_Snajpera
2nd July 2008, 18:20
Nothing happens when you import that file in DGAVCDec. I remuxed that file in TSRemux (ts and m2ts) and still nothing.

dererik
2nd July 2008, 21:59
Sorry, I was not very precious:

I tried soopafresh Mini Guide - AVCHD to Anything Using DGAVCdec

http://forum.videohelp.com/topic346331.html

I tried various versions, but I got these error messages: ACVSource: No GOPs found (no IDRs or recovery points). *.avs, line 4.

That occured only with big files (> 50 MB) what we found: The problematic MTS file is missing IDR keyframes, so DGavcIndex and Libavcodec can't index it properly. Converting does work with Vegas or TMPGenc.

soopafresh told me, that you are going to request a file for further testing.

I thought, these files migth be of interest for you.
erik

Guest
2nd July 2008, 22:43
I see no IDR and no recovery point in the file. According to the AVC spec, I don't see how decoding can be achieved. What do you suggest?

I could pretend that I saw an IDR at the start of the file, but it's a pretty horrible kludge and I'm not sure it would even work.

AnnaFan777
2nd July 2008, 23:32
Hi:

Can DGAVCIndex add option to "Save as Avi", just like the original DVD2AVI.
many end users don't have avisynth's concept, a few lines of script is too
hard for moms and pops, they just want to convert their HDcam vids to Avi/divx.
This may make DGAVC more complete and save people big money. (no more adobe)

Thanks..

LoRd_MuldeR
2nd July 2008, 23:37
DGAVCIndex is used to index and access AVC streams, not to mux them into any kind of container.
Even if muxing would be supported, then not to AVI. MP4 or MKV would be appropriate containers for AVC content.

If you rally want to mux AVC into AVI use a tool called "avc2avi" (use search).

jonathonsunshine
4th July 2008, 16:39
howdy all

I have used ur app (a26) to index a few m2ts files from blurays. One worked fine (at least I assume it did, i havn't watched the encode I made all the way through) another has had glitches throughout, garbage frames and dropped frames.

Can some please recommend me a tool to cut out an offending sample to post it here?

Guest
4th July 2008, 16:51
You can use DGSplit to split off the first (say) 20MBytes of your stream. Configure it for 20MBytes and then when it starts writing the second file, kill it. Then upload the first split file.

Maybe it's field encoded (PAFF) in a way that libavcodec does not yet decode properly.

amango
6th July 2008, 10:31
The parts of the icons where i can usually select the video in DGIndex [ ] are grayed out in DGAVCDec. Isn't there a way to activate it?

Guest
6th July 2008, 16:08
It's not yet implemented. Be patient, that's what I am working on now.

amango
6th July 2008, 16:12
Cool! ;)

canTsTop
12th July 2008, 16:12
i noticed strange behavior of DGAVCIndex alpha 26 information window Frame struct field:

1. open ts file and save project Frame struct: BFF
2. open ts file and preview Frame struct TFF
3. open ts file and preview until first Frame struct TFF report, then stop preview and save project, Frame struct TFF
4. open ts file and preview until end, then save project, Frame struct BFF

here is sample ts http://www.mediafire.com/?yjscbgtcm0m

here is video of 4. open ts file and preview until end Frame struct TFF, then save project, Frame struct BFF http://www.mediafire.com/?wnfmxz4ei9c

Snake91
12th July 2008, 21:27
Probably crazy idea but I have to ask at least:) How about adding support for Blu-Ray playlist (MPLS) so user could index whole movie in correct order. I'm sure that Tsmuxer author could help.It's a very good idea IMHO, I hope it will be in next version:thanks:

Guest
14th July 2008, 23:15
i noticed strange behavior of DGAVCIndex alpha 26 information window Frame struct field Thanks for pointing it out. I have it fixed and will release a new alpha tonight with that fix and some other fixes.

Guest
15th July 2008, 05:03
1. In DGAVCIndex, made the GOP back operation (<) more reliable.

2. Fixed a bug that sometimes caused a crash on random access.

3. Fixed a regression that caused the audio streams to not be shown in the Info dialog during a Preview operation.

4. Fixed a bug that caused erroneous (very large) audio delays to be reported.

5. Fixed a bug in the Frame Struct field of the Info dialog that caused a wrong field order to sometimes be shown.

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

canTsTop
15th July 2008, 18:51
thank you for new version :thanks:

i found possible bug, here is sample http://www.mediafire.com/?td9edmyuzwt
then i create project and load dga in avs i get first 50 frames corrupted like this
http://img258.imageshack.us/img258/5615/ltuisldx4.jpg

but if i preview ts file in DGAVCIndex, or using DirectShowSource with ffdshow decoder there is no corrupt frames

p.s. i noticed that __aud__ is already can be used in avs templates, patiently waiting for __del__ support :)

Turtleggjp
15th July 2008, 20:14
Hi Neuron2,

I have been using your program to index my Canon HF100 footage, and I have come across two files now that it does not handle. I usually run it from the command line, and in this mode it just freezes. When I open the file using the normal GUI, it doesn't show any video, and when I go to Detect PIDs: PAT/PMT it says it could not find the PAT/PMT tables. If I try to Detect PIDs: Raw, I get tons of PIDs (hundreds perhaps), all labeled as other. TSMuxer is able to handle these files just fine, and once it has demuxed them, DGAVCIndex does not have any problem. My guess is that it is trying to read this file as a 188 byte Transport Stream file instead of a 192 byte Transport Stream file. I have used DGAVCIndex on over 400 files from my camera now, and so far only two have this problem. All others work just fine (at least for what I need them to, libavcodec can't quite handle the video perfectly yet, but I know that's out of your hands).

Here is a sample file that works fine:
http://www.mediafire.com/?elkdjk2n2m2

Here is a sample file that does not work:
http://www.mediafire.com/?eimis4um3xy

Thanks!

Matt

EDIT: Just tried it with Alpha 27, still has the same problem.

Atak_Snajpera
15th July 2008, 20:35
@canTsTop
Your stream does not start at IDR-Frame therefore you get corrupted frames! Use h264tscutter to fix that. (h264tscutter by default cuts at IDR-Frames so you don't have to change anything)

Here is a sample file that works fine:
http://www.mediafire.com/?elkdjk2n2m2
libavcodec however cannot properly decoded interlaced footage. I see corrupted areas

Turtleggjp
15th July 2008, 21:00
libavcodec however cannot properly decoded interlaced footage. I see corrupted areas

All others work just fine (at least for what I need them to, libavcodec can't quite handle the video perfectly yet, but I know that's out of your hands).

I've seen them too, it's unfortunate that I cannot yet use DGAVCDecode to transcode my footage (I use DirectShowSource along with CoreAVC, painful but it works). I just use it to count the number of frames in each clip, which in turn helps me to trim the audio so it stays in sync when I join several of my files together. At least DGAVCIndex can open and index the file, whereas it can't even do that with the sample that does not work.

Guest
16th July 2008, 01:51
My guess is that it is trying to read this file as a 188 byte Transport Stream file instead of a 192 byte Transport Stream file. You're a great guesser. I have it fixed and it will be in the next alpha. It's the same fix I recently made for DGMPGDec 1.5.2. Why is video data all of a sudden emulating transport sync all over the place? :)

Guest
16th July 2008, 01:57
...load dga in avs i get first 50 frames corrupted like this...but if i preview ts file in DGAVCIndex...there is no corrupt frames That's a bug, because the two should match. If DGAVCIndex can skip to the first IDR, so should DGAVCDecode. I suspect an SPS or PPS is getting missed. I will investigate.

Yoshiyuki Blade
16th July 2008, 03:13
You're a great guesser. I have it fixed and it will be in the next alpha. It's the same fix I recently made for DGMPGDec 1.5.2. Why is video data all of a sudden emulating transport sync all over the place? :)

Is that the same problem I'm having at the moment? (as seen though the screenshots I showed you a few days ago) It does look an awful lot like the video went out of sync and had to "jump" back into place, periodically causing a split-second distortions.

EDIT: Errr nevermind, it seems to be an entirely different issue :D

Turtleggjp
16th July 2008, 14:56
You're a great guesser. I have it fixed and it will be in the next alpha. It's the same fix I recently made for DGMPGDec 1.5.2. Why is video data all of a sudden emulating transport sync all over the place? :)

Thanks! I'll look forward to the update. I had seen this before with TS Packet Editor 0.301 which apparently doesn't even support 192 byte packets. It was reporting different PIDs on each packet as a result. Seeing your long list of PIDs under Raw detection reminded me of this.

canTsTop
16th July 2008, 16:03
neuron2, can you look at this

wrong audio delay detection in this sample http://www.mediafire.com/?ywzxvwmr1ma
DGAVCIndex detects 45ms delay, i tried manually find correct delay, its ~ -1.551ms

thank you

Atak_Snajpera
16th July 2008, 17:40
Always use h264tscutter!!!

Guest
17th July 2008, 00:04
i found possible bug, here is sample http://www.mediafire.com/?td9edmyuzwt
then i create project and load dga in avs i get first 50 frames corrupted like this Alpha 27 has a regression that caused this. I made a hack to fix some crashes on random access in alpha 27, but the hack was too clever by half. So alpha 27 does not have reliable random access.

I investigated the true cause of the crashing problem and found that it was due to re-use of an SPS ID for an SPS with different contents. I have fixed this in my local build so that DGAVCDec can handle this situation, because it is legal according to the specification, although it does says to avoid such SPS ID re-use "when feasible". It wasn't hard to support re-use, fortunately.

I just inject the last parsed SPS (indexed in the DGA file) prior to the requested random access position. A perverse encoder could break that by sending an unrelated SPS prior to a frame, but I've never seen any stream do anything like that. In fact, I've yet to see a stream even use different SPS ID's. If that ever arises (the perverse encoder case), it can be fixed by injecting the last SPS with the correct SPS ID prior to the requested random access position. But that would require me to modify the DGA file format to include the SPS ID, and to include the referenced SPS ID on the PPS index line, and I don't want to modify the DGA file format unless I have to.

I will regression test a bit and then release alpha 28 later tonight. It will have this fix and Turtleggjp's fix. Then I'll address the other issues.

Random access in AVC is definitely not an easy thing. I wonder if that was considered when the specification was defined. It's not just for us transcoders, but set-top boxes and players need to do it for trick modes.

Guest
17th July 2008, 04:24
* Fix transport stream packet length detection for some perverse streams.

* Fix regression in random acces in DGDecode. Handle re-use of SPS ID's.

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

Guest
17th July 2008, 13:13
Oops, alpha 28 is missing the first GOP now in the served video. I'll fix it today.

Guest
17th July 2008, 13:29
OK, fixed. Re-download alpha 28.

canTsTop
17th July 2008, 17:33
thank you for update, this update also fixed previously reported problem with wrong audio delay, it reports same 45ms delay, but synchronization seams to be correct

neuron2, can you look at this

wrong audio delay detection in this sample http://www.mediafire.com/?ywzxvwmr1ma
DGAVCIndex detects 45ms delay, i tried manually find correct delay, its ~ -1.551ms

thank you



have you any near future to do list for DGAVCIndex, its interesting whats coming next :)

Guest
17th July 2008, 19:43
My immediate plans are:

1. Cutting (multiple ranges, not just one).

2. Address libavcodec deficiencies.

3. MP4 support.

What would you like to see?

LoRd_MuldeR
17th July 2008, 19:54
My immediate plans are:

1. Cutting (multiple ranges, not just one).

2. Address libavcodec deficiencies.

3. MP4 support.

What would you like to see?

I'd like to see 1. and then 3. :)

XhmikosR
17th July 2008, 19:58
Me, 2. and after that 1. Thanks, neuron, for keeping updating the DGAVCDec.:)

Yoshiyuki Blade
17th July 2008, 20:04
I'd like to see #2 :eek:. The problem with libavcodec makes it impossible to use DGAVCIndex in my encodes because of the decoding issues.

Thanks for your hard work, neuron2!

Deinorius
17th July 2008, 20:13
First 1, then 3 imho. :)

Ranguvar
17th July 2008, 20:14
2, 3, and MKV support :)

rebkell
17th July 2008, 20:27
I haven't tried with a newer version of DGAVC, but will it be able to read the captures of the Hauppauge HD-PVR? Here is a link to a page that has a couple of samples captured on it:

http://blog.arogan.com/2008/06/hauppauge-hd-pvr-model-1212.html

Search for hdpvr-def.zip and you'll find a link to some short clips he captured with the machine.

Guest
17th July 2008, 21:02
I haven't tried with a newer version of DGAVC, but will it be able to read the captures of the Hauppauge HD-PVR? I tried one of them and it worked fine. It was Fields (TFF) but encoded in a way that libavcodec.dll is happy with. The only thing to watch out for is that you need to enable GOPs (IDRs) for capture, and the more frequently you have them, the faster will be your random access.

I've asked my boss to buy one for us. :)

rebkell
17th July 2008, 21:13
I tried one of them and it worked fine. It was Fields (TFF) but encoded in a way that libavcodec.dll is happy with. The only thing to watch out for is that you need to enable GOPs (IDRs) for capture, and the more frequently you have them, the faster will be your random access.

I've asked my boss to buy one for us. :)

Great, I guess I need to update my DGAVCDec then :o

Turtleggjp
18th July 2008, 00:04
My immediate plans are:

1. Cutting (multiple ranges, not just one).

2. Address libavcodec deficiencies.

3. MP4 support.

What would you like to see?

For me, the biggest help would be #2 (as you may have seen from my video camera's samples). After that, I can handle #1 with AVIsynth if I need to, and I would vote for MKV support over MP4 support.

Oh, and if it's not too much trouble, maybe a command line switch to disable writing of the delay in the audio file's name. My automated process will not work now because it cannot predict the names of the output audio files. :thanks:

elguaxo
18th July 2008, 00:30
I would vote for MKV support over MP4 support

same here. thanks!

rebkell
18th July 2008, 00:40
My immediate plans are:

1. Cutting (multiple ranges, not just one).

2. Address libavcodec deficiencies.

3. MP4 support.

What would you like to see?

I don't suppose #1 would include audio also, would it? That would be total nirvana. :)

Atak_Snajpera
18th July 2008, 00:47
mkv and mp4 support seems to be useless since we have FFmpegSource()

Guest
18th July 2008, 01:14
mkv and mp4 support seems to be useless since we have FFmpegSource() Does it support accurate random access?

Revgen
18th July 2008, 01:45
Does it support accurate random access?

I don't know for sure, but the best seek method (seekmode=0) is alot more accurate than DirectShow.

Unfortunately, the method that is done is much slower than DGAVCDec. It's also full of other codecs and stuff that have nothing to do with H264.

I would prefer MP4 support from DGAVCDec over FFMPEGsource.

EDIT

Here are the seekmodes as described in the FFMPEGSource manual

seekmode: Force how seeking is handled, has no effect on matroska files which always use the equivalent of seekmode=1
-1: linear access without rewind, will throw an error if each successive requested frame number isn't bigger than the last one, only intended for opening images but might work on well with some obscure video format
0: linear access, the definition of slow but should make some formats "usable"
1: safe normal, bases seeking decisions on the reported keyframe positions
2: unsafe normal, same as 1 but no error will be thrown if the exact destination has to be guessed
3: aggressive, seek in the forward direction even if no closer keyframe is known to exist, only useful for testing and containers where avformat doesn't report keyframes properly

lchiu7
20th July 2008, 09:11
That audio is AAC LATM/LOAS. I don't support that yet, and I can't predict when I may get to it.

Any idea how hard it would be to at least be able to output that audio stream as wav? This audio format is now being used by some DVB-T broadcasters and it would be great to be able to convert the audio to something that is more generally playable. Would this help?

http://blog.monogram.sk/janos/2008/03/15/monogram-aac-decoder-0930/

Thanks

Update: When priorities permit just being able to output AAC-HE LATM/LOAS in its native stream would be good. We can find tools to process it after it comes out. Thanks

lchiu7
20th July 2008, 09:22
@Mboufleur: You can demux all the streams with TSRemux. The "MPEGaudio"-files you have to rename *.aac. Winamp is able to play these files and also to convert them to Wav-files. Thus you could e.g. reencode them either to real MPEG-audio or to AC3 and then remux these audiofiles back with TSMuxer.

In the meantime I have downloaded one full sample video. Using TSRemux I demuxed the video- and the audio-stream as avc- and aac-file resepctively. The aac-file I converted into a stereo-wav-file using Winamp with its file-output-plugin. Then I encoded this wav-file with Belight using the AC3enc-encoder into a stereo AC3-256kbit-file. Opening the original "mpg"-ts-file with a hex editor I searched for the first PTS-value of the video stream which can be found if you search for the first occurence of the video flag string "00 00 01 E0" and then the five bytes of the PTS value which is located with a 5 bytes offset after the video flag. In the first sample it is "31 00 CD 33 9D". Then you have to search for the first PTS-value of the audio stream which can be found if you search for the first occurence of the MPEG-audio flag string "00 00 01 C0" and then the five byted of the PTS value which is located with a 5 bytes offset after the MPEG-audio flag. Here it is "21 00 C7 F1 91". As these values are different you have to calculate the time offset so how many seconds the audio is playing too early in this case as the audio-PTS is smaler than the video-PTS, as the least significant bit of the first byte of the PTS values can be ignored so that the "31"-value is equal to the "21"-value of the different PTS-values. As the calculation of the PTS values which is documented in the MPEG ISO standards is quite complicated I have written a simple VideoPTS-Calculator programme:
http://www.alice-dsl.net/schmendrick/VideoPTSCalc.exe
which uses .NET-2.0. You can enter the video PTS-value as the ASCII-string of the hex values of the first five bytes "21 00 CD 33 9D" in the left input box, then guess the time offset value (shift(sec)) in seconds e.g. "-0.82211" which is -822.11 milliseconds, then click on "compute" and obtain the audio PTS value in the right box "new VideoPTS". If you experiment a little with the "shift(sec)"-value you are able to find the exact offset value.

Then using TSMuxer you can remux the avc-video file with your new AC3-audio file using the time offset value in this case -822 milliseconds to obtain a perfectly synchronous ts-file which can be properly displayed e.g. using PowerDVDUltra.

I hope this method works for you. You can contact me if you have problems.

Schmendrick

Hi I got quite excited when I read this post since it seemed to be a way to convert the DVB-T broadcasts in NZ which use H.264 video and AAC-HE LATM audio to something more accessible. I used tsmuxer to separate the streams but I cannot even play the AAC files in winamp, let alone output them as wav files. This is winamp 5.54

Winamp reports the right length in time but as soon as I press play it stops.

Are you able to try your process on files on this page and report your experiences?

http://www.geekzone.co.nz/Fossie/4877

Thanks

amango
20th July 2008, 11:26
I used Alpha 26 with success on many DVB S2-TS streams.

Since Alpha 28 I have always a audio delay after muxing the new encoded video. If I save a project, the audio delay on the demuxed ac3/mp2-file is the same with both versions (listed in the file name, for example "DELAY -1152"), but only the demuxed audio file from Alpha 26 is in synch with the new encoded video.

canTsTop
20th July 2008, 19:20
My immediate plans are:

1. Cutting (multiple ranges, not just one).

2. Address libavcodec deficiencies.

3. MP4 support.

What would you like to see?

is this cutting will be frame accurate (like Trim command in Avisyth)? is it include audio cutting to? it would be incredible!

Address libavcodec deficiencies would be most important for me.

Also Audio delay support in avs template :)

One more future i would like to see: is possibility to specify location of libavcodec.dll in dga file for portability reasons. i like to keep my all avisynth plugins and other tools in tools directory:
loadplugin("tools\DGAVCDecode.dll")
loadplugin("tools\NicAudio.dll")
or mybe DGAVCDecode.dll should also look for libavcodec.dll in same directory from where DGAVCDecode.dll was loaded.

thank you

SeeMoreDigital
20th July 2008, 19:34
I would prefer MP4 support from DGAVCDec over FFMPEGsource.Me too...

Especially as MPEG-4 AVC video and the .MP4 container derive from the ISO/IEC 14496 specification.

audyovydeo
20th July 2008, 21:42
I would prefer MP4 support from DGAVCDec over FFMPEGsource.


Adding one more vote to this motion.

cheers
a/v

Guest
20th July 2008, 23:45
I used Alpha 26 with success on many DVB S2-TS streams.

Since Alpha 28 I have always a audio delay after muxing the new encoded video. If I save a project, the audio delay on the demuxed ac3/mp2-file is the same with both versions (listed in the file name, for example "DELAY -1152"), but only the demuxed audio file from Alpha 26 is in synch with the new encoded video.
Please post a link to a source stream fragment that I can use to duplicate the issue.

Schmendrick
21st July 2008, 15:08
Hi I got quite excited when I read this post since it seemed to be a way to convert the DVB-T broadcasts in NZ which use H.264 video and AAC-HE LATM audio to something more accessible. I used tsmuxer to separate the streams but I cannot even play the AAC files in winamp, let alone output them as wav files. This is winamp 5.54

Winamp reports the right length in time but as soon as I press play it stops.

Are you able to try your process on files on this page and report your experiences?

http://www.geekzone.co.nz/Fossie/4877

Thanks


@Ichiu7:
I am using Tsremux to demux the aac-stream which is indicated as "MPEG audio stream" by Tsremux even though it is an AAC-HE-stream. Using Winamp version 5.5 I am able to decode all but one of the indicated HD-sample streams.
The sample-clip called "Freeview HD sample" is corrupt an cannot be remuxed or played by any programme I have tried.
Looking at the hex code of this ts-file also no recognizable stream flags can be found.

May be you just attempted to open this file.
Nevertheless the only programme which is able to play
these AAC-files is Winamp.

Schmendrick

Guest
21st July 2008, 16:36
Guys, please stay on topic. Use of TSREMUX belongs elsewhere. Thank you.

lchiu7
21st July 2008, 22:30
@Ichiu7:
I am using Tsremux to demux the aac-stream which is indicated as "MPEG audio stream" by Tsremux even though it is an AAC-HE-stream. Using Winamp version 5.5 I am able to decode all but one of the indicated HD-sample streams.
The sample-clip called "Freeview HD sample" is corrupt an cannot be remuxed or played by any programme I have tried.
Looking at the hex code of this ts-file also no recognizable stream flags can be found.

May be you just attempted to open this file.
Nevertheless the only programme which is able to play
these AAC-files is Winamp.

Schmendrick

Getting back OT. I was able to use dgavcindex (not sure which version - possibly Alpha 26) to extract the audio from a DVB-T stream captured recently, so production broadcast. The output file created has a suffix of mpa. One filename also had delay -335ms in it so I assumed that dgavcindex thought that this was delay in the audio.

But after renaming the file to aac suffix, playing it in winamp to get a wav file and converting it to AC-3 when muxed back with the video dgavcindex created in the first step, there was a 1s delay in the audio. When I inserted 1s as the delay in the mux back step the resultant file played fine.

Need to do further testing to see if this is a consistent delay or variable based on the file. It certainly wasn't related to the delay as noted in the filename.

Happy to provide or link to samples for testing

Pookie
22nd July 2008, 04:43
I'm voting for addressing issues with libavcodec. Lots of AVCHD owners out there unable to send their newborn's first burp video to the in-laws because of the more recent file formats.:D (Not completely the case - they can use DirectShowSource instead)

amango
22nd July 2008, 10:25
Please post a link to a source stream fragment that I can use to duplicate the issue.

http://rapidshare.de/files/40050488/Sample.ts.html

There are 3 audio streams - use "40". I demuxed it with Alpha 26 and Alpha 28 and made an Xvid video out of both.

The video from Alpha 26 is in synch.
The video from Alpha 28 is out of synch (+400 ms ?).

I know this is a bad sample (a dancing scene) - but watch at 00:43 between a scene change. The last word of the woman ends before the scene changes (encoded Alpha 26-video). In the Alpha 28-video the last word can be heard over the next scene.

Both versions are reporting the same delay but only Alpha 26 is in synch.

Guest
22nd July 2008, 13:37
Both versions are reporting the same delay but only Alpha 26 is in synch. Are you sure about that?

I tried both versions on audio ID 40. They both served 3220 frames starting with the same frame via the Avisynth script, and the demuxed audio files were bit-for-bit identical. Are you sure you used the same script and encoding for both cases? If so, give me your script. I'm thinking you must have forgot to adjust for the audio delay when using alpha 28.

amango
22nd July 2008, 14:56
This is my script:

avcsource("%source_file%",deblock=true)
LanczosResize(720,576)
Assumetff().SeparateFields().SelectEvery(4, 0, 3).Weave()
tdeint()
degrainmedian()
undot()
Limiter()

I encode the audio with Besweet (128 KB VBR) and mux audio and video together with VirtualDubMod.

Every video I tried gives me a delay with Alpha 28, but not with Alpha 26. Don't know why.

Guest
22nd July 2008, 15:00
Where are you adjusting for the audio delay?

Do what I did: Make the project with both versions. Then serve the AVS script into VirtualDub and check that the starting frame and number of frames is the same for both. Then compare the audio files to see if they are identical. You'll see that the video and audio are identical coming out of both versions. Therefore, it must be something in your subsequent process that is going wrong.

Guest
22nd July 2008, 15:07
Regarding your script:

The sample is progressive with every frame duplicated. So you can just do:

SelectEven()

I don't understand the point of your script. You're resizing before deinterlacing and the Assumetff().SeparateFields().SelectEvery(4, 0, 3).Weave() line makes no sense to me for this sample. That's generally used when reinterlacing after bobbing.

amango
22nd July 2008, 15:12
I just copied this script from one user from videohelp.com who wanted to convert 720p50 to SD.

I really don't know why. I am using "DVX" (from Stax) for years now.

Usually I do this all the time to encode videos:
I start DGIndex or DGAVCDec - Save a project. Then I drop the index file from your programs to DVX. DVX recognites the delay from the audio file name. I cut the video and start the encoding process. DVX uses Besweet and starts VirtualDubMod to mux the video.

Soon after I updated to Alpha 28, I got this delays in my files. Reverting back to Alpha 26, they were all in synch again.

I will try it again manually as you said.

G_M_C
22nd July 2008, 15:30
I just copied this script from one user from videohelp.com who wanted to convert 720p50 to SD.

I really don't know why. I am using "DVX" (from Stax) for years now.

Usually I do this all the time to encode videos:
I start DGIndex or DGAVCDec - Save a project. Then I drop the index file from your programs to DVX. DVX recognites the delay from the audio file name. I cut the video and start the encoding process. DVX uses Besweet and starts VirtualDubMod to mux the video.

Soon after I updated to Alpha 28, I got this delays in my files. Reverting back to Alpha 26, they were all in synch again.

I will try it again manually as you said.

The strange thing with your script is that you interlace first, and than try to de-interlace again. That makes no sence.

720p50, are you shure it is 720p50 ? If so, try to load the clip plainly (only with the AVCSource-line) into VDub. Slowly walk through a reasonable portion of the clip, and find out it there a frame-duplicates (and)or frame-blends.

If the original (unblended/unduplicated) frames occur on the even frames use "SelectEven()" use SelectOdd() when those frames occur on the odd-ones. Then put the line "AssumeFPS (25,1,True)" and see if the whole clip still syncs with your audio.

Guest
24th July 2008, 03:23
1. Implemented project range selection, i.e., the [ and ] buttons are now functional.

2. Revised popup error/warning handling so that individual error types can be selectively suppressed.

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

Currently, only a single range is supported, as in DGIndex. I want to get feedback on that before attempting to support multiple ranges, which is very difficult.

Note there are bugs in the Windows trackbar for themed desktops. To work around it, I enabled the ticks bar as well. Either the ticks bar or the main trackbar will show your selection range, depending on your OS and desktop settings. I haven't yet found a clean solution, short of implementing my own trackbar (as Avery does in VirtualDub; I'm not that masochistic :)).

rebkell
24th July 2008, 04:20
1. Implemented project range selection, i.e., the [ and ] buttons are now functional.

2. Revised popup error/warning handling so that individual error types can be selectively suppressed.

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

Currently, only a single range is supported, as in DGIndex. I want to get feedback on that before attempting to support multiple ranges, which is very difficult.

Note there are bugs in the Windows trackbar for themed desktops. To work around it, I enabled the ticks bar as well. Either the ticks bar or the main trackbar will show your selection range, depending on your OS and desktop settings. I haven't yet found a clean solution, short of implementing my own trackbar (as Avery does in VirtualDub; I'm not that masochistic :)).

So far so good, I should be getting my Hauppauge HD-PVR Friday and I'll give it a workout, I just tried it on a small clip and it appeared to work great, everything in sync. It reported a 10ms delay, but I'm not sure I'm sharp enough to notice a 10ms sync :D

Guest
24th July 2008, 04:25
Thanks for the feedback.

Please re-download alpha 29, as I just fixed a bug that prevented you from doing > or playing past the ] position. Only preview and save project should honor the ] position.

lchiu7
24th July 2008, 07:05
I know you don't support LATM/LOAS audio streams in .ts files but dgavcindex certainly knows they are there when you do Detect PIDS and occasionally they show up when you do Audio Demux.

How hard would it be to implement limited support - i.e. recognise the streams correctly and allow them to be demuxed from the H.264 video? On occasions I have been able to demux them from some files and convert to wav using winamp, on other occasions while there is audio in the file (same format) dgavcindex doesn't see any audio at all.

Don't need to have convert to wav which I guess would be more work to implement.

Thanks

Guest
24th July 2008, 14:42
How hard would it be to implement limited support - i.e. recognise the streams correctly and allow them to be demuxed from the H.264 video? On occasions I have been able to demux them from some files and convert to wav using winamp, on other occasions while there is audio in the file (same format) dgavcindex doesn't see any audio at all. Can you provide a sample of one file that you can demux from and one that you cannot using DGAVCIndex, and for which both use the same format?

lchiu7
24th July 2008, 21:13
Can you provide a sample of one file that you can demux from and one that you cannot using DGAVCIndex, and for which both use the same format?

This one can be demuxed but it loses the first 6-7 seconds

http://www.datamix.info/one news aac_.edit.ts

This one cannot be demuxed or shows no audio at all

http://www.datamix.info/One audio.ts

They are about 18mb and 35mb in size - trust that is not an issue

Thanks

Guest
24th July 2008, 22:31
Please fix your links. They're not working and I'm not in the mood to play guessing games. Thank you.

LoRd_MuldeR
24th July 2008, 22:36
Wasn't too hard to guess :D

http://www.datamix.info/one%20news%20aac_.edit.ts
http://www.datamix.info/One%20audio.ts

lchiu7
24th July 2008, 22:54
Wasn't too hard to guess :D

http://www.datamix.info/one%20news%20aac_.edit.ts
http://www.datamix.info/One%20audio.ts

Thanks! I cut and pasted from the browser and didn't realise that this BBS doesn't parse the URL properly and I should have put in ASCII values for blanks!

Guest
24th July 2008, 23:09
Wasn't too hard to guess I didn't say it was hard. I said I was not in the mood. :devil:

I'll have a look at them and let you know.

CruNcher
24th July 2008, 23:25
Donald might be a strange question but do you have the time and will to help the Avidemux guys with their M2TS AVC parsing/indexing ? at least could you take a glimpse @ the source of the parser/indexer and give a advise :) ?

http://bugs.avidemux.org/index.php?do=details&task_id=467

Guest
25th July 2008, 00:37
What language is Avidemux implemented in?

Are they trying to duplicate the functionality of DGAVCDec? I don't mind, but I can tell you it is hard. It's not something you can just crank out. It needs a sustained attack and a lot of non-obvious heuristics to make AVC random access work. If they are trying to duplicate DGAVCDec functionality, I can just give them my source code. If not, then what are they trying to do? Bear in mind, I know nothing about Avidemux.

LoRd_MuldeR
25th July 2008, 00:57
It's written in C++ and the MPEG PS/TS/ES demuxer can be found here, I think:
http://svn.berlios.de/wsvn/avidemux/branches/avidemux_2.4_branch/avidemux/ADM_inputs/ADM_mpegdemuxer/?rev=4275&sc=1#_branches_avidemux_2.4_branch_avidemux_ADM_inputs_ADM_mpegdemuxer_

BTW: Avidemux creates index files to implement random access, similar (but most likely not identical) to DG(AVC)Index...

Guest
25th July 2008, 01:20
So where is the problem, in the M2TS parser or the AVC indexer? Let me try to find that out by asking these questions:

1. Does an MPEG2 elementary stream inside an M2TS transport stream open, and indexing works correctly?

2. Does an AVC elementary stream (not in M2TS) open, and indexing works correctly?

3. Is it just AVC elementary in M2TS that goes wrong?

Guest
25th July 2008, 01:28
On occasions I have been able to demux them from some files and convert to wav using winamp
This process works with the first file you linked. So I should be able to support demuxing LATM/LOAS. I'll just start outputting it at a TS packet with tranport_unit_start_indicator set, and hope for the best. I didn't do it before because I didn't know how to parse for the audio sync word.

I wasn't aware that Winamp had an output plugin!

LoRd_MuldeR
25th July 2008, 01:45
I think Avidemux can handle both, MPEG-2 and AVC, from Transport Stream. Elementary AVC doesn't work to my experience.

One of the biggest problems in Avidemux is frame-accurate access to AVC in general, no matter what container (MP4, AVI, MKV, TS).
Avidemux switches to a "special" mode for AVC video and then you loose frame-accuracy, because the decoder will buffer a number of frames "internally" in that mode.
When you seek forth and back, the same frame# doesn't necessarily show the same picture.

I think this is more a problem in the decoder part than in the indexing part. But MEAN or Gruntster might answer this more accurately.
If I remember correctly, then MEAN said once that "frame reordering" (???) for AVC is not implemented properly yet and that it's very hard to do...

Guest
25th July 2008, 02:12
Then it sounds like a long, involved job to fix that for Avidemux. I have my hands full with DGAVCDecode. If it was just a little problem in the M2TS parsing that would be another matter, although I note that all the M2TS parsing hacks in there are prefixed with "FIXME" comments. :)

Soon I will release source code for DGAVCDec, at which point the method for indexing and random access of AVC will be available for re-use. The biggest complication is ensuring that the needed SPS/PPS's are available and injected when needed.

LoRd_MuldeR
25th July 2008, 02:20
I found this quote:

For mpeg 1/2/4, avidemux know the frame type in advance and can handle the decoding /frame ordering logic
For h264 in most case it cannot and let the codec decides
As a result it does not know the frame type beforehand, but only after decoding the frames
BUT, the decoded frame can pop out a long time after it has been fed to the decoder
[...]
The simple one (like mpeg1/2/4) will not work due to the pyramid b frame ordering

Guest
25th July 2008, 02:30
I implement a clever solution to that issue. :)

rebkell
25th July 2008, 03:56
I have a question about demuxing the video stream and the extension. I think you give it an avc extension, is there any difference between .264, .h264 and .avc? I use megui and it is looking for .264 as an extension for the muxer. There isn't anyway to tell DGAVCIndex to create a demuxed video stream with a different extension, is there? I just renamed it, is there any significance to the avc extension?

Guest
25th July 2008, 04:07
is there any difference between .264, .h264 and .avc? I suppose some applications might require certain extensions.

I use megui and it is looking for .264 as an extension for the muxer. Silly megui.

There isn't anyway to tell DGAVCIndex to create a demuxed video stream with a different extension, is there? There is no way as currently implemented.

is there any significance to the avc extension? I like it.

If renaming is really a big issue for you, I could implement an INI file option to allow you to specify the extension to be used.

rebkell
25th July 2008, 04:13
Okey dokey. :D I will adapt.

lchiu7
25th July 2008, 04:32
This process works with the first file you linked. So I should be able to support demuxing LATM/LOAS. I'll just start outputting it at a TS packet with tranport_unit_start_indicator set, and hope for the best. I didn't do it before because I didn't know how to parse for the audio sync word.

I wasn't aware that Winamp had an output plugin!

That's encouraging. However with the first file when I demux it with the current release, the first 6-7 seconds are missing. On the second file I can't do any demux yet it was recorded from the same channel on the same day!

I had no idea Winamp had an output plugin till somebody mentioned it in earlier in this thread.

lchiu7
25th July 2008, 04:54
I didn't say it was hard. I said I was not in the mood. :devil:

I'll have a look at them and let you know.

Anything to make life easier for you! It's clear that your work on this program is not for money :thanks:

Ranguvar
25th July 2008, 05:23
Hey, neuron2, a question...

I have a quad-core processor... when encoding from DVDs, SetMTMode(2, 0) works fine (at least, for the DGDecode line). However, when I encode from AVC (Blu-ray), SetMTMode(2, 0) causes a crash in I believe it was avisynth.dll, but 3, 0 works fine.

Do you know what difference in DGDecode and DGAVCDecode could cause mode 2 to not work? Or would I be better off asking tsp?

Guest
25th July 2008, 13:27
That's encouraging. However with the first file when I demux it with the current release, the first 6-7 seconds are missing. On the second file I can't do any demux yet it was recorded from the same channel on the same day! Yes, I know why all that is happening. Don't worry, it's going to be fine. ;) I hope to have it in the next alpha.

Guest
25th July 2008, 13:29
Or would I be better off asking tsp? Yes. I have never used SetMTMode and I don't know anything about it.

Guest
25th July 2008, 14:18
I hope to have it in the next alpha. OK, I have done the changes in 20 minutes. :) Both files work fine and give all the audio. I will release the new alpha tonight. Thank you for advising me of this possibility, lchiu7.

Guest
25th July 2008, 14:47
* Added support for demuxing AAC LATM/LOAS audio.

* Added a button on the error pop-ups to suppress all further error pop-ups.

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

lchiu7
25th July 2008, 21:47
OK, I have done the changes in 20 minutes. :) Both files work fine and give all the audio. I will release the new alpha tonight. Thank you for advising me of this possibility, lchiu7.

Many thanks for that. Only done preliminary tests but have been able to extract the audio from both samples now and they are nicely renamed .aac files! Played with winamp and output a wav file which I then converted to AC-3.

Not a dgavcindex issue but am still trying to overcome some sync issues when I take the demuxed avc file and the new AC-3 file and put it back in a ts file. dgavcindex outputs -nnms delay in the name. Should I take that as the audio needs to be delayed that many ms when muxing it back?

Thanks

Larry

[edit]

Further experimentation has shown that if I just add 1000ms delay to the audio when I mux it back (not quite OT but using tsmuxer) the a/v stays in sync all the way. And this has occurred on two files so far so looks consistent

Guest
26th July 2008, 14:09
p.s. i noticed that __aud__ is already can be used in avs templates, patiently waiting for __del__ support It will be in the next alpha. Thanks for reminding me about that.

Ryo94
26th July 2008, 14:43
I knew that DGAVCDec was being used by latest version of staxrip but never tried until now (due to a problem with framework 3.5 can't use staxrip 1.1) so just tried this app alone and can't be more happy about how great it works, first DGMEPGDec and now this, infinite thanks neuron2!

amango
27th July 2008, 16:19
Today I tested some streams from Premiere HD (1080i25), after saving a project and opening it with a pure "avcsource"-skript I get a very pixelated picture. The picture shown in DGAVCIndex itself does not show those pixels.

http://img511.imageshack.us/img511/5682/premierehdvs6.th.jpg (http://img511.imageshack.us/my.php?image=premierehdvs6.jpg)

The whole TS-files runs fine if I play them with Media Player Classic (using CoreAVC as filter).

Guest
27th July 2008, 18:16
Please post a link to a short piece of the unprocessed source that I can use to duplicate the issue.

amango
27th July 2008, 18:33
http://rapidshare.de/files/40095469/Sample.demuxed.avc.html

Guest
27th July 2008, 21:20
That's the well-known problem with libavcodec's support of PAFF.

I plan to try to address these issues but not right this instant.

Thank you for your test stream.

rebkell
28th July 2008, 00:10
Had an error while encoding today, I have no idea which app caused the problem. I've been capturing files with the HD-PVR and used h264ts_cutter on a file, then used dgavcindex(dgavcdec100a30 version) to index the file.

about 20% of the way into the file I got this error message in Windows:
This application has requested the Runtime to terminate it in an unusual way.

The TinMan01.avs file is very simple
AVCSource("TinMan01.dga")
LanczosResize(1280,720)

I ran this x264.exe command line to process it(which I've run numerous times before with no problem)
"c:\Program Files\megui\tools\x264\x264.910.modified.exe" --crf 20.0 --level 4.1 --ref 3 --mixed-refs --bframes 3 --b-rdo --bime --weightb --direct auto --subme 6 --trellis 0 --analyse p8x8,b8x8,i4x4,i8x8 --8x8dc5 --ipratio 1.1 --pbration 1.1 --vbv-bufsize 9000 -vbv-maxrate 24000 --qcomp 0.5 --me umh --merange 12 --threads auto --thread-input --progress --no-psnr --no-ssim --output g:\Junk\Haup\TinMan\TinMan01.mp4 g:\junk\Haup\TinMan\TinMan01.avs

The event log in Vista had this to say:
Faulting application x265.910.modified.exe, version 0.0.0.0, time stamp 0x48785771,faulting module libavcodec.dll,version 0.0.0.0,time stamp 0x47bb9a44,exception code 0x40000015,fault offset 0x00167937,process id ox1088,application start time 0x01c8f028914bdc3e.

Any ideas what might have gone wrong?

Guest
28th July 2008, 00:33
I'm really getting bored with having to ask for streams!

Isn't it obvious that I need a sample of your cut transport stream that lets me duplicate the problem?

rebkell
28th July 2008, 00:41
I'm really getting bored with having to ask for streams!

Isn't it obvious that I need a sample of your cut transport stream that let's me duplicate the problem?

I was actually just giving you all the info, I had no idea if it was an DGAVCDec problem or not. The timing of the failure also coincides with my AntiVirus program doing an update, I'll rerun it again, and if fails, I'll get you a snippet of the stream. I've already run two full encodes using basically same everything and all went well, so I really was just throwing out the info, in case anybody else had experienced it.

Ranguvar
28th July 2008, 00:45
I was actually just giving you all the info, I had no idea if it was an DGAVCDec problem or not. The timing of the failure also coincides with my AntiVirus program doing an update, I'll rerun it again, and if fails, I'll get you a snippet of the stream. I've already run two full encodes using basically same everything and all went well, so I really was just throwing out the info, in case anybody else had experienced it.
The fact that the crash was in libavcodec.dll tells you pretty much 100% that it was DGAVCDec, as nothing in x264 or your AVS was using libavcodec besides DGAVCDec :) Although there's a very faint chance that something like your AV might cause the issue...

rebkell
28th July 2008, 15:15
I'm really getting bored with having to ask for streams!

Isn't it obvious that I need a sample of your cut transport stream that lets me duplicate the problem?

I sent you a PM, with this link, but here is the problem area that bombed, it's definitely where I cut out a commercial badly with h264ts_cutter.

http://rebkell.net/BadSpot.ts

XhmikosR
28th July 2008, 18:05
[edit]

Further experimentation has shown that if I just add 1000ms delay to the audio when I mux it back (not quite OT but using tsmuxer) the a/v stays in sync all the way. And this has occurred on two files so far so looks consistent
Yes, I face the same problem with the alpha 30 build. I encoded the same blu ray I had encoded with with an older version of DGAVCDec and even though in audio there is no delay detected (which wasn't detected with older versions of DGAVCDec and everything was in sync) the audio isn't in sync. It's approximately 1000ms. So there is something wrong with the newer versions that causes the audio video desynchronization. Again, with some older builds (a28) there was no delay detected and everything was in sync in the encoded video.

So what do you need to reproduce the problem, the whole audio or just a part of it?

Guest
28th July 2008, 18:56
@XhmikosR

I need the beginning of the transport stream, as much as you can give me.

Don't cut at the beginning. It has to be exactly as you used it in DGAVCIndex.

Again, with some older builds (a28) there was no delay detected and everything was in sync in the encoded video.

Please compare the demuxed audio files for a28 versus a30. Are they identical?

Also, see if the video starts on the same frame for a28 versus a30.

rebkell
28th July 2008, 19:47
I need the beginning of the transport stream, as much as you can give me.

Don't cut at the beginning. It has to be exactly as you used it in DGAVCIndex.



I'll see if I can recreate the problem, since it failed on the part 3 clip also, I suspect I can recreate the problem, the original is about 4.5 or 5 GB.

I get basically the same error message when I try to play the small uploaded clip in windows media player on XP here at work, with libavcodec.dll being the problem on playback also.

Guest
28th July 2008, 19:50
I was replying to XhmikosR. I've edited the reply to make that clear. Regarding your stream, I have downloaded it and am investigating.

Chefkoch_ico
29th July 2008, 10:10
Hi!

I have a problem with the command line interface of dgavcindex in a29 and a30.

I do batch processing and my command line looks like this:
DGAVCIndex.exe -i test.avc -o test.dga -e

In a28 all is normal (again tested to be sure), the program opens, i see the first frame of the video, the dga file is saved and it closes itself.

In a29/a30 the program opens and:
- it stays open and does nothing
- I dont see the first frame of my avc file
- the processing does not start
- But the file is in the MRU-list
- If I click on open, the file is listet there also. If I click then there OK then also the first frame is not shown
- if I save the project, the dga file specified on the command line is created but nearly empty. The program closes itself afterwards
- If I click on the latest file in MRU list (since it was added by the command line), it gets opened and it automatically starts the project save and gets itself closed (like it should be, but without manual selection)

Besides this command line issue, its working normal.

For now, is it OK to use the a28 version of the index program and the a30 version of the dll in AVIsynth?

I mainly use AVCHD files from my Canon camcorder.

Best regards and thx for the great program.

Guest
29th July 2008, 14:11
* Fixed a small bug in MRU list handling.

* Added the __del__ macro for the Avisynth script generation.

* Properly handle re-use of PPS id's.

* Added option in the INI file to specify the extension to use for demuxed video files.

* Implemented a select bar to work around bugs in the Win32 trackbar. (This may not be the final solution for this issue.)

* Implemented the Luminance Filter and Cropping Filter in the Video menu.

* Implemented the File/Load Project function.

* The DGA file version is bumped to 7.

* Fixed a regression that broke the CLI.

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

There's a lot of stuff in this alpha, so I hope I didn't break anything. Please test and advise of any regressions.

canTsTop
29th July 2008, 14:49
:thanks: for new version, this time long change log :)
everything working fine for me :)

Guest
29th July 2008, 15:07
Thanks. Usually right after someone says something like that, the bugs come to light. :(

I do wish those people complaining of wrong audio delays would step up and give me what I need to duplicate their issues.

I want this current version to become beta 1 for which I'll release the source code. Then I want to address libavcodec issues.

Turtleggjp
29th July 2008, 15:48
Then I want to address libavcodec issues.

That would certainly make me happy! :) Let me know if you need any more samples from my video camera for testing. :thanks:

Revgen
30th July 2008, 02:44
I've yet to have any problems since way way back when you solved that green frame issue. Then again, I always encode my streams with X264 and don't capture them so I may not find too many bugs.

I wish there was an opensource alternative to Xmuxer Pro so you can support MP4 containers quicker.

Guest
30th July 2008, 02:50
I've yet to have any problems since way way back when you solved that green frame issue. Then again, I always encode my streams with X264 and don't capture them so I may not find too many bugs. How about this one. In alpha 31, right after you open a stream the frame size in the main window title bar is 0x0. :) I have it fixed already. Just redownload alpha 31.

I wish there was an opensource alternative to Xmuxer Pro so you can support MP4 containers quicker. I really just need to spend the $$$ to buy the spec that I need.

check
30th July 2008, 04:06
I really just need to spend the $$$ to buy the spec that I need.
Which spec in particular are you referring to? What is the total cost?

Comatose
30th July 2008, 04:22
Thanks. Usually right after someone says something like that, the bugs come to light. :(
Oh, I've probably got something for you :devil:

Comatose
30th July 2008, 04:53
Right. So, nothing works (should be pretty self explanatory once you open it). With the full file, DGAVC will crash. I cut it with H.264 TS cutter.
This is a Hauppauge HD PVR capture, by the way.

http://www.mediafire.com/?1bm1kkk0p4m (2.3MB)

Ranguvar
30th July 2008, 05:11
When indexing the demuxed H.264 video from the Blu-ray 30 Days of Night, DGAVCIndex warns of "Trying to use an invalid (uninitialized) Picture Parameter Set with ID 0, expect the unexpected...". No matter what I then choose, it encounters an error (dgavcindex.exe) and closes.

I am using Ignore Pulldown Flags, with Alpha 31. I am 99% positive this same stream has worked with a previous version - I don't remember which it was, except that the DGA was version 6. The video is completely seekable, just can't index. Unfortunately, I have deleted the original M2TS, as I already demuxed everything I needed with eac3to.

Trying to find good software to cut a piece of the h264 for you... can I use a simple binary cut? Or should mux to TS or M2TS and cut that?

Guest
30th July 2008, 05:23
@Comatose

For now, you have to set a Simple GOP mode (not No IDR GOP mode) as described on this page:

http://blog.arogan.com/2008/06/hauppauge-hd-pvr-model-1212.html

I'm investigating how the No IDR GOP stream works. I don't see any recovery points either, so I'm a bit baffled at the moment.

Guest
30th July 2008, 05:24
Trying to find good software to cut a piece of the h264 for you... can I use a simple binary cut? Or should mux to TS or M2TS and cut that? DGSplit on the h264 stream.

Comatose
30th July 2008, 05:48
Thanks :)

Guest
30th July 2008, 05:57
I suppose that when you set No IDR GOP, the stream uses progressive I slice refresh. I have to see if it is possible for my design to work with streams like that.

Ranguvar
30th July 2008, 06:00
So you mean yes, a binary splitter :p

Here's (http://www.mediafire.com/?duw0t5gw2n1) the first 50MiB. Not exactly the same errors, but close enough.

Thanks for your excellent work!

Guest
30th July 2008, 06:05
Which spec in particular are you referring to? What is the total cost?
14496-15, CHF 102 = about $100.00

rebkell
30th July 2008, 06:12
I suppose that when you set No IDR GOP, the stream uses progressive I slice refresh. I have to see if it is possible for my design to work with streams like that.

Unfortunately, it's the default setting on the Hauppauge unit, and the only way to access/change it is through the properties in the graph. Hopefully they'll update the software and allow changing it through the software packaged with the unit.

Do you have or need sample streams of any of the other settings on the Hauppauge HD-PVR?

Revgen
30th July 2008, 06:22
14496-15, CHF 102 = about $100.00

Ya got a paypal account?

Or a friend that can set you up with one? I can't spend 100 bucks but I can chip in a little.

rebkell
30th July 2008, 06:31
Ya got a paypal account?

Or a friend that can set you up with one? I can't spend 100 bucks but I can chip in a little.

If you have an Amazon account, you can set up an Amazon Honor System account. http://zme.amazon.com/ I use it for contributions on my web page.

Guest
30th July 2008, 06:53
When indexing the demuxed H.264 video from the Blu-ray 30 Days of Night, DGAVCIndex warns of "Trying to use an invalid (uninitialized) Picture Parameter Set with ID 0, expect the unexpected...". No matter what I then choose, it encounters an error (dgavcindex.exe) and closes. I've found and fixed the problem. It will be in the next alpha. If you need it before then send me a PM.

Regarding the spec, I plan to get my employer to buy it.

mikeytown2
30th July 2008, 09:13
Some helpful info on the spec from Library Of Congress
http://www.digitalpreservation.gov/formats/fdd/fdd000137.shtml

There appears to be 3 versions of the mp4 file format, the last one is the link above
# MP4_FF_1, MPEG-4 File Format, Version 1 - 2001
# MP4_FF_2, MPEG-4 File Format, Version 2 - 2003
# MP4_FF_AVCE, MPEG-4 File Format for AVC (Extensions; Part 15) - 2004

Other interesting links for specs that start with M
http://www.digitalpreservation.gov/formats/fdd/browse_list.shtml#m


After looking at the .gov site could you use part 12 instead of part 15 since 12 is the base that 15 is built from?
ISO/IEC 14496-12:2005 (http://www.iso.org/iso/catalogue_detail?csnumber=41828)

Just making sure no one here wastes money on the wrong spec sheet, because thats available for free here
http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html under
ISO/IEC 14496-12:2005
all 94 pages of it!

Inventive Software
30th July 2008, 11:02
Part 12 is the ISO Base Media File Format. Part 14 is the MP4 format that we're so used to. Part 15 is designated AVC specific, and is built upon Part 12. http://en.wikipedia.org/wiki/MPEG-4

Guest
30th July 2008, 13:40
Part 12 is the ISO Base Media File Format. Part 14 is the MP4 format that we're so used to. No. Part 14 is MPEG4 video in MP4 container. Part 15 is AVC video in MP4 container.

Guys, I'm fully informed on the specs. There's no need to discuss it here.

Sharktooth
30th July 2008, 13:55
i think akupenguin may have them... however have a look here: http://www.chiariglione.org/mpeg/working_documents.htm
direct download: http://www.chiariglione.org/mpeg/working_documents/mpeg-04/systems/part15.zip?
i could have 14496-15 somewhere too...

LOGiC
30th July 2008, 15:29
@all,

as someone told me it would be better to use DGAVCIndex instead of Directshowsource at meGUI I wanted to use it, but it seems I could need some help. I've read the help file and hope that everything is set up properly. I tried opening different H264 Elementary Streams and save them as a .dga project, but I always receive :

Trying to use an invalid (uninitialized) Picture Parameter set with ID 0, expect the unexpected ...

hit yes ......

Anyone has a little clue for me what I am doing wrong ? After hitting yes or no or Cancel I receive that the program has encountered a problem and needs to be closed.

Thanks in advance to you.

Guest
30th July 2008, 16:09
It's the same problem as Ranguvar's above. I'll put up the fix within an hour.

Guest
30th July 2008, 16:12
Please re-download alpha 31 and try that. Thank you.

LOGiC
30th July 2008, 16:19
It seems to work for me now Neuron2, thank you for your fast reaction. Great work on a great tool.

Andy.

Ranguvar
30th July 2008, 17:33
:thanks: very much, neuron2! It now works great.

Guest
31st July 2008, 22:22
Right. So, nothing works (should be pretty self explanatory once you open it). With the full file, DGAVC will crash. I cut it with H.264 TS cutter.
This is a Hauppauge HD PVR capture, by the way. You'll be happy to hear that I have it working now with the Hauppage streams without IDRs. So you won't have to go through the Graphedit route to turn on IDR generation. I'll regression test it some more and release it later this evening.

I did it because I plan to get one of those Hauppage units myself. ;)

rebkell
31st July 2008, 22:27
You'll be happy to hear that I have it working now with the Hauppage streams without IDRs. So you won't have to go through the Graphedit route toturn on IDR generation. I'll regression test it some more and release it later this evening.

I did it because I plan to get one of those Hauppage units. ;)

You are the man :) I've been cutting one file a dozen times trying to get it to make a complete pass through, I thought I had it, but it bombed out on the last commercial cut.

Guest
1st August 2008, 02:52
@rebkell

I was referring to the problem of the Hauppage streams not having IDRs, and not to your crashing issue. I am still investigating your issue.

Comatose
1st August 2008, 03:00
I love you! :D
I had to re-encode the capture to LAGS... except it was 60 fps, so it was IMMENSE. D;

Also, fun fact: CoreAVC doesn't seem to be able to handle this kind of stream... it outputs a ton of duplicate frames (real frame, 20 duplicate frames of the real frame, real frame, 20 dupes, etc) :X

rebkell
1st August 2008, 03:06
@rebkell

I was referring to the problem of the Hauppage streams not having IDRs, and not to your crashing issue. I am still investigating your issue.

Ok, I thought about that right after I posted, it's pretty consistent, it's definitely a problem with libavcodec(created by h264ts_cutter's cutting), it also crashes media player when it's using ffdshow while trying to play the original cut ts file.

I've recut this one file I've got several times and I've managed to get it through all but one cut, any ideas what I might look for to get over the hurdle?

Guest
1st August 2008, 03:07
@Comatose

How did you re-encode if CoreAVC wasn't working?

Comatose
1st August 2008, 03:08
ffdshow :)

Well, actually, I used ffmpegsource the first time around, but that was before I realized CoreAVC was at fault :P
(at least I think that's the case... it might be something else, but ffdshow works and CoreAVC doesn't)

Guest
1st August 2008, 03:09
@rebkell

I'm not optimistic about solving this for you. It appears that the TS cutter is orphaning frames from their required SPS/PPS's. I'm not surprised that a naive TS cutter would do that. I'm sorry to say it, but it's not my problem if another application generates an insane stream. You could mention this to the authors and see if they are interested in doing anything about it.

When I get my unit and need to edit streams, I'll write a proper AVC TS cutter. :)

Guest
1st August 2008, 03:20
* Support Hauppage HD PVR streams generated with no IDRs (default configuration). You must enable the option "Treat I as IDR". Delete your previous INI file!

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

And, oops, I forgot to bump the DGA file version, so please re-create your projects.

Guest
1st August 2008, 03:35
@Comatose

The Hauppage stream you provided is 1280x720p 59.94. When you capture 1920x1080, is the AVC stream field encoded? Do you have a sample for me, please?

EDIT: I found some samples. They are PAFF TFF. The great news is that libavcodec handles them just fine and does not generate the famous artifacts for some PAFF encodings!

Comatose
1st August 2008, 04:47
:)

Thanks a ton again! :D
edit: Works great :p

rebkell
1st August 2008, 05:05
@rebkell

I'm not optimistic about solving this for you. It appears that the TS cutter is orphaning frames from their required SPS/PPS's. I'm not surprised that a naive TS cutter would do that. I'm sorry to say it, but it's not my problem if another application generates an insane stream. You could mention this to the authors and see if they are interested in doing anything about it.

When I get my unit and need to edit streams, I'll write a proper AVC TS cutter. :)

Looking forward to that day. :D I'm hoping these units turn mainstream and you know the old saying 'necessity is the mother of invention'.

Until then, I'll try to figure out an alternative solution, or just store all my recordings uncut.

Guest
2nd August 2008, 02:05
* Fixed a bad regression in alpha 32. Don't ask. :)

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

amango
2nd August 2008, 11:32
@neuron2

Will you adress these PAFF-encoded videos soon? (showing those artefacts like in my sample)

I have several HD-movies recorded which I like to encode.

Guest
2nd August 2008, 12:35
Will you adress these PAFF-encoded videos soon? I hope so, but remember that I will have a big learning curve to understand the lavc code. Hopefully an upgrade to the latest code will solve some of the issues. That can be done pretty quickly.

Since you're asking things of me, can I ask you to help close out the issue you raised:

I just copied this script from one user from videohelp.com who wanted to convert 720p50 to SD.

I really don't know why. I am using "DVX" (from Stax) for years now.

Usually I do this all the time to encode videos:
I start DGIndex or DGAVCDec - Save a project. Then I drop the index file from your programs to DVX. DVX recognites the delay from the audio file name. I cut the video and start the encoding process. DVX uses Besweet and starts VirtualDubMod to mux the video.

Soon after I updated to Alpha 28, I got this delays in my files. Reverting back to Alpha 26, they were all in synch again.

I will try it again manually as you said. Will you provide the manual results soon? :)

amango
2nd August 2008, 13:10
With you latest release I have no synch issue anymore (using the same script). That was only in Alpha 28.

Guest
2nd August 2008, 13:15
OK, I'll consider it closed. Nevertheless, there is still a mystery there, because even with alpha 28 I could not see any problem. But if you're happy, I'm happy. :)

Guest
2nd August 2008, 14:35
I know H.264 is itself is a relative new standard, and DGAVCIndex is in it's beginning. If you think these files might be worth of debugging, I would be very grateful. All your issues except the libavcodec problem have now been addressed and fixed. Thank you for your trouble report and test streams.

rebkell
2nd August 2008, 18:49
I have a question about the avs template and the command line interface. I haven't been using the avs template, but I plan to in the future, but I will want to use it with the command line and I didn't see any way to specify the template file. I'm figuring I'll probably only have two or three templates that I'll use, but was wondering if there is a way to specify a template file to create the avs when running the indexer from the command line?

If I missed it in the docs, I apologize.

bob0r
2nd August 2008, 18:58
Illegal aspect ratio.... or not.

(As i just reported to dvbviewer aswell off topic: http://www.dvbviewer.info/forum/index.php?showtopic=28515)

Here is the error:
http://files.x264.nl/dgavcindex.exe_ar_error.jpg
Here are the specs:
http://www.itu.int/rec/dologin_pub.asp?lang=e&id=T-REC-H.264-200711-I!!PDF-E&type=items
Here is a sample:
http://files.x264.nl/luxe_tv_hd_ar_4x3_or_16x9.ts

After clicking Yes: DGAVCIndex.exe crashes:
AppName: dgavcindex.exe AppVer: 1.0.0.0 ModName: libavcodec.dll
ModVer: 0.0.0.0 Offset: 000b657d

(off topic again: Upcoming CoreAVC has this issue fixed
Sorry for the 2 unrelated offtopics... but the more people know, the less redundant reports will be made, edit if needed!)

Guest
2nd August 2008, 21:49
I didn't see any way to specify the template file. I'm figuring I'll probably only have two or three templates that I'll use, but was wondering if there is a way to specify a template file to create the avs when running the indexer from the command line? Currently not. You can edit the INI file programmatically but I concede that it is inconvenient. I'll put it on the to-do list.

Guest
2nd August 2008, 22:05
After clicking Yes: DGAVCIndex.exe crashes:
AppName: dgavcindex.exe AppVer: 1.0.0.0 ModName: libavcodec.dll
ModVer: 0.0.0.0 Offset: 000b657d
It doesn't crash for me in alpha 33 after dismissing the errors, but I'll fix it. The spec was updated to add two more aspect ratios and all the decoders have to be revised accordingly.

Comatose
2nd August 2008, 22:07
Uhm, reporting back ;_; It doesn't seem to be working too well :x (talking about the sample I gave you before)

Last time I only tried seeking the HD PVR ts in DGAVCIndex, which was fine, but there's something weird with the output ;_;
Using a certain scene as reference, the scene started at frame 573 (9.560s in) with DGAVCIndex and at frame 601 (10.027s in, I seeked frame by frame from frame 0) with ffmpegsource.
The audio is not in sync with the video produced by using AVCSource() on the DGA, but it is with the FFMpegSource video. DGAVCIndex specifies a -12ms delay when demuxing the audio, but the difference is larger than 12ms.

I'm uploading a 41MB sample with about 2000 frames (from frame 0).

edit: http://www.mediafire.com/?giik5lq05y7
Note that when the first scene after the logos starts, the audio is silent but once it starts it should be pretty obvious what the audio should sync to (the boots).

Guest
3rd August 2008, 14:12
You haven't given me your entire process. I need your script and I need to know what the final format is and how you played it.

Here is what I did. I made a project with DGAVCIndex a33, demuxing the aac audio. Then I converted the audio to WAV using:

faad -o out.wav sample2.aac

Then I made this script:

vid=AVCSource("sample2.dga")
aud=WAVSource("out.wav").delayaudio(-0.012)
audiodub(vid,aud)

Now, a) I play sample2.ts directly in VLC 0.8.6c, and b) I play the script in BSPlayer. The result is that the sync is identical between the two.

Thus I cannot duplicate any issue.

Regarding ffmpegsource(), did you notice that the first 30 frames were garbage?

canTsTop
3rd August 2008, 14:56
hello, i noticed there is some changes in PAFF decoding http://svn.mplayerhq.hu/ffmpeg/trunk/libavcodec/?view=log

i want to try compile libavcodec.dll from latest ffmpeg svn, but i need to change some version string (libavcodec.txt), so DGAVCIndex accepts libavcodec.dll. Can you guide me how to do this change, please?

Guest
3rd August 2008, 15:02
I'm working on that myself right now. :)

I need to diff my lavc tree against the old version I used to get you the lavc diffs I made. But it won't help you because I haven't released the DGAVCIndex code that checks the version number. And it would be a bad situation if you made different lavc dll's with the same version number.

Be patient for a few days. Upgrading lavc is my top priority right now.

canTsTop
3rd August 2008, 15:04
ok, thankyou for answer :)

Guest
3rd August 2008, 18:09
Out of interest, have you actually verified that any version of ffdshow-tryout or ffmpeg actually fixes these PAFF errors.

I just tried ffdshow-tryout rev 2060 and there are regressions all over the place. And the PAFF errors are still there. I haven't tried latest ffmpeg yet, because it won't compile for me.

I've also sent an email to Michael Niedermayer asking him what he knows about it.

canTsTop
3rd August 2008, 18:25
@neuron2

i didn't try it, i just searched here http://svn.mplayerhq.hu/ffmpeg/trunk/libavcodec/?view=log for PAFF and in previous month mailing list her http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2008-July/thread.html (also search for paff)

i compiled using this guide http://arrozcru.no-ip.org/ffmpeg_wiki/tiki-index.php?page=HomePage

Guest
3rd August 2008, 18:46
Please give me a link to your ffmpeg.exe and libavcode.dll compiled from the latest ffmpeg SVN. As I said, it won't compile for me and I'm well aware of the wiki you linked.

canTsTop
3rd August 2008, 19:40
here is my compile http://www.mediafire.com/?44tmqrmejvr

for some reason libavcodec.dll is named avcodec.dll

Comatose
3rd August 2008, 20:43
Regarding ffmpegsource(), did you notice that the first 30 frames were garbage?
Yup. I just freezeframed them since they were static frames anyway.

Huh. Strangely enough, FAAD decodes this AAC encode successfully.
Previously, I had files which foobar2000 would not play, saying "Decoder produced garbage" and DirectShowSource() would fail to open (they came from Japanese TS files, and this would happen about half the time).

FAAD would also error on each of those files, but muxing these files into a mp4 and then doing whatever on them would work.
Only this time, FAAD *does* work and it seems that remuxing to mp4 ate a small chunk from the start (the "decoder produced garbage" part).

The world of A/V is a weird one x_x

Sorry for bothering you :X

Guest
3rd August 2008, 22:27
OK, I have the latest ffmpeg compiled now.

The first PAFF stream I tried with ffmpeg.exe that was broken before now plays well. That's a good sign. I will test all my bad PAFF streams and report back.

Michael informs me that he right this moment is still fixing PAFF bugs. We may want to wait until he completes that effort before making an update to DGAVCDec.

Atak_Snajpera
3rd August 2008, 22:50
could you upload your latest ffmpeg build?

Guest
3rd August 2008, 23:41
could you upload your latest ffmpeg build? Static build:

http://neuron2.net/misc/ffmpeg.exe

Atak_Snajpera
4th August 2008, 00:13
Why revision number is missing? Which revision did you compile?

Thanks!

Guest
4th August 2008, 00:35
Don't know why the number is missing. Probably a result of the build problems I had. I compiled the version I retrieved from trunk today. Can't remember the number, sorry. :)

bonanza
4th August 2008, 11:03
Hi,

i've got following problem:
I used DGAVCDecIndex 1.0.0. alpha 33 to index a h264 file...
so it created a XX.dga file.
Then I installed Avisynth 2.5.7 copied the "DGAVCDecode.dll" into the Plugin folder and then I created following avs-script:


loadplugin("C:\Program Files\AviSynth 2.5\plugins\DGAVCDecode.dll")
loadplugin("C:\Program Files\AviSynth 2.5\plugins\Decomb521.dll")
avcsource("D:\xx.dga")


Indexing and anything else went fine...but then I wanted to use this .AVS in TMPGenc Plus V.2.524.63.181. There I tried to load thi AVSscript as Video Source but then there comes up this error message:
File: "d:\xx.avs" can not open, or unsupported

Where is the mistake ?

Thanks in advance for your help!

Guest
4th August 2008, 13:11
Remove the loadplugin lines. If they are in the plugins directory, those lines are not needed.

If it still fails, try to open the script in VirtualDub. What happens?

I have the same version of TMPGEnc and everything works fine for me.

Rodger
4th August 2008, 18:05
Hi Guys,

I´m having some problems converting HDTV h264 1080i material to 720p x264 material.
Usually this works like a charm. But PremiereHD changes their video-stream.
They OBVIOUSLY reduced the bitrate massively and try to keep the picture stable
by using h264-codec features. "tsMuxer" tells me (for example) they are using
bPyramid Level1 + bPyramid Level 2. So far no matter for me, but now I get unuseable ugly
pictures in the converted Video.

See this screenshot: http://www.bilder-space.de/thumb/sflZGyIxmrrEYHZ.jpg (http://www.bilder-space.de/show.php?file=sflZGyIxmrrEYHZ.jpg)

It´s clearly visible that it comes with movement in the picture (over the Frames).
When the picture is still...there are no artifacts.

I´d say it´s the fault of DGAVCIndex, maybe the decoder from DGAVCindex...that would be "libavcodec.dll".

I´d like to repeat..the problem comes with the new "type" of videostream PremiereHD is broadcasting.
I converted older material from PremiereHD with the 100% same software (MeGui, rel. of x264, ect)
with absolutely no errors/artifacts in the pictures of the transcoded video.
Of course the picture in the original stream is okay, when played.

Any hint that to do?

rebkell
4th August 2008, 18:35
Hi Guys,

I´m having some problems converting HDTV h264 1080i material to 720p x264 material.
Usually this works like a charm. But PremiereHD changes their video-stream.
They OBVIOUSLY reduced the bitrate massively and try to keep the picture stable
by using h264-codec features. "tsMuxer" tells me (for example) they are using
bPyramid Level1 + bPyramid Level 2. So far no matter for me, but now I get unuseable ugly
pictures in the converted Video.

See this screenshot: http://www.bilder-space.de/thumb/sflZGyIxmrrEYHZ.jpg (http://www.bilder-space.de/show.php?file=sflZGyIxmrrEYHZ.jpg)

It´s clearly visible that it comes with movement in the picture (over the Frames).
When the picture is still...there are no artifacts.

I´d say it´s the fault of DGAVCIndex, maybe the decoder from DGAVCindex...that would be "libavcodec.dll".

I´d like to repeat..the problem comes with the new "type" of videostream PremiereHD is broadcasting.
I converted older material from PremiereHD with the 100% same software (MeGui, rel. of x264, ect)
with absolutely no errors/artifacts in the pictures of the transcoded video.
Of course the picture in the original stream is okay, when played.

Any hint that to do?

What do you have in your avs script when converting it?

Guest
4th August 2008, 19:38
Any hint that to do? Wait patiently for a while. PAFF bugs are currently being fixed by the ffmpeg team, and I will be updating DGAVCDec soon with the fixes.

Rodger
4th August 2008, 20:02
What do you have in your avs script when converting it?

I don´t know what interest you seek here, but here you are:
program --bitrate 5500 --level 4.1 --keyint 125 --min-keyint 1 --ref 2 --mixed-refs --bframes 2 --bime --weightb --nf
--partitions p8x8,b8x8,i4x4,i8x8 --8x8dct --ipratio 1.1 --pbratio 1.1 --vbv-bufsize 18000 --vbv-maxrate 26000 --qcomp 0.5
--merange 12 --threads auto --thread-input --progress --no-psnr --no-ssim --output "output" "input" --mvrange 511 --aud --nal-hrd

So I take it, I was right...it´s "libavcodec.dll" and I need to wait to get it fixed by them, so you can Update yourself.
Thanks for the info! @neuron

/EDIT: @neuron: You´d like a sample of that video-stream for future reference, or own testing?

/EDIT2: whoops...you asked for the avs-script
Loadplugin("C:\Program Files (x86)\AviSynth 2.5\plugins\DGAVCDecode.dll")
AVCSource("Trennung mit Hindernissen.dga")
#LeakKernelDeint(order=-1)
#Crop(0,0,-0,-8)
LanczosResize(1280,720)
You might wonder why there is no Deinterlace made...since I learned from neuron what any why video needs to be deinterlaced :D
I decide NOT to deinterlace here, because PremiereHD usually (to me always) broadcasts material which doesn´t need any deinterlacing.

Guest
4th August 2008, 20:54
Yes, I would like the stream sample, please. Thank you for offering it.

Rodger
4th August 2008, 23:21
No prob!

Here it is:
http://rapidshare.de/files/40160505/test_cut.ts.html

JediNight
5th August 2008, 02:31
I've been trying for a few hours now to make a TS workable, and I just can't seem to do it. I can get it to open in MPC-HC, but any seeking crashes it. Any attempt to demux it with Xport, TSconverter, mplayer, etc. has failed to result in a file recognizable to either X264, DGAVCindex, or Vdub.

It's a 720p H264 TS file. I would cut a clip, but if I can't open it other than MPC-HC, I don't know how to actually do that.

Any ideas or what more info would you like from me?

Guest
5th August 2008, 02:32
What is the file and where did you get it?

JediNight
5th August 2008, 03:06
MPEG4 H.264 transport stream with AAC audio. Downloaded it from a torrent (animation).

Guest
5th August 2008, 03:19
MPEG4 H.264 transport stream with AAC audio. Downloaded it from a torrent (animation). You've been around long enough to know about rule 6 and the stickie in the Newbies forum, so struck for rule 6.

JediNight
5th August 2008, 03:22
Apparently I don't I guess, as it's been a long time between visits. I'll go over them again.

Guest
5th August 2008, 03:30
Why revision number is missing? Which revision did you compile? Here's a nice clean static build that reports its version number (14612):

http://neuron2.net/misc/ffmpeg.exe

I have tested it against a lot of PAFF streams and while it is an improvement, there are still issues. Michael is still making fixes, so I am going to watch the change log and make new builds when warranted. When I think it worthwhile I will update DGAVCDec.

G_M_C
5th August 2008, 08:21
I think i've encountered a regression; When opening 1 file and processing it, and than in the same instance of DGAVCIndex opening the second file (after closing the first), gives an error here.

It was late last night, so it could be a fault on my side, so i'll test furter tomorrow and let you know..

Atak_Snajpera
5th August 2008, 15:11
Here's a nice clean static build that reports its version number (14612):

Thanks! You don't know how hard is to find new builds :( The latest I had was 12K

Guest
5th August 2008, 15:35
You don't know how hard is to find new builds Every time I make a new build for testing, which can be as often as every day, I will upload it to the same link. I just uploaded today's build.

elguaxo
5th August 2008, 16:03
thanks neuron2!

canTsTop
7th August 2008, 12:16
Few questions / feature requests :)

1. Is there any reason for DGAVC to check version of libavcodec.dll? Can you implement option in ini file to disable libavcodec.dll version check, so we can use different version of libavcodec.dll (compiled from ffmpeg or from ffdshow install)?

2. Is there reason why DGAVCIndex not selects audio track by default, in my case in all my TS recordings there is only one audio track?

3. Better templates management system: something like you can put all your avs templates in dgavcdec\templates folder and they all shown in DGAVCIndex templates menu.

4. Can be done something for preventing audio/video synchronization lost and DGAVCDecode crash for TS recordings with errors? Here is sample http://www.mediafire.com/?7wohntw2ijw
When i play it with MPC+ffdshow it shows corrupted frames (i don't mind it) but wont crash and audio/video synchronization is back after errors.

Thank You

Guest
7th August 2008, 12:27
1. Is there any reason for DGAVC to check version of libavcodec.dll? Can you implement option in ini file to disable libavcodec.dll version check, so we can use different version of libavcodec.dll (compiled from ffmpeg or from ffdshow install)? I have added a feature that DGAVCDec needs: the POC of the decoded frame is returned. Therefore, DGAVCDec cannot work properly with stock libavcodec and I must enforce the version check.

2. Is there reason why DGAVCIndex not selects audio track by default, in my case in all my TS recordings there is only one audio track? I'll put it on the to-do list.

3. Better templates management system: something like you can put all your avs templates in dgavcdec\templates folder and they all shown in DGAVCIndex templates menu. I'll put it on the to-do list.

4. Can be done something for preventing audio/video synchronization lost and DGAVCDecode crash for TS recordings with errors? Here is sample http://www.mediafire.com/?7wohntw2ijw
When i play it with MPC+ffdshow it shows corrupted frames (i don't mind it) but wont crash and audio/video synchronization is back after errors. The crashing I can mitigate with a try/except block. I'll put that on the to-do list. The sync issues are more difficult. The reason MPC can do it is because MPC still has the timestamps in the stream. But when you demux you lose them. It's better I think to preprocess the stream with a tool such as ProjectX. I may write one.

Thank you for your suggestions.

canTsTop
8th August 2008, 13:38
Thank You for answers!

I think ProjectX doesn't support H.264 video, it only demuxe audio file.

lchiu7
10th August 2008, 11:57
Recorded a pretty long stream with the above video/audio. (3 hours). About 20 minutes into the stream dgavcindex just stops responding (Vista) and closes. It always happens at the same place.

After some binary searching found a segment that can cause the following error to occur when scrolling through the file using the program.

Not sure it's related, but trying to break up my recording (14G into smaller segments) dgavcindex will often stop demuxing only part way through the file.

Since it's not easy to upload 14G anywhere(!) I have uploaded 100Mb to this location that at least demonstrates the error illustrated in the image attached (the error occurs when you scroll through the file in dgavcindex). Since this segment contains the part of the file that causes the program to crash, perhaps all the problem are related.

www.datamix.info/libavcodec.ts

Thanks

Naito
10th August 2008, 14:43
I have trouble indexing a TS-Stream.

When I open my TS (or even the demuxed *.h264), the Preview-Screen stays black. No preview, no PIDs detected.
Trying to create a Project [F4], DGAVCIndex Alpha33 crashes after a few errors (NALU-troubles).

DGAVCIndex <= Alpha20 crashes without saying anything immediately. (F2 -> load *.h264 -> hit OK -> crash)
With Alpha21 to Alpha 23 I barely managed indexing, but only 9 min in the middle of the stream. Loading the *.dga works, though it seems to be broken.
DGAVCIndex >= Alpha 24 the same as Alpha33.

ffdshow Beta5 + Haali + MPC plays the TS flawless.

h264ts_cutter was unable to cut out a the sample, so I used tsMuxeR instead.

Link to the Sample (http://www.megaupload.com/?d=7G32I1EZ)

Including
* 1min Sample from the very beginning (if you need more, let me know),
* output from h264dump of the complete TS-Stream (demuxed with tsMuxeR)
* also MediaInfo-Output from complete TS-Stream
* Screenshots of the Error-Boxes

OS: WinXP SP2, AviSynth 2.5.7

Guest
10th August 2008, 15:15
@Naito

Open DGAVCIndex alpha33. Set the option 'Treat I as IDR'. Then load your TS file.

Naito
10th August 2008, 15:39
It works! Many thanks neuron2.

rebkell
14th August 2008, 01:38
I have a question about the information Window, If I set it to single step through, I never see any I frames? I was looking at the dga file and it's one of the Hauppauge HD-PVR 1080i captures, and it consistently has an IDR frame every 128 frames, yet I never see it in the information window, I only see B and P. I think I should see an I or IDR frame in the Information window about every 128 Frames?

One other thing, in your documentation for DGAVCIndex, in the Information Panel->Video Section->Frame Type I think you have a typo, it has Intra(I), Predicted(I) or Bidrectional Predicted(B). I assume that should be Predicted(P).

Guest
14th August 2008, 04:18
That's a bug. We have field-coded frames with the first field picture of the frame being I and the second being a P. My code is picking up the slice type on the second field instead of the first.

I'll fix it. Thanks for pointing it out.

In default capture mode, there is an IDR at the start only and then an I every 32 frames.

Guest
14th August 2008, 15:51
* After loading a file, all detected audio streams are now automatically selected for demuxing.

* Added correct handling for the three aspect ratios added in the latest version of the AVC specification.

* Fixed full path option handling when using the CLI.

* Fixed a problem that caused looping to fail sometimes when the Loop Playback option is enabled.

* Fixed frame type reporting in the Info dialog when the Treat I as IDR option is enabled.

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

Guest
14th August 2008, 16:06
Recorded a pretty long stream with the above video/audio. (3 hours). About 20 minutes into the stream dgavcindex just stops responding (Vista) and closes. It always happens at the same place.

After some binary searching found a segment that can cause the following error to occur when scrolling through the file using the program.

Not sure it's related, but trying to break up my recording (14G into smaller segments) dgavcindex will often stop demuxing only part way through the file.

Since it's not easy to upload 14G anywhere(!) I have uploaded 100Mb to this location that at least demonstrates the error illustrated in the image attached (the error occurs when you scroll through the file in dgavcindex). Since this segment contains the part of the file that causes the program to crash, perhaps all the problem are related. This one is hard to tackle. I don't see how I can help you unless you give me a stream that causes DGAVCIndex to stop responding.

burfadel
19th August 2008, 18:17
I have found another bug:

When in dgavcindex, and you load a h264 file, it indexes correctly. If you then close off that file and load another file to index in the same instance of dgavcindex, the file is not indexed correctly. The second indexing results in the following two lines not being added to the very start of the index data:
SPS 1
PPS 31 0

If you close of dgavcindex and load the same file, these two lines and correctly added. The result of these two lines not being in the indexed file is that the file still encodes, but at a significantly slower speed. x264 drops from utilising approx 95 percent of cpu down to around 50 percent. This alone does not account for the speed drop of the encoding by a factor of 10! I don't know what those two lines mean, but their importance is obvious!

This is using the latest 1.0.0 alpha 34 version.

Guest
19th August 2008, 18:54
I can't duplicate it. The two DGA files are identtical for me.

Please provide the two files and describe the COMPLETE, EXACT sequence of operations that lead to the problem. E.g., when you say "open another file" tell me exactly how you do that.

Thank you.

burfadel
19th August 2008, 19:30
It happens with any input .264 file, including the h264 output from x264 from a newly encoded file. Without fail, load once its ok, but even if you reload the same file in the same instance of dgavcindex (that is, remove it from the file list dialogue and re-add it), and open, then the output of the .dga file is missing those two lines! The rest of the file is identical.

Here is an excerpt:

First time open:
STREAM 0
FO 0
YUVRGB 1
LUMFILT 0 0
CLIP 0 0 0 0
RANGE 0 723605927
AUDIO

SPS 1
PPS 31 0
LPOC 0
IDR 769
FRM 7 0
FRM 5 1
FRM 5 2
FRM 5 3
FRM 5 4
FRM 5 5
FRM 5 6
FRM 5 7
FRM 5 8
FRM 5 12
FRM 6 10
FRM 6 9
FRM 6 11

Second time open in the same instance of dgavcindex, same file:
STREAM 0
FO 0
YUVRGB 1
LUMFILT 0 0
CLIP 0 0 0 0
RANGE 0 723605927
AUDIO

LPOC 0
IDR 769
FRM 7 0
FRM 5 1
FRM 5 2
FRM 5 3
FRM 5 4
FRM 5 5
FRM 5 6
FRM 5 7
FRM 5 8
FRM 5 12
FRM 6 10
FRM 6 9
FRM 6 11

The same occurs for every file I tried. The value for PPS on some files were 30 0 and of course the frame data were different, no matter what I tried those two lines are missing on any second file opening in the same instance (keeping the dgavcindex programme open).

Additionally, have just found that if I click save project, save it under any file name, then straight away do a second save (with a different name of course, for comparison), the second file has those two lines missing! What do they do anyway?

Guest
19th August 2008, 19:37
OK, thanks, I can duplicate it now.

lchiu7
23rd August 2008, 22:31
Trying to demux a DVB-T stream with AVC video and AAC-HE LATM audio.

The application crashes part way through the way with no useful (well to me anyway) error messages, just the usual Windows error messages.

Since the file is quite large (3.3g) I have been trying to isolate a segment that can cause the crash. This has not proven to be easy. Cutting the file to include the frame where the crash happens results in a file that doesn't crash :(. So after lots of trial and error I have managed to create a file that will crash and have uploaded it here.

www.datamix.info/stargate.ts

Sorry can't make it smaller than the 90Mb it is but I have found that even if I reduce the beginning of the file by a few meg (but still include what I think is the bad segment), the crash doesn't occur. This leads me to think the crash is caused by a sequence of data - not just the data segment where the crash occurs.

I am using TS Packet Editor to edit the .ts files.

Any ideas on what is happening greatly appreciated.

Thanks

Larry

Guest
23rd August 2008, 23:33
So after lots of trial and error I have managed to create a file that will crash and have uploaded it here. Thank you. I appreciate your perserverance!

Investigation under way...

Eragon4ever
24th August 2008, 00:00
I just tried opening an exe file and DGIndex crashed after a lot of libavcodec warnings. As this is clearly not intended usage i'm not sure if you want to fix this, too. If yes just say so and i'll upload the file for you.

Guest
24th August 2008, 00:07
I just tried opening an exe file It's going to be hard to catch every possible pilot error. I'm glad that it crashed. That's usually a pretty good sign that you are doing something wrong (but not always; see above). :)

Eragon4ever
24th August 2008, 00:17
Well, I could even index one of my pdfs. Maybe you want to make it crash there, too, so everyone knows he's doing something wrong?:D

Guest
24th August 2008, 00:23
You're a funny guy. I like you.

Comatose
24th August 2008, 10:13
Haha =)

Kinda offtopic, but Ichiu7, may I ask which hardware you used to capture that stream? :p and oh god, Stargate in HD. I hate you so, Israel D:

lchiu7
24th August 2008, 11:09
Haha =)

Kinda offtopic, but Ichiu7, may I ask which hardware you used to capture that stream? :p and oh god, Stargate in HD. I hate you so, Israel D:

I used a Hauppauge WinTV Nova 500 T HD from a UHF antenna. The Stargate isn't in HD - it's upscaled SD to 720p. Over in my neck of the woods we are slowly getting HD TV OTA using h.264 video and AAC-HE LATM audio. Two channels are showing true HD (including the Olympics), one is biding time by broadcasting in HD (720p) but of course upscaling the SD content (pretty well I think).

In about a week they will actually broadcast HD and in AC03 audio.

Larry

Comatose
24th August 2008, 11:14
I don't know lol, I watch Stargate in SD here and this looks tons better, even after I filter and resize the SD Stargate :X
If this is really an upscale, then oh wow.

(and we should probably move to PM since it's turning into more than 2 posts :x)

lchiu7
24th August 2008, 20:22
I don't know lol, I watch Stargate in SD here and this looks tons better, even after I filter and resize the SD Stargate :X
If this is really an upscale, then oh wow.

(and we should probably move to PM since it's turning into more than 2 posts :x)

Well just to stay OT for a bit. The broadcasts are h.264/AAC [AAC-HE LATM to be exact]. This is a particularly new audio codec and not much software can play it. What neuron2 did was modify dgavcindex so that it could recognise this stream in the .ts file and demux it so that it could be processed.

I am intrigued what software you used to play the stream and did you get audio?

[Will go PM for the rest]

opieant
25th August 2008, 04:37
Minor bug report. DGAVCIndex promptly crashes when attempting to save a project if the input file has no extension (after clicking "Save" in the "Save As" dialog).

The input file is a transport stream. It opens fine and everything works up to the point that Save is clicked. When DGAVCIndex crashes, the error reports that an attempt to access memory at 0x00000001 is being made. If I add an extension back to the file, it can save without any problems.

FYI, when using DGAVCIndex I am currently only trying to obtain the start and end "RANGE" values. These are extremely helpful when using TS cutting applications that accept byte offsets, so I'm very grateful that info is included in DGA files. :)

Keep up the good work.

Greg

rebkell
25th August 2008, 05:25
Minor bug report. DGAVCIndex promptly crashes when attempting to save a project if the input file has no extension (after clicking "Save" in the "Save As" dialog).


Confirmed, it crashes for me also, another little bug, if you run dgavcindex from the command line and use the -e switch, the log file it creates will have no values for any of the fields.

boombastic
26th August 2008, 17:35
I extracted the video and audio part from a bluray already on my hard disk. The video is ok, but the .pcm audio isn't playable by Media player Classic and VirtualDubMod cannot import.
How can i use it?Many thanks!!

Atak_Snajpera
26th August 2008, 17:43
Extract audio using eac3to.

boombastic
26th August 2008, 17:56
Extract audio using eac3to.

I can't manage to do it aand i reported this issue in the eac3to thread...:confused:

lchiu7
26th August 2008, 20:05
Thank you. I appreciate your perserverance!

Investigation under way...

Any update?

Thanks

amango
27th August 2008, 12:46
Is it possible to use another decoder like CoreAVC for DGAVCDec (instead of ffmpeg)? (so this paff files will decode correctly)

Sharktooth
27th August 2008, 12:56
@amango: no.

xopowo
27th August 2008, 15:26
I would imagine that PAFF handling is not too far off now. The newer nightly builds of VLC seem to be handling the content relatively well.

Guest
27th August 2008, 21:49
I extracted the video and audio part from a bluray already on my hard disk. The video is ok, but the .pcm audio isn't playable by Media player Classic and VirtualDubMod cannot import.
How can i use it?Many thanks!! Have you read the DGAVCIndex manual section called "Audio Demux" where it tells you how to convert the raw PCM to a playable WAV file?

If so and it is still not working, post an unprocessed source stream sample.

Guest
27th August 2008, 21:50
Any update? When I have news I will post about it.

Guest
29th August 2008, 13:55
Vista64 discussion moved to its own thread.

http://forum.doom9.org/showthread.php?t=140701

canTsTop
29th August 2008, 19:20
neuron2, can You please update libavcodec.dll to new version from ffmpeg? Maybe some of us will be lucky, and at least some decoding problems is fixed in latest ffmpeg

Thank You

Guest
29th August 2008, 21:29
Sorry, no. The changes I need to do are extensive. I'm waiting for a final version that is really fixed, because I have no way to be sure things won't change again before that happens. Michael tells me he's still fixing PAFF bugs, so we'll all just have to wait until he's finished.

In the meantime, I'm working on GPU decoding support.

saint-francis
29th August 2008, 21:31
In the meantime, I'm working on GPU decoding support.

This is really ramping up to be a great tool.
neuron2 you are an invaluable asset to the video encoding community at large.

Atak_Snajpera
30th August 2008, 13:17
In the meantime, I'm working on GPU decoding support.
Nvidia only?!?!?

Guest
30th August 2008, 13:51
Remains to be determined. My initial efforts are on Nvidia.

lucassp
30th August 2008, 15:41
any major progress on it?

Guest
30th August 2008, 17:33
When I have news I will post about it.

Why am I getting this deja vu feeling? :)

lchiu7
30th August 2008, 22:59
When I have news I will post about it.


I guess I will have to learn to be patient :)

Guest
1st September 2008, 01:29
* Removed the irritating warning about decoding not starting with a reference frame when starting a
play/preview for open GOPs. Examine the DGA file if you need to know if your GOPs are open.

* Added a new option in the Video menu: Copy Frame to Clipboard.

* Fixed missing info log data for CLI invocation with -e.

* Implemented proper relative/absolute path handling for the Load Project function.

* Implemented mouse scrollwheel support for GOP and frame stepping.

* Fixed missing SPS/PPS's in the DGA file when reloading a file without closing DGAVCIndex.
This can also happen when reloading a different file if it has identical SPS/PPS's to the previous file.

* Fixed crashing when a source file with no extension is loaded.

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

rebkell
1st September 2008, 02:05
* Removed the irritating warning about decoding not starting with a reference frame when starting a
play/preview for open GOPs. Examine the DGA file if you need to know if your GOPS are open.



Love the playing without irritating warning fix, before it got difficult to determine how far between I(DR) frames certain jumps were, this works great.

I don't guess there is any chance you could display the current frame or time in the preview window?

Guest
1st September 2008, 07:38
I don't guess there is any chance you could display the current frame or time in the preview window? Can't do that because DGAVCIndex is not frame accurate (but DGAVCDecode is).

BTW, re-download alpha 35 as my fix for crashing when a source file with no extension is loaded was bugged.

canTsTop
1st September 2008, 09:33
Hello, Thank You for new version

With alpha 35 i get these warnings when open my any TS files (drag and drop file, and before i see video image):

http://www.ipix.lt/images/51501837.png
http://www.ipix.lt/images/22678374.png

There was no such errors with previous versions. For sample i re-uploaded with_errors_LTV.ts http://www.mediafire.com/file/azxjyatwffn/with_errors_LTV.ts


One more thing, then i select range in DGAVCIndex an chose to Save Project and Demux Video, isn't *.dga file should use demuxed video instead TS?

lchiu7
1st September 2008, 12:10
I am getting the first error message now, but not the second. Not sure it's related but I also am occasionally having dgavcindex when demuxing a file with AAC-HE LATM audio, stop demuxing part way through the file (the slider doesn't reach the end and there is still time to go on the counter). No other error occurs. But the output AAC file is shorter than the video length and when converted to AC3 and muxed back, the new file has no audio at the end of the file.

Can create and upload a sample if required

Thanks

Guest
1st September 2008, 16:51
Can create and upload a sample if required Yes, please upload a sample so that I can duplicate your issue.

Guest
1st September 2008, 17:40
With alpha 35 i get these warnings when open my any TS files (drag and drop file, and before i see video image Please re-download alpha 35. I fixed the regression. It happens only for files that have slices before the first SPS/PPS's, usually due to faulty cutting. Thanks for pointing it out.

One more thing, when i select range in DGAVCIndex and chose to Save Project and Demux Video, isn't *.dga file should use demuxed video instead TS? It just can't work that way because the video is demuxed as the project is saved, and the offsets in the TS and the ES files are different. You have to load the ES and save a project for that.

lchiu7
1st September 2008, 20:41
Yes, please upload a sample so that I can duplicate your issue.

OK - have you downloaded the other file I uploaded since I will need the space to upload this sample.

Thanks

Guest
1st September 2008, 20:59
You mean the one that crashes? Yes, you can delete it. And regarding that one, I am having trouble catching the error with an exception handler and I don't know why. But I haven't given up on it. :)

canTsTop
1st September 2008, 23:47
Please re-download alpha 35. I fixed the regression. It happens only for files that have slices before the first SPS/PPS's, usually due to faulty cutting. Thanks for pointing it out.

Some times i have problems with audio delay, maybe its related to this 'faulty cutting' (actualy its how DVBViewer starts recording), here is sample http://www.mediafire.com/file/aznb3yn3mwh/aud_del_prob_0.ts it has a/v synch problem (look at dialog at ~3:35min). But if i cut TS file with TS Packet Editor at keyframe (IF button) then audio synch is correct.

Thank You

meatwad
2nd September 2008, 05:39
I just recently began using DGAVCIndex with StaxRip and noticed my encodes would come out with blocky artifacts (probably due to the interlaced content). I'd seen this before in some other encoding programs and the cause was Haali Media Splitter. Assuming this was the case, I uninstalled Haali and made sure the codecs were unregistered with GSpot. I was hoping that this would be all I'd have to do, but it's rarely that easy for me... The transport streams are H264 1440X1080 and they are interlaced. If anyone else has come across this problem before, could you please pass the solution on to me. I've been pulling my hair out trying to figure out the cause and I'm contemplating a clean install. I've tried different versions of libavcodec as well as 5 different versions of DGAVCIndex. Google is usually my friend but I most have pissed him off because he's hardly saying anything. Anyway, I'll hold off on a clean install for a bit in case someone can mentor me out of this situation. Thanks in advance!

xopowo
2nd September 2008, 07:17
libavcodec = no workie for your interlaced content.

patience is a virtue

meatwad
2nd September 2008, 07:26
Thanks for the reply! That's sad, but a relief. I could have swore I read somewhere that Don had PAFF interlaced content worked into DGAVCIndex back in 2007 when everyone kept asking for it. Oh well, at least now I know why I'm getting the blocks. I will wait until he has it implemented or someone comes up with a work around.

lchiu7
2nd September 2008, 09:59
Yes, please upload a sample so that I can duplicate your issue.


OK - here it is. Once again sorry I can't make it smaller but when I try to make it smaller (cutting to include the section that fails) it either then works(!) or the program crashes as it did before. This is about 180Mb

www.datamix.info/chuck_ends_early.ts

This file will cause the program to stop demuxing about 7s into the file with about 8s to go and at frame 3444

Thanks

dansus
3rd September 2008, 17:17
libavcodec = no workie for your interlaced content.

patience is a virtue

Ah, thats why its keeps crashing at 0 frame.

Thats a shame, just started doing hd stuff today and im guessing all the BBC stuff will be interlaced, how annoying.

Guest
3rd September 2008, 17:26
Ah, thats why its keeps crashing at 0 frame. Nope, it just causes macroblocking errors. If it is crashing, then you should post a stream for me to use to duplicate the issue.

dansus
3rd September 2008, 18:35
Nope, it just causes macroblocking errors. If it is crashing, then you should post a stream for me to use to duplicate the issue.

http://www.mediafire.com/download.php?f4yo9xxyjp2

Basic script so far using Megui;

SetMTMode(2,0)
AVCSource("E:\Enc\hd.dga")

Lanczos4Resize(1280,720)

Thanks.

Edit: removing setmtmode fixes it.

yes, its got bad macroblocking. Deinterlacing seems to fix that.

Ranguvar
3rd September 2008, 18:37
SetMTMode is likely the problem... try SetMTMode(3, 0) SetMTMode(4,0) and SetMTMode(5, 0).

Sharktooth
3rd September 2008, 18:38
... try avisynth 2.57... the non MT version...

dansus
3rd September 2008, 19:18
SetMTMode is likely the problem... try SetMTMode(3, 0) SetMTMode(4,0) and SetMTMode(5, 0).

SetMTMode(3, 0) Works 22fps
SetMTMode(4,0) Works 7fps
SetMTMode(5, 0) Works 19fps

Many Thanks.

Guest
5th September 2008, 02:24
Update on CUDA developments...

All clips that fail with libavcodec are correctly decoded with CUDA. This is the big deal for me, because I'm highly doubtful that libavcodec will ever be completed. Using CUDA also finesses the difficult-to-debug crashes that libavcodec is prone too.

Performance without any optimization and several known inefficiencies: 1080P decoded at 52 fps with ~3% CPU. Nvidia says I can expect 65 fps with my video card, which is a low-end card. Also, planned changes to decouple CUDA from DX and D3D will bring further gains.

The API is highly conducive to incorporation into DGAVCDec. I plan to implement a decoder "HAL" layer to easily allow different decoders to be slotted in, including CoreAVC if they provide an API and SDK as they have promised.

BTW, Nvidia plans to support 5.1 AVC in the near future. I have been blown away by their excellent support as well. Started browsing their employment pages. :)

Sharktooth
5th September 2008, 02:29
uhm... i smell no more wine...

rebkell
5th September 2008, 02:38
Are you still contemplating a h264 editor type application, maybe using the cuda to re-encode to get frame accurate cuts? I'll buy an Nvidia card in a heartbeat, if you plan on going that route.

Guest
5th September 2008, 02:39
Don't you need it for Avisynth?

Sharktooth
5th September 2008, 02:42
yep, but if cuda highly depends on drivers and on DX/D3D, dgindex wont run on wine...

Guest
5th September 2008, 02:59
yep, but if cuda highly depends on drivers and on DX/D3D, dgindex wont run on wine... You mean DGAVCIndex, no doubt. But no, not at all, for two reasons:

1. I will continue to support libavcodec, such as it is. And CoreAVC if they release an API/SDK to me.

2. Nvidia is currently removing DX and D3D dependence, and CUDA video decoding will be cross-platform. It's underway, not a glimmer in someone's eye.

So the linux situation for correct native AVC decoding will be improved, not degraded.

Guest
5th September 2008, 03:01
Are you still contemplating a h264 editor type application, maybe using the cuda to re-encode to get frame accurate cuts? I'll buy an Nvidia card in a heartbeat, if you plan on going that route. Contemplation is cheap. :)

I work on things that 1) I need, and 2) I enjoy doing. Such a thing satisfies both. So, it's a matter of time and competing projects.

Guest
5th September 2008, 03:08
Here's another thought for you...

The CUDA video decoder engine decodes VC1! Would you like a frame accurate VC1 Avisynth frame server? I thought you might. :)

And oh, BTW, it also does MPEG2. Want better decoding performance for DGIndex? I thought you might. :)

Sharktooth
5th September 2008, 03:23
what about OpenCL?

rebkell
5th September 2008, 03:24
Here's another thought for you...

The CUDA video decoder engine decodes VC1! Would you like a frame accurate VC1 Avisynth frame server? I thought you might. :)

And oh, BTW, it also does MPEG2. Want better decoding performance for DGIndex? I thought you might. :)

:) I think, I could live with any and/or all of the above without a problem.

Guest
5th September 2008, 03:36
what about OpenCL? http://www.electronista.com/articles/08/06/17/opencl.standard/

It's a ways off but Nvidia is on-board.

Sharktooth
5th September 2008, 03:48
thats quite an old arcticle. things keep moving... and now there is official support from AMD/ATI (amd just started to integrate OpenCL in their Stream SDK...) and the OpenGL group (Khronos consortium) is working on standardizing OpenCL... things are moving fast.

canTsTop
5th September 2008, 10:41
Wow! It seems that CUDA is answer for DGACVDec decoding :) Does anyone knows if there are video card supporting CUDA with AGP interface?

Ranguvar
5th September 2008, 11:23
@canTsTop: Time to upgrade :p

lucassp
5th September 2008, 12:09
Here's another thought for you...

The CUDA video decoder engine decodes VC1! Would you like a frame accurate VC1 Avisynth frame server? I thought you might. :)

And oh, BTW, it also does MPEG2. Want better decoding performance for DGIndex? I thought you might. :)

I guess it doesn't do that on the VP2 Processor. The VP2 can do only H.264 and MPEG2 full hardware decoding.

There is also a CUDA Linux version. Does the VideoDecode Sample work on Linux?

EDIT: @Sharktooth: It doesn't matter which API is used (CUDA, OpenCL or FireStream, etc.) as long as it gives you direct access to the VP2/UVD. At this moment only CUDA gives us access to VP2.

Guest
5th September 2008, 13:20
I guess it doesn't do that on the VP2 Processor. The VP2 can do only H.264 and MPEG2 full hardware decoding. It still offers VC1 decoding. It's just that some of the work is still done on the CPU.

Sharktooth
5th September 2008, 13:28
@lucassp: im not so sure. being openCL an open computing language (it's not yet fully standardized, so i cant call it an open standard) hardware producers can implement what features they like including VP2 or UVD access... in OSX it is an OS API, so it's even easier...
the difference between opencl and cuda is cuda is a proprietary solution and works only on nvidia cards while opencl is ... ehrr... open.

Sulik
5th September 2008, 14:56
I don't think OpenCL includes any video-decode-specific APIs, pretty much everything is focused on general purpose parallel computing (just like DX11 Compute Shaders, and generic CUDA functionality), not dedicated hardware engines (though it would be nice to have a cross-platform equivalent to DXVA).

crypto
5th September 2008, 16:27
Update on CUDA developments...

All clips that fail with libavcodec are correctly decoded with CUDA. This is the big deal for me, because I'm highly doubtful that libavcodec will ever be completed. Using CUDA also finesses the difficult-to-debug crashes that libavcodec is prone too..)
Wow, this is great news. I am also suffering from libavcodecs PAFF macroblocking errors. If you need testers, let me know.

Guest
5th September 2008, 17:46
Wow, this is great news. I am also suffering from libavcodecs PAFF macroblocking errors. If you need testers, let me know. What video card do you own?

Manao
5th September 2008, 17:59
There seems to be a either huge memory leak or a robustness issue with version 1.0.0.35. I tried to index a 35+ GB m2ts file, and it ended up, 30 minutes or so later, with a popup saying starting with "AllocPPS" (i don't remember the precise error message :( ) When checking the memory used by DGAvcIndex at that moment, it reported 1.9+ GB of virtual memory.

I don't know whether the stream was corrupted (I doubt it since I know somebody else at work managed to index it with a previous version of DGAvcIndex - dunno which one) or if it's a regression.

I'll try to get more information (especially which previous version did work), but that won't be before I get back to work on monday. Where can I find previous versions, in order to search for a possible regression (if that would help) ?

rebkell
5th September 2008, 18:11
I'll try to get more information (especially which previous version did work), but that won't be before I get back to work on monday. Where can I find previous versions, in order to search for a possible regression (if that would help) ?

http://www.neuron2.net/dgavcdec/

Guest
5th September 2008, 18:12
They're all still online. Replace the XX as required:

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

I'll have a look at my memory management for SPS/PPS's.

Guest
6th September 2008, 03:09
Just for fun, I benchmarked Nvidia 8500GT versus CoreAVC on E8500 @ 3.8GHz using a 1080P25 AVC video. I forced the frame rate to 120fps using an Avisynth script.

Nvidia GPU: 66 fps (CPU 4%)
CoreAVC: 60 fps (CPU 60%)

Which would you prefer?

And consider that the PureVideo deinterlacing and 3:2 processing are available as well with the GPU. That gives you excellent deinterlacing in hardware!

The 8500GT is < $100.

Sharktooth
6th September 2008, 03:22
well the answer is obvious, isnt it?

Guest
6th September 2008, 03:36
I think so.

Waiting for the naysayers to chime in...

Ranguvar
6th September 2008, 03:49
This I am definitely looking forward to. However, is there a way you can gauge GPU usage? I use FFT3DGPU a lot, and while I'm pretty sure the GPU should do both, I'd like to have an estimate on how much H.264 decoding taxes the GPU :) Though I bet the load off the CPU when encoding will make up for it.

Thanks for all your work :)

Guest
6th September 2008, 03:51
My use will be on the VP2 core, which is different from the rest of the GPU. We'll have to wait and see.

lucassp
6th September 2008, 07:31
What video card do you own?

I can also test on 8800GT and Vista x64.

opieant
6th September 2008, 07:52
Found another minor file name bug. When saving a project, the default output file name is the substring of the file name before the first period character. The name should probably be the substring before the last period so that things like "Dr." and "Mr." are allowed to be part of the file name.

Ranguvar
6th September 2008, 08:09
I have XP Pro x64 and a GeForce 9600GT 512MiB if you need testers :)

bob0r
6th September 2008, 08:57
I think so.

Waiting for the naysayers to chime in...

Just keep your GPU burning for 24 hours.... then lets see what you think :)
Many have fried.... We need the best of both worlds!

lucassp
6th September 2008, 09:33
Just keep your GPU burning for 24 hours.... then lets see what you think :)
Many have fried.... We need the best of both worlds!

The GPU will be as hot as playing a movie with PowerDVD with DXVA on.

crypto
6th September 2008, 09:53
What video card do you own?

GeForce 8600 GTS
Bios Information: Version 60.84.50.0.8
Video RAM 256 MB
Shared RAM 766 MB
Total 1022 MB

Diver Version 7.15.11.7783

I have run a CUDA bandwidth check:

Host to Device 2472 MB/s
Devive to Host 2471 MB/s
Device to Device 9727 MB/s

Renzz
6th September 2008, 10:07
Just for fun, I benchmarked Nvidia 8500GT versus CoreAVC on E8500 @ 3.8GHz using a 1080P25 AVC video. I forced the frame rate to 120fps using an Avisynth script.

Nvidia GPU: 66 fps (CPU 4%)
CoreAVC: 60 fps (CPU 60%)

Which would you prefer?

How about both? What about using GPU and CPU - 126 fps??:)

Guest
6th September 2008, 11:40
Found another minor file name bug. When saving a project, the default output file name is the substring of the file name before the first period character. The name should probably be the substring before the last period so that things like "Dr." and "Mr." are allowed to be part of the file name. Yes, and for the name of the demuxed video too. I'll fix it. Thank you for pointing it out.

Guest
6th September 2008, 11:48
Hmm, I just looked at the code and it looked as if it DOES use the right most '.' as you want. I tested it and it works as it should. How do you make it fail?

squid_80
6th September 2008, 12:05
The GPU will be as hot as playing a movie with PowerDVD with DXVA on.
No; playing back a movie means frames are processed at the original framerate while DGAVCDecode processes frames as fast as the host application calls for them.

lucassp
6th September 2008, 13:47
No; playing back a movie means frames are processed at the original framerate while DGAVCDecode processes frames as fast as the host application calls for them.

Yes, true. But it uses only the VP2. No shaders/ROP involved in this.

Guest
6th September 2008, 14:09
And the VP2 is the slowest clock domain at 450MHz. Decoding as fast as I can is not going to overheat the GPU.

Currently the VP2 is clocked the same on all the GPUs, so the low end 8500GT will decode as well as the 280! Nvidia tells me the VP2 clock rate will be increased in forthcoming GPUs.

Progress report: I have just finished abstracting out the libavcodec support into a general decoder interface in DGAVCIndex. I will now implement the CUDA decoder to this interface. To support any new decoder, you just supply a file that implements these functions. This is what the interface looks like:

extern int decoder_open(void);
extern void decoder_close(void);
extern int decoder_reset(void);
extern int decoder_decode_nalu(int *frameFinished, unsigned char *buf, int len);
extern void decoder_copy_frame(unsigned char *y, unsigned char *u, unsigned char *v);
extern unsigned int decoder_get_width(void);
extern unsigned int decoder_get_height(void);
extern int decoder_get_poc();
Later, these will be function pointers to allow for changing the decoder without recompiling.

CruNcher
7th September 2008, 14:40
Great Donald also that you have access to the Deinterlacer and IVTC now we can also compare them in real with the other (software) ones available :)
if you still need someone to test it out im here (8800GT G92 512mb) :)
Can you get access to them without being dependent on the video input @ all (Mpeg-2,VC-1,H.264), so something like nvidiadeint() nvidiaivtc() is possible ?

opieant
8th September 2008, 06:11
Hmm, I just looked at the code and it looked as if it DOES use the right most '.' as you want. I tested it and it works as it should. How do you make it fail?

Whoops. It happens when there is a period in the name of a file with no extension, as it should be doing when cutting off at the last period.

Looks like Windows considers a file name with periods to have no extension if any spaces follow the final period. Of course, I could just put extensions back on my files to work around this, but what fun would that be? :)

CiNcH
8th September 2008, 12:12
Currently the VP2 is clocked the same on all the GPUs, so the low end 8500GT will decode as well as the 280! Nvidia tells me the VP2 clock rate will be increased in forthcoming GPUs.

Think later GPU's should be clocked higher as they officially support two H.264 streams to be decoded in parallel!? Or do you think that older GPU's are just restricted in an artificial way?

Guest
8th September 2008, 14:12
If they are in parallel, why would the clock rate have to be higher? Nvidia told me they all use the same clock rate. But I just found out that the 8500GT has a smaller memory bus size and later chips have a bigger one, so I can gain about 4 fps by upgrading. I've asked them which chip is the lowest end one that has the bigger bus.

BTW, GPU decoding is basically working now in DGAVCDec. I used a non-optimized approach first to expose possible issues. It revealed that once you open the GPU decoder in a thread, that thread must stay alive. But DGAVCDec was architected to kill the decode thread after a play/preview ends and then recreate it for the next play/preview. So I had to change the decode thread to a server thread that stays alive and waits for a wakeup from the GUI. It also revealed the correct way to reset the decoder for seeking is NOT what they first told me. We had to destroy and recreate the video parser. That's OK because it's effectively just a delete and new, so it's fast.

Next I plan to optimize the solution, fix some GUI issues, and roll out something you can play with.

noee
8th September 2008, 14:55
neuron2,
I use both DGIndex and DGAVCIndex with regularity, this is very exciting news. However, I'm strictly an ATI guy right now.

Sorry if I missed it before, but do you envision this capability on the ATI GPUs with DGAVCIndex in the future?

Guest
8th September 2008, 15:19
I haven't ruled it out, but to be honest, I generally spend my time only on things that I need myself. Now, if you showed that ATI GPU decoders perform better than Nvidia ones, then I would need it. :)

ToS_Maverick
8th September 2008, 15:38
slightly OT but, would it be possible to implement your decoding routine in ffdshow? don't know the difference of your decoding approach compared to the one in MPC-HC, which also has GPU-decoding support.

maybe someone other will then implement a decoder for ATI cards, that you could use ;)

G_M_C
8th September 2008, 15:45
I haven't ruled it out, but to be honest, I generally spend my time only on things that I need myself. Now, if you showed that ATI GPU decoders perform better than Nvidia ones, then I would need it. :)

Well, aside from the fact that the new HD48xx-GPU support PIP (dual stream decoding), 7.1 High definition audio, resolutions up to QHD, are faster and are considered "more bang for the buck", there is nothing better about them than NVidia's ;)

Actually, i dont really care about GPU-support. The whole thing gives me deja-vu's of the beginning of the MPEG2 / DVD-age. We all wanted GPU support then, and there were special add-in board to help assist decoding and such. See where we ended up; Our modern CPU's handle MPEG2 without so much as warming up, even in HD-resolutions. I think eventually it will be the same with H264.

So all-in-all i care more about software-decoding, and hope that I will have the same functionality when i DONT have an NVidia.

lexor
8th September 2008, 15:56
Well actually neuron might not have to do anything, as there are efforts on the way to get CUDA to run on ATI GPUs. ATI is still giving them the silent treatment, but Nvidia now openly supports them (including actual engineers' advice). While there isn't anything in terms of publicly available software/drivers, I wouldn't jump ATI ship just yet, if you invested in an expensive card already.

Guest
8th September 2008, 16:28
Well, aside from the fact that the new HD48xx-GPU support PIP (dual stream decoding), 7.1 High definition audio, resolutions up to QHD, are faster and are considered "more bang for the buck", there is nothing better about them than NVidia's ;) I'm concerned only with video decoding. Is there any evidence that it performs better?

Actually, i dont really care about GPU-support. The whole thing gives me deja-vu's of the beginning of the MPEG2 / DVD-age. We all wanted GPU support then, and there were special add-in board to help assist decoding and such. See where we ended up; Our modern CPU's handle MPEG2 without so much as warming up, even in HD-resolutions. I think eventually it will be the same with H264. You haven't been listening! I'll say it one more time and then just ignore further similar posts:

1. Any offloading to the GPU makes more CPU cycles available to an encoder. A video card is not like an additional MPEG2 decoder card. Every system already has a graphics card.

2. I currently do not have a decoder that handles PAFF correctly, and I'm not prepared to wait an eternity for it in libavcodec. The GPU decoder decodes correctly, and does not crash on bad streams as libavcodec does.

3. I get VC1 for nothing.

So all-in-all i care more about software-decoding, and hope that I will have the same functionality when i DONT have an NVidia. Go bug the libavcodec author to fix it, then go bug CoreAVC to release the API/SDK. Good luck!

G_M_C
8th September 2008, 16:47
OK OK, calm down ...

I do not have a NVidia, and actually plan to buy me a HD4850; But maybe in the future you be able to implemant GPU-offloading on Ati's too.

Turtleggjp
8th September 2008, 16:51
I haven't ruled it out, but to be honest, I generally spend my time only on things that I need myself. Now, if you showed that ATI GPU decoders perform better than Nvidia ones, then I would need it. :)

I tried playing back my video camera's footage with a GeForce 8500GT a while back (May 2008 I think) and the result was pretty good, but somewhat jerky (not wrong field order jerky, just not 100% smooth). I then upgraded to a Radeon 3450 and that works perfectly. This was only for my camera's footage though (PAFF :devil:), I don't think I ever tried it with either Blu Ray AVC video or x264 created video. I still have the 8500GT in its box, so I could try it again. Since you say you have this card, were you able to play my clips ok with it? I had posted one a couple months ago when I asked you to fix a bug that was causing it to detect the stream as 188 byte packets instead of 192 byte. I can provide another sample if you'd like.

Matt

Guest
8th September 2008, 16:58
I tried playing back my video camera's footage with a GeForce 8500GT a while back (May 2008 I think) and the result was pretty good, but somewhat jerky (not wrong field order jerky, just not 100% smooth). That points more to the player application's implementation than the underlying decoder. It could be a decoder issue if its sustained decoding rate is less than the display rate of the video, but I have not found this to be the case for any of my test streams.

Since you say you have this card, were you able to play my clips ok with it? I had posted one a couple months ago when I asked you to fix a bug that was causing it to detect the stream as 188 byte packets instead of 192 byte. I can provide another sample if you'd like. Yes, all PAFF streams are decoded correctly.

DGAVCDec is not a player application. If it can decode the stream correctly at a good rate, that is all that is required.

Turtleggjp
8th September 2008, 19:15
DGAVCDec is not a player application. If it can decode the stream correctly at a good rate, that is all that is required.

I understand. I was merely trying to provide an example that I have witnessed where a Radeon outperformed an GeForce in H.264 decoding.

If DGAVCDec starts supporting Nvidia decoding, I will probably put that 8500GT into my main system at home and see how well it works. That will be awesome if I can finally use it on my video camera footage, if only there at home. I need to see if I can add a card to my laptop now...

[edit] Darn! Looks like Nvidia doesn't have Windows 2000 drivers for the GeForce 8 series of cards. :mad: I guess I'll have to finally update my main system to XP, unless of course there's any chance this will also work on a 7600GT.

Deinorius
8th September 2008, 23:18
CUDA ist just for Geforce8 and newer (and I hope for ATI cards too - there was a guy, who told he could bring CUDA to work on a ATI). But there was a problem with the first Geforce8 cards and their UVD, nowadays it shouldn't exist in new cards.

Ranguvar
9th September 2008, 00:55
=Darn! Looks like Nvidia doesn't have Windows 2000 drivers for the GeForce 8 series of cards. :mad: I guess I'll have to finally update my main system to XP, unless of course there's any chance this will also work on a 7600GT.

The XP 32-bit drivers should have a good chance at working, if you're feeling adventurous. Or you might have to use an old XP driver version.

SpAwN_gUy
9th September 2008, 10:31
GPU's.... cool :) ...
need any testers? ... 'cause i've recently(this night) got my new sony hdr-sr12.. so i'll get more footage to decode/encode...

my primary encoding/work PC is vista x64 + 8600GT... E8400/4Gb....
and at home i have e6400(i plan to upgrade that) + ATi x3870 ....
and i will get some Intel GPU at the new Notebook...

and.. ofcourse.. i have bunch of agents on x264farm :)))

Guest
11th September 2008, 15:02
I am now running my alpha DGAVCIndexGPU here successfully. There are some issues I want to resolve before releasing it for testing, but things are going well. The support from Nvidia is unbelievably competent and responsive! It's the best support I've ever had from any company, including my own employer.

Yoshiyuki Blade
11th September 2008, 15:23
This is certainly great news! I have and ol' 8800 GTX ready for some testing. What exactly does the GPU version speed up? Does it require CUDA-enabled drivers?

EDIT: I think I got the gist of it a few pages back. It seems there has been a lot of discussion on this topic last I checked. What will DGAVCIndexGPU utilize in the video card? Just CUDA? Because I recall that after the first generation of 8 series cards (8800GTX and GTS 640/320) Nvidia added something else related to video decoding (I think Purevideo HD) to the lower-end 8400-8600 cards, which don't work with the 8800 cards.

Guest
11th September 2008, 16:12
It uses the VP2 decoding engine. I can also expose the deinterlacer and 3:2 pulldown processing, but I haven't tested that yet. Those are referred to as PureVideo. There are several generations of it, PureVideo 1, 2, and 3. The 8800GT has PureVideo 2, same as my 8500GT.

The PureVideo HD label just means that HDCP is supported. Your card should be PureVideo HD.

I think you may be referring to PureVideo 3, which was added later and increases the acceleration for VC-1.

hajj_3
11th September 2008, 16:34
neuron, in next alpha please could you add an option like in dgmpgdec's .ini so that we can choose to bring window to foreground and beep once creating the .dga is complete as currently that doesnt happen.

keep up the great work!:)

lexor
11th September 2008, 16:50
Just a suggestion for when you do release the new decoder. It might be a good idea to include a list of cards and their capabilities as they pertain to this new decoder. For instance you said that all cards have the same clock, but not same memory bandwidth. So a short list of recommended cards and the cheapest option that has everything needed would be a good idea for those who don't really know much about their GPUs, aside from the fact that they run games.

Guest
11th September 2008, 17:00
Don't you know I always write thorough documentation? :)

Thank you for your suggestion.

Yoshiyuki Blade
11th September 2008, 20:11
It uses the VP2 decoding engine. I can also expose the deinterlacer and 3:2 pulldown processing, but I haven't tested that yet. Those are referred to as PureVideo. There are several generations of it, PureVideo 1, 2, and 3. The 8800GT has PureVideo 2, same as my 8500GT.

The PureVideo HD label just means that HDCP is supported. Your card should be PureVideo HD.

I think you may be referring to PureVideo 3, which was added later and increases the acceleration for VC-1.

Nvidia just had to make things confusing didn't they? :D

The FAQ I mentioned was answered here: http://www.nvidia.com/object/purevideo_hd_faq.html#1Q4 but I had no idea there were more than 2 versions of PureVideo (just thought there was the vanilla and HD). But after reading the FAQ again, it does imply that there was an earlier version of PureVideo HD.

kemuri-_9
11th September 2008, 21:00
lol @ that FAQ.
I have a Phenom 9850 with a 8600GT, guess they don't take account for the people that have 'power processors' but not powerful video cards:
I don't game on here so don't need a powerful video card

I've tried using DXVA in MPC-HC, but it's resulted in studdering video when turned on.
From what i've read from previous posts in here, it seems that DXVA on XP is lacking? (using 177.83 drivers)
is that actually true?

rack04
11th September 2008, 21:45
lol @ that FAQ.
I have a Phenom 9850 with a 8600GT, guess they don't take account for the people that have 'power processors' but not powerful video cards:
I don't game on here so don't need a powerful video card

I've tried using DXVA in MPC-HC, but it's resulted in studdering video when turned on.
From what i've read from previous posts in here, it seems that DXVA on XP is lacking? (using 177.83 drivers)
is that actually true?

Topic is probably better in the MPC-HC thread but I have no problems with DXVA on my 8800GT using XP.

Yoshiyuki Blade
11th September 2008, 22:49
Hmm... FAQ above the one I mentioned in my last post has me a bit concerned:

Q. What is new in GeForce 8400, GeForce 8500 and GeForce 8600 GPU video processors?
These GPUs feature a new video engine that includes a bitstream processor (BSP) and an improved programmable video processor (VP).

Are they referring to VP2? If so, the early generation 8 series cards won't be capable of this technology. :eek:

nm
12th September 2008, 06:23
Are they referring to VP2? If so, the early generation 8 series cards won't be capable of this technology. :eek:
Yes. See this table for GeForce 8 cards that have/don't have VP2: http://en.wikipedia.org/wiki/Comparison_of_Nvidia_Graphics_Processing_Units#Features_3

Guest
12th September 2008, 06:31
I think the decode will still work on VP1, though not as efficiently.

squid_80
12th September 2008, 06:44
Doesn't the CUDA video decoder need compute capability 1.1?

canTsTop
12th September 2008, 09:28
4. Can be done something for preventing audio/video synchronization lost and DGAVCDecode crash for TS recordings with errors? Here is sample http://www.mediafire.com/?7wohntw2ijw
When i play it with MPC+ffdshow it shows corrupted frames (i don't mind it) but wont crash and audio/video synchronization is back after errors.

The crashing I can mitigate with a try/except block. I'll put that on the to-do list. The sync issues are more difficult. The reason MPC can do it is because MPC still has the timestamps in the stream. But when you demux you lose them. It's better I think to preprocess the stream with a tool such as ProjectX. I may write one.

Crazy idea. Is it possible to add future then saving project to decode audio to wav with correct time stamps so it matches video?

Guest
12th September 2008, 12:20
Sorry, but I can't follow your point, as your English appears malformed.

canTsTop
12th September 2008, 14:19
Sorry for bad English... I meant: is it possible to decode audio using timestamps in TS file so audio and video be in sync. Like MPC synchronize audio after errors, to decode this synchronized version of audio. Probably its crazy idea...

Guest
12th September 2008, 14:28
I'm not thrilled about the idea of doing audio decoding in DGAVCIndex. I have on my to-do list insertion/deletion of audio to demux a zero-delay stream, but it's not high on my priority list. And it would be for the start of the stream only. I think error correction for corrupted streams belongs in a separate application.

Schmendrick
12th September 2008, 14:31
@canTsTop: What ProjectX does with Mpeg2Ts-streams is that it fills up missing or faulty video and audio frames, shifts the audio relative to the video to keep synchronity when both streams are demuxed, thus loose their time stamps and then are remuxed again. If at random frames in the original streams are missing or faulty then the desynchonization becomes unrepairable. If you keep the time stamps a proper decoder can resynchronize video and audio.

As long as you have faulty clips the streams should always be retained at least within their Programme Elementary Stream container.

Another problem is that the video frames in e.g. satellite H.264-streams are not transmitted in the order as the clip has been made, but rather in the order how the stream has been encoded. According to the time stamps I have found e.g. the following frame order within such a video stream: 7, 8, 3, 4, 1, 2, 5, 6, 15, 16, 11, 12, 9, 10, 13, 14, 23, 24, 19, 20, 17, 18, 21, 22,..... The audio stream is usually laging behind the video by up to one second.
To be able to properly synchronously cut such streams even if they are error free you would have to reorder the frames and shift the audio packets relatively to the video packets to be able to do a cut properly. The begining in front of an I-frame and the end after an I-frame or a P-frame.

Schmendrick

LOGiC
15th September 2008, 07:26
@all,

are there any known problems with the Indexing of bigger AVC/H264 files ? I tried to index a 1080p 8GB file, but when trying to load the indexed file into meGUI, it just gave me a green screen and no picture, but it works fine with i.e. 4,5GB 720 files. Any ideas ?

Thanks in advance.

Ranguvar
15th September 2008, 11:18
I've indexed 1080p files over 15GB, so no.

Bad stream? Try muxing to M2TS/demuxing. If it still won't go, chop a sample, test, and send it in.

rebkell
15th September 2008, 15:33
I don't know if this has already been addressed, but on the CLI version, if you leave the dga off of the output file, it will crash, and if you put the .dga extension on the output file, then when demuxing the audio, it will include the .dga as part of the demuxed audio aka
Eureka0102.dga PID 1100 DELAY -39ms.aac

this is on 100a35, it's no big problem, just inconsistent with the gui version, which doesn't put the dga in the demuxed audio file.

It will actually index the file and create the output dga file, without an extension, but I guess it crashes on the audio file, it doesn't create one at all.

Edit: Ok, it does create the audio file when you leave off the dga extension, but it crashes on completion.

Ranguvar
19th September 2008, 02:07
Bug report, though I doubt you'll be able to replicate it, since it was random... I've used DGAVCIndex a lot today, and when I opened it this time, I couldn't see it, though it was on the taskbar. Hmm. Odd. What was really odd is that in WinFlip (fancy graphical Alt+Tab like Vista), I could see the window.

I downloaded DGAVCIndex again, ran the new one, and it worked. So, I checked my INI file, as that was the only difference between the two. Lo and behold - my window position was set to -3200,-3200. Changed it to 100,100, as it was in the default INI, and now it works.

Again, doubt you'll be able to replicate/fix, and it may have been on my end, but I'll post this for anyone else if they run across the problem.

Guest
19th September 2008, 02:22
It happened to me once, too. I couldn't repeat it and the code looks OK so I never bothered about it.

Sagekilla
19th September 2008, 04:36
@Ranguvar: I think the issue has to do with the ini file. I had this same problem as well, but as soon as I closed the application and deleted my ini to have it regenerated, it worked perfectly fine.

I should note, neuron2, that this problem exists in DGAVCIndexNV too.

Guest
19th September 2008, 12:14
I should note, neuron2, that this problem exists in DGAVCIndexNV too. Same code for INI file handling. What we need to fix it is a procedure for making it happen. I could also add a sanity check on the values when loading the INI file.

krieger2005
19th September 2008, 12:28
The main question for me is where these numbers (-3200) came from. I mean, if DGAVCIndex write them into the ini-file it should get them from somewhere. Maybe it is a OS-Problem then? If so, then a so called "sanity check" whould be the best thing. In general i think such a check is usefull when for exaple if someone lower his resolution, so the DGAVCIndex fall out of the monitor-view. Or if someone give his DGAVCIndex zipped to his friend with different Monitor-Resolution.

squid_80
19th September 2008, 12:40
Don't break my secondary monitor (whose co-ordinates range from {-1280,0} to {0, 1024}). However do feel free to swear at MS for allowing stupid desktop geometries.

Guest
19th September 2008, 13:08
The main question for me is where these numbers (-3200) came from. GetWindowRect().

medp7060
22nd September 2008, 12:45
I have a ts clip of h.264/aac+. DGAVCDec 1.0.0 Alpha 35 demuxed the audio as AAC LATM/LOAS. Strange thing was PowereDVD could not play the resulted aac audio. However, it played the original ts clip well. Any isea what was wrong?

Guest
22nd September 2008, 12:52
Please provide an unprocessed stream sample that I can use to duplicate your issue.

medp7060
23rd September 2008, 03:51
here is the sample http://rapidshare.com/files/147590800/TVNZ6.ts

rack04
24th September 2008, 14:12
@neuron2

I have read the DGAVCIndex User Manual. In the section "Field Operation" you discuss the differences between honor pulldown, ignore pulldown, and force film. More specifically:

If the clip is 29.976fps, and the Field Repeats box in the Information Panel indicates field repeats consistent with 3:2 pulldown, then it is likely that the clip can be treated as 3:2 pulldown material, and so the Force Film option should be selected for generation of the DGA file.

What indicates field repeats consistent with 3:2 pulldown? The reason I ask is because on some of my HD DVD's with AVC, i.e. Transformers, the demuxed AVC file is 29.976. How would I use the Information Panel to verify that the source has a 3:2 pulldown?

Atak_Snajpera
24th September 2008, 14:16
Movies on HD-DVD are always encoded as 23.976 so you can safely use Force Film

rack04
24th September 2008, 14:19
Movies on HD-DVD are always encoded as 23.976 so you can safely use Force Film

Same for Blu-ray?

Guest
24th September 2008, 14:22
What indicates field repeats consistent with 3:2 pulldown? The reason I ask is because on some of my HD DVD's with AVC, i.e. Transformers, the demuxed AVC file is 29.976. How would I use the Information Panel to verify that the source has a 3:2 pulldown? 3:2 pulldown makes 5 frames out of 4. So, start a preview and let it run for a while. Then calculate the ratio of Playback # / Coded #. If it is a 3:2 pattern the ratio will be close to 5/4 = 1.25.

Guest
24th September 2008, 14:50
I have a ts clip of h.264/aac+. DGAVCDec 1.0.0 Alpha 35 demuxed the audio as AAC LATM/LOAS. Strange thing was PowereDVD could not play the resulted aac audio. However, it played the original ts clip well. Any isea what was wrong? Well, it is LATM/LOAS. You can drop the demuxed AAC file into WinAmp and play it. You can use the WinAmp output plugin to save the decoded WAV. I don't know anything about PowerDVD and what files it can open.

Guest
26th September 2008, 01:17
* Code restructured for standard decoder interface.

* Changed hotkeys:

Save BMP [F7]
Copy Frame to Clipboard [F8]

* Fixed a memory leak that caused indexing to fail for large files.

* Licensing activation system added. [Just kidding!]

* Temporarily disabled the frame type field of the Info dialog because it was showing decode order data instead of display order data, which is misleading to the user. (Note: this works correctly in DGAVCIndexNV.) Fix in progress.

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

medp7060
26th September 2008, 07:35
Thanks.

Unlike PowerDVD, WinAMP does take the aac audio and converts it into wav.

G_M_C
26th September 2008, 08:35
Thx Neuron2 !

I'll upgrade this weekend, and find a nice large project to test. DGAVCIndex has come a long way since i've started using it with Alpha 5, and i've not had many problems yet.

LoRd_MuldeR
26th September 2008, 12:22
http://neuron2.net/dgavcdec/dgavcdec101.zip

Thanks for the update :)

(BTW: It seems you forgot to change the version number, the "About DGAVCIndex" dialog still says Alpha-35)

Guest
26th September 2008, 12:41
BTW: It seems you forgot to change the version number, the "About DGAVCIndex" dialog still says Alpha-35) Ah yes, things were a little hectic yesterday evening. I have updated the ZIP so you can re-download it if you so desire.

On another matter, what is the thinking on MKV versus MP4 support? Which should I tackle first?

G_M_C
26th September 2008, 12:54
Ah yes, things were a little hectic yesterday evening. I have updated the ZIP so you can re-download it if you so desire.

On another matter, what is the thinking on MKV versus MP4 support? Which should I tackle first?

For some reason or another ( ;) ) i get the feeling that AVC-in-MKV is more common. And on that basis I think that MKV would be the more wise choice.

LoRd_MuldeR
26th September 2008, 13:05
On another matter, what is the thinking on MKV versus MP4 support? Which should I tackle first?

Since MP4 is the "native" container for H.264 (if there is such a thing), I'd vote for MP4 ;)

Zwitterion
26th September 2008, 13:12
My vote goes to MKV because I think it's the more used and versatile of the two, despite MP4 being the 'official' container.

Nikos
26th September 2008, 13:35
I'd vote for MKV.

rebkell
26th September 2008, 13:54
I would vote for mkv also.

turbojet
26th September 2008, 14:41
just a little cosmetic bug, the about box still says 1.0.0 alpha 35 in 1.0.1

LoRd_MuldeR
26th September 2008, 14:52
just a little cosmetic bug, the about box still says 1.0.0 alpha 35 in 1.0.1

http://forum.doom9.org/showpost.php?p=1188626&postcount=1471

rack04
26th September 2008, 14:54
I also vote for MKV.

audyovydeo
26th September 2008, 15:15
On another matter, what is the thinking on MKV versus MP4 support? Which should I tackle first?

Definitely MP4

I think there are enough "standards" already. Let's push one to achievecritical mass to one, and let it live long & prosper. I'd rather see DGAVDec become an "industrial-strength" tool than an "enthusiast-tweaking" tool.




cheers
a/v

rebkell
26th September 2008, 15:33
Definitely MP4

I think there are enough "standards" already. Let's push one to achievecritical mass to one, and let it live long & prosper. I'd rather see DGAVDec become an "industrial-strength" tool than an "enthusiast-tweaking" tool.




cheers
a/v

I don't think he's planning on exclusive mkv, just which one do we think he should tackle first. I gotta believe that the biggest majority of the userbase right now would rather see mkv. I can't speak for neuron2, but I strongly believe that the majority of his users would rather have mkv first.

Ranguvar
26th September 2008, 17:13
*votes for MKV*

Adub
26th September 2008, 19:18
* Licensing activation system added. [Just kidding!]


LOL!! Man, I almost had a heart attack there for a second. It was pretty surprising. Don't get me wrong, I think what you did with DGAVCDecNV was entirely in your right, and I support your decision to do so. But, man, I would have been extremely surprised (and maybe a little angry) if you had done the same thing with DGAVCDec.

Putting that aside, thanks very much for the update!! And I cast my vote for MKV first. It is more versatile than MP4, and more widely used. I use it all of the time, yet I only use MP4 for special situations, mostly having to do with hardware compatibility.

If you are eventually going to add both, that is great! But if it is only one, I vote MKV.

Thanks, Don, for the great work you continue to do for the community!

SeeMoreDigital
26th September 2008, 19:35
On another matter, what is the thinking on MKV versus MP4 support? Which should I tackle first?It's MP4 for me please....

More so now, given that the muxing of AC3 and EAC3 streams within the MP4 container has been standardised.

noee
27th September 2008, 00:59
Licensing activation system added. [Just kidding!]

**courtesy chuckle**

I vote for MKV.

Zep
27th September 2008, 01:14
On another matter, what is the thinking on MKV versus MP4 support? Which should I tackle first?

mkv for me too :)

Comatose
27th September 2008, 02:42
I vote for MP4 or MOV. MKV files are usually stuff I've encoded and don't need to open with DGAVC, so...
Example for mp4 - nicovideo uploads and other such blahblah.

Trailers and even video game trailers come in MOV often, so that would also prove useful.

Definitely MP4

I think there are enough "standards" already. Let's push one to achievecritical mass to one, and let it live long & prosper. I'd rather see DGAVDec become an "industrial-strength" tool than an "enthusiast-tweaking" tool.
Personally, I think we should support MKV instead of MP4 as it is the purely non-commercial format of the two and aims for more features, all of which are awesome.

Also, one thing that's would be awesome to have for both MP4 and MKV would be being able to tell when a video is VFR and the capability to extract it into MKV timecodes.

Zwitterion
27th September 2008, 03:05
MKV instead of MP4

Neuron2 just wanted to know which container to support first, so chances are good that both will be supported eventually. :)

Deinorius
27th September 2008, 18:46
I vote for MP4/MOV because demuxing of MKV files is easier imho. MP4 ist ISO too. MKV can come after that.

As comatose mentioned it, could it be possible if DGAVCIndex recognizes VFR in MKV files?

kemuri-_9
27th September 2008, 19:51
As comatose mentioned it, could it be possible if DGAVCIndex recognizes VFR in MKV files?

that makes it seem like MP4 can't do VFR, which it can! so don't be so misleading.

Guest
27th September 2008, 19:54
OK, guys, we can stop the voting now. It looks like a tie, so I'll toss a coin. :)

The plan is to support both.

stax76
27th September 2008, 20:18
MKV has won all polls I've seen by far, some examples:

http://forum.doom9.org/showthread.php?t=133342

http://www.planetdvb.net/node/378

DivX 7 wil use mkv which is likely to boost mkv's popularity even more.

Rodger
27th September 2008, 20:20
A shame there is still almost no progress in PAFF decoding.
Though the improvements of dgavc itself are very nice.
:thanks:


@ Stax

Well....WHY would I use DivX7?
I got x264!!! Won´t get much better!

Guest
28th September 2008, 00:03
A shame there is still almost no progress in PAFF decoding. Don't lose hope. Things are happening behind the curtain that could bear fruit.

Dark Shikari
28th September 2008, 00:13
@ Stax

Well....WHY would I use DivX7?
I got x264!!! Won´t get much better!DivX's main business is in making standalones support their format, and x264 can encode into "DivX7", since DivX7 is just going to be MKV with L4.0 H.264 High Profile video (not sure about audio yet).

nm
28th September 2008, 00:37
A shame there is still almost no progress in PAFF decoding.
I haven't seen sources (PAFF or other) that libavcodec would fail to decode properly after Michael's fixes in August, and he has been fixing more problems in the last few weeks (see the log (http://svn.mplayerhq.hu/ffmpeg/trunk/libavcodec/h264.c?view=log)). If people here still have samples that the decoder fails on, you might want to report them now, when Michael is still working on these things. Remember to test with the latest FFmpeg/libavcodec SVN, with MPlayer or ffplay, for example. And follow the guidelines (http://ffmpeg.mplayerhq.hu/bugreports.html) on bug reports.

Guest
28th September 2008, 01:30
As I have said several times, there are regressions for random access. Things are apparently OK if you only want to play straight through. I have recently been in touch with Michael about it and sent him a sample. Let's see if something can be done so that the random access needed by DGAVCDec can be made to work correctly with the latest code. If it could work I would have done it long ago, and again, I have tried to work with him in the past about it, without much luck. Now he has written me and I responded with the sample and an explanation. That is where things stand right now. If you'd like to encourage him to help us, I'd be grateful.

Deinorius
28th September 2008, 11:36
that makes it seem like MP4 can't do VFR, which it can! so don't be so misleading. This way or another, it doesn't answer my question.
If VFR could be supported, it will be better to be able to activate/deactivate it. Escpecially if mp4 supports VFR too. But honestly I've never seen any VFR.mp4 (but I didn't search for too) and I've no idea, if any SAP supports VFR at all.
Well....WHY would I use DivX7?
I got x264!!! Won´t get much better! Dark Shikari said enough, but don't forget, DivX7 will support H.264 Decoding. If I'm not false, an Encoder will come too. It might not be as good as x264, but I'm neutral (with advantages for x264 ;)).

Dark Shikari
28th September 2008, 11:38
Encoder will come too. It might not be as good as x264, but I'm neutral (with advantages for x264 ;)).Encoder is already out; its pretty much terrible; quality is comparable to x264 on fast-ish settings without AQ, and speed is worse than x264 by a wide margin. Of course, its just an alpha at this point, so one would expect it to get quite a bit better.

Rodger
28th September 2008, 12:49
Sorry guys...all I got out of what you wrote was that DivX will be immitating h264 (x264)!
When it come to SA...what do I need for (today)???
There were clearly reasons for DivX/Xvid back then, when there was only Mpeg2 because they were clearly better in almost any comparison ever made. But now there is x264.
It is compatible to all Blu-Ray players I have! That would be BD-P1400 and DMP-BD30! So I don´t need DivX to make anything SA compatible as I have a very good solution.

DivX7 won´t compress much better, will it?
DivX7 won´t reach higher levels of picture quality, will it?
DivX7 won´t encode much faster than x264, will it?

If none of the questiones can be answered "oh yes it will" (I didn´t read much about DivX7) I don´t see much future for it.

@ neuron
Damn it!:p
I hoped I wrote it the way you´d understand that nobody makes it your fault. But see...it really bothers me, ´cause ANY RECORDING from PremiereHD can´t be transcoded. I only recorded the most precious things and I already have about 120GB of video here, I´d like to get done...that´s it.

And by the way... for all others...my sample is still up @ rapidshare. Here it is: http://rapidshare.de/files/40160505/test_cut.ts.html

This is the problem back then: http://forum.doom9.org/showthread.php?p=1166534#post1166534
There is progress to be seen but still far from being okay.

So I have much much more material for samples...if that Michael needs them...tell me!!! I will upload more of them.

Atak_Snajpera
28th September 2008, 13:01
But see...it really bothers me, ´cause ANY RECORDING from PremiereHD can´t be transcoded.
Use DirectShowSource() + latest FFDShow

Rodger
28th September 2008, 13:21
You must have heard my hand clapping my forehead. :o
THAT happens if you have your own prepared collection of scripts and don´t remember such possibilities.
:thanks:
By the way...no need for ffmpeg here...I have cyberlink installed which does the better job from my point of view.

/EDIT: Still I like the way via DGAVC more (stable).

Guest
28th September 2008, 13:22
Guys, please start a new thread for OT discussion of DivX. Thank you.

Guest
28th September 2008, 13:27
And by the way... for all others...my sample is still up @ rapidshare. Here it is: http://rapidshare.de/files/40160505/test_cut.ts.html
That stream is decoded just fine with DGAVCIndexNV. I would also guess that it is fine with the latest libavcodec code. When I can incorporate it without breaking random access I will.

Deinorius
28th September 2008, 13:50
Encoder is already out; its pretty much terrible; quality is comparable to x264 on fast-ish settings without AQ, and speed is worse than x264 by a wide margin. Of course, its just an alpha at this point, so one would expect it to get quite a bit better. You mean the original Mainconcept Encoder?

At least DivX brings MKV to SAPs with H.264 Decoding support. That's the mostimportant thing.

Edit: Sorry neuron2.

Dark Shikari
28th September 2008, 13:55
You mean the original Mainconcept Encoder?No, they have an alpha encoder. Check their thread on the topic on Doom9; it exists for a reason (for one, to keep discussion out of here ;) ).

SeeMoreDigital
28th September 2008, 14:00
At least DivX brings MKV to SAPs with H.264 Decoding support. That's the mostimportant thing.In your opinion.... In my opinion, DivX should have gone with the .MP4 container.

Dark Shikari
28th September 2008, 14:02
In your opinion.... In my opinion, DivX should have gone with the .MP4 container.The problem with MP4 is that in most of the world subtitle support is extremely important, and MP4 does not support a subtitle format that anyone uses. I also suspect DivX wanted to have a container with as much freedom as possible to choose their spec within.

Atak_Snajpera
28th September 2008, 14:08
In your opinion.... In my opinion, DivX should have gone with the .MP4 container.
__________________
MP4 officially cannot be bigger than 4GB

Guest
28th September 2008, 14:13
Guys, I'm asking again for you to take OT discussion elsewhere. You are aware of the forum rules and you've been asked twice. You can easily guess what comes next. Thank you.

LessThanJake
28th September 2008, 15:48
Hi,

Some things I´ve noticed:


DGAVCIndex does not open elementary streams that start with sps_id > 0 in the first sps within a stream.
Sample: bbb-sps-id-7.264 (http://depositfiles.com/files/8299323)

An ES with mixed sps-ids starting with sps-id = 0 reports "non existing PPS referenced" at the end of the stream when played back (F5). Indexfile creation seems to work properly.
Sample: bbb-sps-id-in-mixed-order-0-9-5-1-17-31-10-8.264 (http://depositfiles.com/files/8299442)


reference sample:
bbb-sps-id-0.264 (http://depositfiles.com/files/8299564)

All these samples can be decoded properly with ffdshow and CoreAVC when muxed to MKV.

I also took a look into the ITU-T H264 Rec. and I could not find any clause that prohibits sps_ids > 0 for the first sps/pps in the bitstream, so may this be a bug(?)

greets
LTJ

Guest
28th September 2008, 16:20
All fixed. Thank you for reporting it.

It wasn't the SPS 0, it was the fact that there was no PPS 0.

New builds to be released for DGAVCDec and DGAVCDecNV this evening.

LessThanJake
28th September 2008, 17:13
... it was the fact that there was no PPS 0.


Yes, you´re right, that was my fault!
Forgot to insert the matching SPS/PPS for the last part in the teststream.

greets
LTJ

Guest
28th September 2008, 17:23
@dk75

I warned you twice, so struck. Follow up in PM if you feel wronged.

Guest
29th September 2008, 23:11
Version 1.0.2 changes:

* Fixed decode failure when no PPS 0 exists.

* Improved robustness of transport parsing.

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

medp7060
29th September 2008, 23:15
Many many thanks for the update

halsboss
30th September 2008, 02:33
Are DGAVCDecNV and DGAVCDec functionally equivalent ? Didn't spot it in the 1st few posts. When DGAVCDecNV supports .mp4 I'll hop over and acquire a license or two if you reckon DGAVCDecNV+8800GT will be better.

Guest
30th September 2008, 02:55
Are DGAVCDecNV and DGAVCDec functionally equivalent ? Didn't spot it in the 1st few posts. When DGAVCDecNV supports .mp4 I'll hop over and acquire a license or two if you reckon DGAVCDecNV+8800GT will be better. Yes, apart from a few enhancements that take advantage of the GPU. MP4 and MKV support will be done for both.

LoRd_MuldeR
30th September 2008, 02:59
MP4 and MKV support will be done for both.

Great :thanks:

halsboss
30th September 2008, 04:10
Terrific ! Just read the entire email conversation between yourself and Nvidia ... you earned every last cent of whatever you get, and I hope that's a lot. Nvidia also seem to be very responsive and on the ball (as are you). All the Best.

SeeMoreDigital
30th September 2008, 15:23
Yes, apart from a few enhancements that take advantage of the GPU. MP4 and MKV support will be done for both.Thanks Donald :)

medp7060
1st October 2008, 06:02
There may be a small bug in Version 1.0.2, it is reproducible. If open a file (ts), then you delete it from the "File list", adding another one (ts), click OK. It will says "No video frames found" when "Preview". You do all that again, i.e. delete the 2nd one and add others, the problem exists until you open the first one. however, each of the files can be correctly processed if it is directly opened.

Guest
1st October 2008, 20:22
As I have said several times, there are regressions for random access. Things are apparently OK if you only want to play straight through. I have recently been in touch with Michael about it and sent him a sample. Let's see if something can be done so that the random access needed by DGAVCDec can be made to work correctly with the latest code. If it could work I would have done it long ago, and again, I have tried to work with him in the past about it, without much luck. Now he has written me and I responded with the sample and an explanation. That is where things stand right now. If you'd like to encourage him to help us, I'd be grateful. Can't say I'm full of optimism after the latest response from Michael, which chides me for my "impatience". I also found a 3-month old bug report on the tracker that reports the problem I have, frame duplication by the decoder. The bug is not assigned.

It's time to think about abandoning libavcodec support and concentrating on the CoreAVC and GPU decoders. I understand that the developers are part-time volunteers, there's lots of bugs waiting for solutions, etc., so please don't flame me for that.

canTsTop
1st October 2008, 20:53
What progress is with CoreAVC? Can we expect CoreAVC support any time soon?

rebkell
1st October 2008, 21:06
Yes, I'm all for CoreAVC also. I don't mind spending a few extra bucks here and there for this stuff. I've been trying out the trial of CoreAVC and even though I haven't purchased it yet, I'm just lazy and waiting for the trial to run out, but it's a done deal.

Rodger
1st October 2008, 21:56
Guys! Cut him some slack!
He´s just considering it.

@neuron: Man that is bad news!
One question though...why it is CoreAVC that you chose?
Why not Cyberlink Decoder or any other h264 decoder?

Guest
1st October 2008, 22:27
CoreAVC has stated that they will make available an SDK/API to access their decoder in a low-level way. I've had good success with their decoder as well.

LoRd_MuldeR
1st October 2008, 22:30
Can't the CoreAVC support be made optional? :confused:

Also can't I use CoreAVC via DirectShowSource() already? Or can't frame-accuracy be ensured this way?

Rodger
1st October 2008, 22:37
CoreAVC has stated that they will make available an SDK/API to access their decoder in a low-level way. I've had good success with their decoder as well.
fair enough!

Yep! Also same question here just like Lord_Mulder.
Where is the difference between DGAVCdec and DSS?

/EDIT: DAMN IT! Anybody found a source where I can buy it for me....HERE in germany? I found 6 billion links to download "cracked version" and stuff like that...but no/none (software) shop when using the search terms...
We would need the pro-version because the "normal" version has no PAFF support?!

LoRd_MuldeR
1st October 2008, 22:59
Where is the difference between DGAVCdec and DSS?

DGAVCDec's main purpose is to deliver a Splitter for "raw" H.264 Streams and TS/M2TS conatiner. Support for MP4 and MKV files will be added.
Also it will access CoreAVC through a low-level API, not through the DirectShow interface...

(BTW: I think if libavcodec support is removed entirely (instead of making it optional), we can still use FFVideoSource() as free alternative)

Guest
1st October 2008, 23:14
DGAVCDec's main purpose is to deliver a Splitter for "raw" H.264 Streams and TS/M2TS conatiner. Not so. It's main purpose is to provide frame accurate video serving through Avisynth. Similarly, DGMPGDec's main purpose is not to demux VOBs.

Also it will access CoreAVC through a low-level API, not through the DirectShow interface... That's not fully clear yet, but it is my understanding.

I don't think FFMPEGSource() is fully frame accurate. Anyway, the current DGAVCDec won't disappear nor will it ever not be free, but it may not be updated if libavcodec PAFF support remains as it is. I haven't decided yet.

Wishbringer
2nd October 2008, 08:09
... CoreAVC... Anybody found a source where I can buy it for me....HERE in germany?

With Paypal it shouldn't be a problem to buy from CoreAVC.com, even in Germany.

hellfred
2nd October 2008, 08:40
Can't say I'm full of optimism after the latest response from Michael, which chides me for my "impatience". I also found a 3-month old bug report on the tracker that reports the problem I have, frame duplication by the decoder. The bug is not assigned.
Michael has to do quite a lot of reviewing at the moment (e. g. lots of google summer of code projects are to be integrated into regular ffmpeg svn repository like e.g AAC decoder and encoder, further more there is the avfilter framework, integration of swscale, David Conrad working on VP3 etc.) I hope he will find more time to work on AVC decoder again when these topics are done.

Guest
2nd October 2008, 11:54
Thank you for the information, I hope so too. I'll continue to monitor the situation and if the code becomes usable again for random access, I'll update.

Turtleggjp
2nd October 2008, 16:53
Just a reminder to update the title and first page with 1.0.2 info. I went there first and had forgotten that you had released 1.0.2. Thanks!

EDIT: Thanks for fixing the command line logging bug! Not sure when that happened, but thanks! That will come in handy for me.

dukey
2nd October 2008, 19:48
the divx team are working on a decoder
maybe they could provide a library

Guest
11th October 2008, 15:39
* Changed handling of NALUs with forbidden_zero_bit set. They are now silently discarded.

* Improved the heuristic for SPS/PPS injection when seeking. This fixes some cases of hanging at the end of the stream.

* Fixed a problem that could cause large SPSs to not be processed, resulting in decode failures.

* Revised the NALU parser to allow for some missing profile_idc values.

* Added lines CODED and PLAYBACK in the DGA file to provide the number of coded and playback frames.

* Added a workaround for the Windows bug that (rarely) caused the DGAVCIndex window to open off the screen.

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

Fishman0919
11th October 2008, 16:15
Thank You

rebkell
11th October 2008, 17:12
I read in the NV thread that DGAVCDec isn't open source at this time, just wondering if you are you still planning on making DGAVCDec open source?

Guest
11th October 2008, 17:14
Not at this time. Possibly in the future.

SquallMX
12th October 2008, 19:28
Bad decoding.

Sample:
http://rapidshare.com/files/153352978/Sample.264

:thanks:

CruNcher
12th October 2008, 19:57
@SquallMX

it's damaged nothing Donald can do :(

Guest
12th October 2008, 19:58
That has unusual dimensions. Where did it come from or how did you make it?

CruNcher
12th October 2008, 20:09
i would say it got damaged right @ encoding (problem is to being searched on the encoding side) at least i can see nothing that indicates the file itself got damaged ? (tough the question remains what caused this source failure/bug encoder failure/bug or a generic hardware failure ?)

SquallMX
12th October 2008, 20:20
That has unusual dimensions. Where did it come from or how did you make it?

Hi, CoreAVC plays the file just fine, maybe a FFMPEG bug?, is my rip from a BluRay (the Bluray don't have the bug neither with CoreAVC or FFDShow), created using x264 973, with psy 1:0:0:0, and AQ 1.0.

:thanks:

CruNcher
12th October 2008, 20:28
you right interesting even Mainconcepts Decoder fails with this source (wow), though this again opens another question is this stream spec compliant :D

Nvidia (Cyberlink OK)
CoreAVC (OK)
DivX H.264 (OK)
SVN Mplayer (OK)
SVN FFplay (OK)
FFDshow (latest albain) (fails from .264) (.mkv ok)
Mainconcept (fails from both .264 and .mkv) (rather old from 2006) (see DivX for recent)

I would say the stream is OK and Mainconcepts Decoder from this age buged ;)

Guest
12th October 2008, 20:43
@SquallMX

Please provide a corresponding fragment of the M2TS file direct off the Blu-Ray. If you don't I can't help you further.

Also, what blu-ray disk is this?

You say the fragment you gave was made by x264? But there is no user data showing that.

Please explain the exact origin of your sample clip.

SquallMX
12th October 2008, 20:58
@SquallMX

Please provide a corresponding fragment of the M2TS file direct off the Blu-Ray. If you don't I can't help you further.

Thanks, just give me a couple of days, because I'm in the middle of a general backup of my computer (the one with the BR Drive), after reinstalling Windows i will upload a proper BR sample.

You say the fragment you gave was made by x264? But there is no user data showing that.

Please explain the exact origin of your sample clip.

Long history... i made the 720p file 3 weeks ago, burn the DVD-R, watch the movie (not the credits...), everything was fine, today my brother wanted to watch the movie, since my main computer is in the middle of a general backup, i just put the 720p DVD-R versión in his computer, then he told me about the "error", so i cut a small sample (MKVExtract+DGAVCIndex) and posted that sample here.

:thanks:

Guest
12th October 2008, 20:59
Please explain the exact origin of the sample clip. You can do that now.

See my edit above. Things are looking fishy. I've never seen a blu-ray @ 1280x544.

Guest
12th October 2008, 21:20
Long history... i made the 720p file 3 weeks ago, burn the DVD-R, watch the movie (not the credits...), everything was fine, today my brother wanted to watch the movie, since my main computer is in the middle of a general backup, i just put the 720p DVD-R versión in his computer, then he told me about the "error", so i cut a small sample (MKVExtract+DGAVCIndex) and posted that sample here. You say you made a 720P MKV? But the file is 544 high.

You know what, nothing you are saying is making any sense.

If you don't post again with a proper explanation, you'll get struck for rule 6.

Guest
12th October 2008, 21:35
OK, it's a 1280x544 download of Pathology. Struck for rule 6.

Pathology has not yet been released on blu-ray.

SpAwN_gUy
13th October 2008, 09:58
i have some sort of "access violation", "not playing from .avs-script", and incorrect sound delay detection(with errorous channels numbers) with files from my AVCHD cam.. (that was with ver 1.0.2.. but i guess not with some alpha's before 1.0.0) i'll investigate.
and post some results with 1.0.4

Flaarn
13th October 2008, 11:09
Thanks for the update neuron2, @SpAwN_gUy an old version of the page was probably cached with you or your isp as I checked shortly after neuron2 posted the update and the link was to the right version.

SpAwN_gUy
13th October 2008, 14:16
okay, one confirmed...

my sony hdr-sr12 records to .mts-files(that are .m2ts) and i've found that when 2Gb's are recorded, it(cam) drops the stream and starts to write to a next file..

no problems with the first one(which is exactly 2Gb) but the problem rises on the start of the socond one..
when i hit preview in DGAVCIndex it reads and plays video, and reports audio as AC3 3/2 448(which is correct)(default delay is -214ms(for all other files))... but after hitting Esc warning message tells me "reference picture missing during reorder".. and "yes, no, cancel.. with no explaination what to do next"..
then i save project and then audio is reported as "AC3 1/0 192" (which is nor correct with delay of -960ms.. )...

as far as i know..
opening two files for indexing is not (yet) supported. (and i forgot the "merge-two-files-binarly-using-win-copy-command" anyone knows it?)
and my question is :
is it the correct behaviour? (like loosing 5 channels.. the extracted ac3 is really mono file)
do you need a sample? (using tsRemux .. or wat should i use? to preserve as much more info as possible.. i still have raws..)

i don't mind loosing 1st few frames.. i would like to get correct audio...

Turtleggjp
13th October 2008, 14:44
I haven't run into this yet with my camera (Canon HF-100), but I'm sure I will someday. I think all you have to do is the DOS binary copy:

copy xxxxx.mts+yyyyy.mts zzzzz.mts /b

You should be able to preserve all the video and audio this way if the second file was created due to the 2GB file size limit. Otherwise, having a program look at the second file by itself may be confusing for it, since it is like looking at the middle of a .m2ts file and expecting it to be the beginning. Keep in mind that while this will work for files like this, it will not work for files that are normally created as a result of starting and stopping recording. If you try it with them, the audio will most likely drift out of sync.

Matt

SpAwN_gUy
13th October 2008, 17:08
I haven't run into this yet with my camera (Canon HF-100), but I'm sure I will someday. I think all you have to do is the DOS binary copy:

copy xxxxx.mts+yyyyy.mts zzzzz.mts /b

You should be able to preserve all the video and audio this way if the second file was created due to the 2GB file size limit. Otherwise, having a program look at the second file by itself may be confusing for it, since it is like looking at the middle of a .m2ts file and expecting it to be the beginning. thanks for that.. but.. missing reference is still there :( ... .. the corrupted frame, but only in the middle of the stream... and reported only on seeking in DGAVCIndex
Keep in mind that while this will work for files like this, it will not work for files that are normally created as a result of starting and stopping recording. If you try it with them, the audio will most likely drift out of sync. i am aware of that :)

kebulek
13th October 2008, 18:35
neuron2: Thank you for DGAVCIndex - it's great, but could you please add support for .PVA files, like you did it with your "old" DGIndex? My DVB-S card doesn't support recording to .TS files. :(

Or someone please tell me, how to simply remux h264 .PVA to .TS. I tried demux my files to .264 + audio with Mencoder and then with tsMuxeR mux it to .TS. But it's always out of sync, so I must do the resync - it's really annoying. :(

Guest
13th October 2008, 19:53
@SpAwN_gUy

Post a link to a sample that I can use to duplicate your issue.

@kebulek

Post a sample PVA file that I can use to develop the feature you are requesting.

kebulek
13th October 2008, 20:33
@kebulek

Post a sample PVA file that I can use to develop the feature you are requesting.

Sample:
http://rapidshare.com/files/153693407/sample.pva.html

:thanks:

thymej
14th October 2008, 00:31
I have ran across a problem. Streams taken from the new Samsung camera SC-MX20 (US version) show the FPS as 29.970 with the following tools:

-VirtualDub via AVS script using DirectShow
-MediaInfo
-Dividing the time into the number of frame the clip has.
-And one other tool I have that also shows the FPS as 29.970.; I can’t remember the name of it, it listed pages and pages of the h264 header info such as what encoder was used, if CABAC was used, etc.

With DGAVSindex, it always shows 25 FPS. If I save the project in DGAVCindex and then edit the last line ‘FPS 25” to FPS 30000/1001 all is well.

I used ‘mp4box –raw 1 myvideo.mp4 –out myvideo.264’ to demux the h264 stream from the MP4 file from the camera.

I’m I missing something?

Thymej

Guest
14th October 2008, 00:49
Please post a link to a stream sample that I can use to duplicate your issue.

Isochroma
14th October 2008, 01:00
mp4box always sets streams to 25, if the source framerate was unknown. And if it wasn't CFR you're SOL.

thymej
14th October 2008, 01:53
Here is a link to a sample. The sample is direct from the camera.

http://rapidshare.com/files/153769442/SDV_0062.zip.html


Can you suggest a demuxer to demux the video that would let one state the FPS. The video is CFR BTW.

Ranguvar
14th October 2008, 02:00
You can with MP4Box.

-fps FrameRate

thymej
14th October 2008, 02:12
I have tried the following with the sample in the link:

-raw 1 sdv_0062.mp4 -fps 29.970 -out sdv_0062.264
-raw 1 sdv_0062.mp4 -out sdv_0062.264 -fps 29.970
-fps 29.970 -raw 1 sdv_0062.mp4 -out sdv_0062.264

All show 25fps in DGAVCindex.

I'm I using MP4Box wrong to extract the video stream? MP4Box version I'm using is the one from the MeGUI package (MP4Box - GPAC version - 0.4.5-DEV).

Guest
14th October 2008, 02:23
The raw stream does not specify a frame rate, so DGAVCIndex defaults to 25. I think you have to force it in the DGA file as you mentioned. I doubt any muxer is going to rewrite the raw stream, but hey, I don't know squat about MP4 stuff (yet).

thymej
14th October 2008, 02:37
What is the recommended format for DGAVCindex that would contain the FPS?

I tried the following to demux with MP4box into another MP4 file with only the video.

-single 1 SDV_0062.MP4 -out SDV_0062_muxed.mp4

The muxed.mp4 video plays in VLC and mediainfo shows FPS in MP4 with only the video. DGAVC said it could not find a video when I tried to preview.

Guest
14th October 2008, 02:47
DGAVCIndex cannot open MP4 files. Don't you read the documentation?

The recommended format is that the raw AVC stream must specify the frame rate (in the SPS).

Why can't you just edit the DGA file and be happy?

kemuri-_9
14th October 2008, 04:58
when you open it in avisynth after the AVCSource line, just use
AssumeFPS(30000,1001)
to get avisynth to assert it as that framerate from there on.

(sorry for going OT for a bit)

Guest
15th October 2008, 13:30
OK - here it is. Once again sorry I can't make it smaller but when I try to make it smaller (cutting to include the section that fails) it either then works(!) or the program crashes as it did before. This is about 180Mb

www.datamix.info/chuck_ends_early.ts

This file will cause the program to stop demuxing about 7s into the file with about 8s to go and at frame 3444 You lost me on this one. The stream is 2:09 long but your statement above suggests it is only 15 seconds long. In any case, I can't duplicate the issue with the current version of DGAVCIndex.

SpAwN_gUy
15th October 2008, 14:46
@SpAwN_gUy
Post a link to a sample that I can use to duplicate your issue.

here you go
http://rapidshare.com/files/154248487/00210_cut.rar
it's just.. part of file from the beginning (raw cut, no remuxing or something)

here what i did:
open file, press F6 - info window(as well as log file provided) shows AC3 3/2 448kbps.. and after pressinf Esc-button - message about missing references

after Save Project - gives another log-file(also included) with AC3 1/0 192kbps.

good thing is.. that after remuxing.. i guess tsRemux corrects something.. and everything goes fine...

Guest
15th October 2008, 15:24
Can't get file sharing sites at work, so you'll have to wait until this evening before I can look at it.

duckdown
15th October 2008, 15:44
Hi there

Just downloaded this and am trying it on some Mpeg4 content I recorded, but am having a major annoyance.

Why are the left and right arrows jumping like 50 frames at a time rather than frame by frame? It's making clean cuts of commercials god damn near impossible because of this.

And the slider on the bottom isn't nearly sensative enough to be able to seek to my desired cut points

Can someone please tell me how I can move frame by frame rather than jumping so many frames at a time? It's incredibly annoying

Thank you all

Guest
15th October 2008, 17:20
DGAVCIndex is not frame accurate. You can cut by GOPs only. For frame accuracy, you serve the video through DGAVCDecode and make frame accurate trims in the served video, either in your Avisynth script directly or in the application that opens the script.

lchiu7
16th October 2008, 10:37
You lost me on this one. The stream is 2:09 long but your statement above suggests it is only 15 seconds long. In any case, I can't duplicate the issue with the current version of DGAVCIndex.

The stream is 2:09 long but dgavcindex would stop after 15 seconds. I posted this on 1 Sept and it was using the latest version of dgavcindex at the time. Since then there have been a few new releases I guess (1.0.4 now?) and so when you had the time to test, clearly the latest version had corrected the problem. I also tried on the latest version and the problem has gone away.

So belated thanks I guess!

OrionZodiac
17th October 2008, 08:33
any plans for a DGVC1index?

lchiu7
19th October 2008, 20:53
I am using dgavcindex to demux both AC-3 and AAC audio streams from our DVB-T broadcasts. When I demux them the program creates names like

XXXX PID 19a 3_2ch 384Kbps DELAY -1381ms.AC3

where the ms delay is different from clip to clip.

What I am trying to do is compress the video (42 minutes takes over 3G) to mp4 using x264 and then mux it back with the original AC-3 audio into a MKV container. Haven't done tons of tests yet but I have found if I use the delay number in the name to delay (or advance in this case) the audio, the final streams is in sync. If I don't apply a delay then audio/video is out of sync.

Clearly dgavcindex knows something about the original audio/video stream and displays the delay to be used later but just wondered why such delays exists and how does the program know how to discern it.

Thanks:thanks:

Schmendrick
19th October 2008, 22:10
@Ichiu7: If you ever have watched and listened to a DVB-T broadcast in parallel to an analog broadcast of the same tv station then you have noticed that the DVB-T broadcast lags behind the analog broadcast. The reason for this is that the original analog tv video- and audio- streams first have to be compressed in real time for its transmission as DVB-T. This compression and its uncompression in your DVB-T receiver requires a finite time. Also as the video stream is converted into I-, P- and B-frames these frames are not produced in the order as their content has been recorded especially as the B-frames require its following B- or P- or I-frame to be produced as it is a "bidirectional" frame. Because of this the ts-(transport stream)-broadcast stream contains "presentation time stamps" to enable the decoder to reorder the frames and to delay the streams to get them in perfect sync again on display.

DGAVCDec reads the delay between the video- and audio-streams and displays it so that the decoded streams can be resynced. The decoder at the same time properly reorders the frames into their proper sequence.

Schmendrick

lchiu7
20th October 2008, 02:12
Thanks - that explains it. I am guessing that the various software and hardware players out there also then handle this delay?

[edit]

Just wondering then how this situation happens. I assume the delay is constant since dgavcindex outputs a file with a name that shows the delay time.

I capture DVB-T broadcasts with H.264 video and AC-3 audio. When the audio is demuxed with dgavcindex it as expects, notes the delay time.

However if I split the video into a number of segmente (to remove ads) using TSPacket Editor and run dgavcindex on each segment, each AC-3 file demuxed shows a different time offset. I have seen differences from -1384ms to -814ms. It means the only way I can compress the video is to compress each segment separately, mux the AC3 back and apply its individual offset and merge the files back. This is somewhat labour intensive.

Guest
20th October 2008, 02:46
It's been discussed many times. Do a search.

lchiu7
21st October 2008, 03:00
It's all fine now. Thanks

AntiJw
21st October 2008, 11:45
I've noticed that DGAVCDec's (v1.0.4) audio-delay-info (ms) isn't as precise as eac3to's after checking the sync of videos :P I used MKVToolnix to set audio-delay.

EDIT: Okey, neuron2, I'll try to make a videoclip soon, and then post again.
"my magic wand is broken"/neuron2 :D
EDIT2: I've noticed that eac3to isn't so precise sometimes either :-P

Guest
21st October 2008, 13:54
There's nothing I can do for you if you don't provide a stream and a description of how to duplicate your issue. As I have said many times, my magic wand is broken.

qyqgpower
21st October 2008, 23:37
@neuron2
http://www.mediafire.com/?4zwj2zyynme
Here's a MBAFF sample which would show artifacts when being decoded by DGAVCDec, mostly visible at frame 46 and 50. Other decoders except ffdshow would correctly decode the stream, so this is a libavcodec issue?
BTW, it's cut from a BD called Tokyo Marble Chocolate, the GOP seems to be unusually large (this sample has 890 frames!) comparing to other BD.

Guest
22nd October 2008, 01:10
@so this is a libavcodec issue? I suppose so. DGAVCIndexNV handles it fine.

Sharc
24th October 2008, 16:10
DGAVCindex fails to open 00000.m2ts. => 'Cannot find audio or video data, PID's may not be set correctly'.
MPC indicates 1011 as PID and 1105 as audio (en) and playback of 00000.m2ts is perfect.
'Detect PIDs' and 'Set PIDs' in the Stream menu of DGAVCIndex doesn't help, DGAVCIndex crashes.

Do I miss something?

Guest
24th October 2008, 16:32
Do I miss something? Yes, you missed giving me the one thing that will allow me to help you: a link to a source stream sample that I can use to duplicate your issue.

Sharc
24th October 2008, 17:54
I guess I don't have an editor to split an m2ts file.....
However: MedioInfo reports as format VC-1 with profile AP@L, rather than AVC and High@L4.1 for example. Could this be the reason?

Guest
24th October 2008, 18:33
VC-1 is not supported in DGAVCDec. It's quite clearly stated in the documentation.

Chumbo
25th October 2008, 00:44
I guess I don't have an editor to split an m2ts file.....
However: MedioInfo reports as format VC-1 with profile AP@L, rather than AVC and High@L4.1 for example. Could this be the reason?
You can use tsremux or tsmuxer.

Have you tried DGVC1Dec? Sorry, I couldn't resist.

laserfan
31st October 2008, 14:28
Why are the left and right arrows jumping like 50 frames at a time rather than frame by frame?

DGAVCIndex is not frame accurate. You can cut by GOPs only. For frame accuracy, you serve the video through DGAVCDecode and make frame accurate trims in the served video, either in your Avisynth script directly or in the application that opens the script.
So duckdown was seeing I-frames only, which is what I want to ID. But when I make an Avisynth script using the dga file from a 264 video, and open it with VirtualDub 1.8.6, it only shows [K] (keyframe) for every frame, regardless of whether it's an I, B, or P. Not sure why this is the case, but... is there a way using DGAVCIndex itself to view the I-frame locations as time code i.e. 0:00:00.000? Or is there another app vs. Vdub that will open the dga's .avs and show I, B, P accurately as time code?

rebkell
31st October 2008, 15:37
So duckdown was seeing I-frames only, which is what I want to ID. But when I make an Avisynth script using the dga file from a 264 video, and open it with VirtualDub 1.8.6, it only shows [K] (keyframe) for every frame, regardless of whether it's an I, B, or P. Not sure why this is the case, but... is there a way using DGAVCIndex itself to view the I-frame locations as time code i.e. 0:00:00.000? Or is there another app vs. Vdub that will open the dga's .avs and show I, B, P accurately as time code?

I wrote a little c# app, that analyzes the dga files for me, it may not work correctly for you depending on the designation of I, P and B frames, but it should count frames and give you the frame and approx time where the IDR frames occur. You can try it if you want.

http://rebkell.net/readDGA.exe

laserfan
31st October 2008, 16:09
I wrote a little c# app, that analyzes the dga files...I DL'ed and will give it a try, thanks!

rebkell
31st October 2008, 16:21
I DL'ed and will give it a try, thanks!

If you just downloaded it, it should be fine, if not, I had the wrong one up earlier, it had dependencies that weren't needed, if it pops up a dos window and stops immediately, just download it again. It's very short.

Guest
31st October 2008, 18:22
But when I make an Avisynth script using the dga file from a 264 video, and open it with VirtualDub 1.8.6, it only shows [K] (keyframe) for every frame, regardless of whether it's an I, B, or P. Not sure why this is the case Avisynth delivers uncompressed video to VirtualDub. Keyframes and delta frames are applicable only in the compressed domain.

laserfan
31st October 2008, 22:56
I did find that Avidemux opens & shows I-B-P accurately (has to do its own indexing though), so I can use that if rebkell's app proves not to work for me.

Disabled
1st November 2008, 00:36
Avisynth delivers uncompressed video to VirtualDub. Keyframes and delta frames are applicable only in the compressed domain.
It would still be nice to at least have the option to let the calling application know where I frames are (were), so I can quickly skip though the file by just jumping to I-frames. But I guess it would be quite a task to support it in avisynth and every input plugin.

Hunstad
1st November 2008, 01:21
Something like the debug information overlay from DGDecode would have been nice.

laserfan
1st November 2008, 02:12
Something like the debug information overlay from DGDecode would have been nice.Agreed.

rebkell
2nd November 2008, 20:31
I have a question about discontinuities that happen sporadically in .ts streams, how does DGAVCDec handle the incomplete video and audio units? Does it just drop them when demuxing the audio and not just serve them when frame serving?

Guest
3rd November 2008, 00:45
It blindly demuxes what it sees in transport packets. If there is an incomplete packet, it will demux junk and then resync to the next packet sync for the next packet.

So it is completely indeterminsistic what you will get if your stream is errored.

Yes, I know it is suboptimal. But I think stream cleanup should be done in a separate application run first, similar to ProjectX. You're welcome to write one if you need it. :)

I haven't needed it yet, so I never wrote one. Sorry!

rebkell
3rd November 2008, 00:52
It blindly demuxes what it sees in transport packets. If there is an incomplete packet, it will demux junk and then resync to the next packet sync for the next packet.

So it is completely indeterminsistic what you will get if your stream is errored.

Yes, I know it is suboptimal. But I think stream cleanup should be done in a separate application run first, similar to ProjectX. You're welcome to write one if you need it. :)

I haven't needed it yet, so I never wrote one. Sorry!

Actually I was just wondering, I haven't really noticed any problem with the junk. I was pretty sure it did what you said, but just wanted to make sure. Does the above apply to the video also, you just send what ever fragment you've got to the encoding app?

Guest
3rd November 2008, 01:11
Video is a little different, because it is trying to parse NALUs. But the effect is the same.

rebkell
3rd November 2008, 01:20
Video is a little different, because it is trying to parse NALUs. But the effect is the same.

Ok, thanks. I'm still trying to grasp the NAL units, but I take it if it's far enough along in the elementary stream before the corruption, that you'll serve up a frame?

Guest
3rd November 2008, 01:23
Not necessarily; it depends on how much transport is lost.

lchiu7
3rd November 2008, 01:37
It blindly demuxes what it sees in transport packets. If there is an incomplete packet, it will demux junk and then resync to the next packet sync for the next packet.

So it is completely indeterminsistic what you will get if your stream is errored.

Yes, I know it is suboptimal. But I think stream cleanup should be done in a separate application run first, similar to ProjectX. You're welcome to write one if you need it. :)

I haven't needed it yet, so I never wrote one. Sorry!

I personally find the tool invaluable for getting the AAC-HE LOAS streams out of our DVB-T broadcasts. But as neuron2 says, the output can be indeterministic depending on the source material.

I find occasionally if I have a poor stream (dropouts in the broadcast) the program can actually top demuxing part way through the file. I did upload a sample for DG to test and a later release fixed that particular file but the other day with A30 I found it had stopped 50% through the file (with no erros). Since the file is 3.3G I need to find the offending section and extract it for DG to test but that is proving difficult.

rebkell
3rd November 2008, 01:53
Not necessarily; it depends on how much transport is lost.

One more question, and I'm through :) Can it be determined by parsing the .dga file or is it more of a runtime type decision on whether a particular frame is served?

Guest
3rd November 2008, 01:59
If a frame is detected it will be served. If it is missing due to a transport drop out, then it won't.

laserfan
4th November 2008, 02:58
I wrote a little c# app, that analyzes the dga files for me, it may not work correctly for you depending on the designation of I, P and B frames, but it should count frames and give you the frame and approx time where the IDR frames occur. You can try it if you want.

http://rebkell.net/readDGA.exeTried your app rebkell and it worked fine for me, but I was looking to ID I-Frames along with the time code and a visual image (to check scene changes & be able to pick chapter marks). Guess I'll continue to use Avidemux, but thanks for posting!

lchiu7
4th November 2008, 03:42
Tried your app rebkell and it worked fine for me, but I was looking to ID I-Frames along with the time code and a visual image (to check scene changes & be able to pick chapter marks). Guess I'll continue to use Avidemux, but thanks for posting!


Have you tried TS Packedt Editor? It identifies frame types (IIRC), has visual display (you need to install the Haali media splitter for some media types), and also identifies discontinuities and other strange things in the file

laserfan
4th November 2008, 17:43
Have you tried TS Packedt Editor? It identifies frame types (IIRC), has visual display (you need to install the Haali media splitter for some media types), and also identifies discontinuities and other strange things in the fileAnother tool I didn't know about! Nice suggestion but Avidemux works great for my purpose--we now return on-topic thanks! :)

hellfred
4th November 2008, 19:47
Slow progress on the H246 decoder of libavcodec, this time from the ffdshow developers.
ffmpeg revision 15773 (http://svn.mplayerhq.hu/ffmpeg?view=rev&revision=15773)
And a call for a helping hand [1]:
Also besides these, it would be interresting to also parse PPS/SPS/SEI in
the AVParser (h264_parser.c). While that is unrelated to your patch, it
would be a step toward fixing some long standing timestamp issues with
h264 in mpeg-ps/ts and should not be too hard as the existing parsing code
could be shared.
[1] http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2008-November/055553.html

lchiu7
6th November 2008, 22:27
Perhaps due to atmospheric conditions or whatever, lately I have been encountering captured files from our DVB-T broadcasts which when dgavcindex tries to demux, it stop and notes ended successfully well before the end of file. This results in an AAC file which only covers part of the show.

The errors I have seen look like this
http://www.datamix.info/Capture.JPG

I normally click cancel since I press Yes the errors keep on coming.

Finally the file hasn't been processed completely.

Though they might be different issues if I open the file in TS Packet Editor and run a scan, it finds no errors in the file.

A sample (about 70Mb) can be found here

www.datamix.info/flashpoint.ts

Larry

poisondeathray
6th November 2008, 23:29
Ichiu - SMplayer seems to be able to play these LATM/LOAS AAC audio both separately, and decoding properly directly out of the .ts with the newest builds

I don't know enough figure out how this could be used in a dump, construct a graph, or use to the command line, but perhaps it might work?

Anyways perhaps we could carry the conversation over to the audio section?
http://forum.doom9.org/showthread.php?t=140570

Guest
7th November 2008, 00:31
@Larry

My transport parser is barfing. The stream seems OK. I thought I had this fixed, but apparently not. I'll get right on this.

lchiu7
7th November 2008, 01:13
@Larry

My transport parser is barfing. The stream seems OK. I thought I had this fixed, but apparently not. I'll get right on this.

Thanks for the quick response. I hadn't noticed this since I had developed a process for demuxing the files in batch, playing Winamp to get wav, besweet to get AC3 and then mux it back. But while watching a show so processed, the audio stopped half way through! So investigation led me to the issue noted.

Guest
7th November 2008, 03:42
Those streams are stupid but legal. In a transport packet with payload_unit_start_indicator=1 (so we expect a PES packet to start in this transport packet) they include enough stuffing bytes in the adaptation field such that the PES header itself gets split between transport packets. It's perverse, really. It's like, "here, let's see if this transport parser can tolerate the stupidest legal thing we can think of".

I was able to hack it to work, basically to prove my analysis correct, but it is not an acceptable solution. I'm going to have to redesign the transport parser in all the DG tools to support this. It will take some time.

Your workaround for now is to demux the stream using a demuxer that supports this silliness, such as Elecard XMuxer Pro. Then index the elementary video stream.

lchiu7
7th November 2008, 04:04
Those streams are stupid but legal. In a transport packet with payload_unit_start_indicator=1 (so we expect a PES packet to start in this transport packet) they include enough stuffing bytes in the adaptation field such that the PES header itself gets split between transport packets. It's perverse, really. It's like, "here, let's see if this transport parser can tolerate the stupidest legal thing we can think of".

I was able to hack it to work, basically to prove my analysis correct, but it is not an acceptable solution. I'm going to have to redesign the transport parser in all the DG tools to support this. It will take some time.

Your workaround for now is to demux the stream using a demuxer that supports this silliness, such as Elecard XMuxer Pro. Then index the elementary video stream.

Thanks for looking at it. I guess the strange thing is, this silliness is random. Sometimes I can demux a file completely with no problems, sometimes I encounter this problem. Oh well - will wait till you fix it and/or look at the Elecard XMuxer Pro solution

Guest
7th November 2008, 13:50
I guess the strange thing is, this silliness is random. Sometimes I can demux a file completely with no problems, sometimes I encounter this problem. It just depends on how much stuffing they add.

Guest
7th November 2008, 14:36
Lucky you. I figured out a quick fix that seems to work OK for these streams. I'll release it ASAP.

Guest
7th November 2008, 15:20
* Added support for all POC order count types.

* Made a hack for transport streams which have PES headers split across transport packets.

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

Snowknight26
7th November 2008, 17:03
Topic title still states 1.0.4.

lchiu7
7th November 2008, 18:32
It just depends on how much stuffing they add.

Since the files are not pristine rips from HD-DVD or BR but in fact from UHF transmissions, could this be from dropouts in the transmission stream? Watching these streams I can occasionally see video glitches which must be present in the video stream since I always watch captured streams, not the live ones.

Guest
7th November 2008, 18:55
No, there are no errors at the time the silliness occurs.

lchiu7
8th November 2008, 04:55
No, there are no errors at the time the silliness occurs.
Out of interest when this silliness occurs, does it impact the demuxing of the audio versus handling the video frames. I ask because how hard would it be to have an option that tells the program when such errors occur to continue demuxing the audio while not guaranteeing the quality of the data in the dga file.

Slightly selfish but my main purpose of the program is to demux the audio - I don't normally load the dga file into Virtualdub or avisynth since something like MeGui is okay with handling the file with DirectShow

Thanks

Guest
8th November 2008, 05:12
A split PES header is not an error. It is a legal construct. I wan't handling it properly. It is fixed. Your audio should be fine.

Are you saying that you still have a problem?

lchiu7
8th November 2008, 06:03
A split PES header is not an error. It is a legal construct. I wan't handling it properly. It is fixed. Your audio should be fine.

Are you saying that you still have a problem?

No - timing error in the responses. I hadn't seen you had released 1.06. Downloaded it and it went through the entire video file (the one with the extract I uploaded) with no errors. Winamp was able to play the aac file fine and output the wav file I need.

Thanks a bunch for that - really appreciated.

Guest
8th November 2008, 13:14
Ah, good. Thanks for pointing out the problem and for your other useful contributions.

kebulek
27th November 2008, 20:54
neuron2: I just had a 1-2s glitch in my HD stream and DGAVCIndex 1.0.6 did it unwatchable for 12 seconds (still image with many blocks). :-( Is this DGAVCIndex's fault or just bad stream?

Sample with glitch (10MB):
http://rapidshare.com/files/168005722/hd-sample.ts.html

It's .PVA demuxed by Mencoder, and then muxed to .TS by TSMuxeR.

Note to everyone - please do not download this file before Neuron2, because rapidshare said "Your file has been saved and can now be downloaded only 10 times." :-( Thank you.

:thanks:

new_age
28th November 2008, 07:32
Any idea what can I do to properly decode h264 stream when I get this error message

Sure. Get a recent Nvidia card and use DGAVCDecNV, which plays it flawlessly. Looks like a libavcodec issue.

Oops, I edited your post instead of replying. Sorry.

Comatose
28th November 2008, 09:29
new_age: when posting about a problem like this, you should include a sample...

new_age
28th November 2008, 10:04
You're right. Then I need some help. How can I cut from the h264 file properly?

Comatose
28th November 2008, 10:23
I guess if DGAVCIndex doesn't work, then you can mux to ts and use h264ts_cutter or mux to mp4 and use Avidemux.

new_age
28th November 2008, 10:53
I've put the sample here:

http://rapidshare.com/files/168170121/00002_err.zip.html

Please do not download except Neuron2 because it can be download only 10 times.

bob0r
28th November 2008, 11:15
I've put the sample here:

http://rapidshare.com/files/168170121/00002_err.zip.html

Please do not download except Neuron2 because it can be download only 10 times.

unzipped:
http://files.x264.nl/00002_err.264

Atak_Snajpera
28th November 2008, 11:29
Please do not download except Neuron2 because it can be download only 10 times.
So why do you use rapidshare??????? I can't understand why people are so addicted to rapidshare?????

new_age
28th November 2008, 11:54
off/flame:

Because I don't know any other filesharing site!!!!!!! Do you understand that?????

kebulek
28th November 2008, 12:18
neuron2: I just had a 1-2s glitch in my HD stream and DGAVCIndex 1.0.6 did it unwatchable for 12 seconds (still image with many blocks). :-( Is this DGAVCIndex's fault or just bad stream?

Sample with glitch (10MB):
http://rapidshare.com/files/168005722/hd-sample.ts.html

It's .PVA demuxed by Mencoder, and then muxed to .TS by TSMuxeR.

Note to everyone - please do not download this file before Neuron2, because rapidshare said "Your file has been saved and can now be downloaded only 10 times." :-( Thank you.

:thanks:

OK here is the same sample:
http://uloz.to/996704/hd-sample.ts

It's Czech filesharing server, so copy those four red digits a click on the green button "--> Stáhnout soubor <--". :)

I hope it will work... And if there is a better filesharing, let me know - thanks.

Atak_Snajpera
28th November 2008, 12:18
Because I don't know any other filesharing site!!!!!!! Do you understand that?????
have you ever heard about Google? (rhetoric question)

END OFFTOPPIC !!!

new_age
28th November 2008, 12:29
END OFFTOPPIC !!!

"""" :thanks: """"

Guest
28th November 2008, 22:20
neuron2: I just had a 1-2s glitch in my HD stream and DGAVCIndex 1.0.6 did it unwatchable for 12 seconds (still image with many blocks). :-( Is this DGAVCIndex's fault or just bad stream? If your GOPs are long then a large section of video can be destroyed by a short glitch.

Guest
28th November 2008, 22:27
@new_age

See here:

http://forum.doom9.org/showthread.php?p=1217903#post1217903

new_age
29th November 2008, 10:05
@new_age

See here:

http://forum.doom9.org/showthread.php?p=1217903#post1217903

Thanks for the info. Will be hard: using laptop. :-)

Anyway I've temporaly solved by using CoreAVC and DirectShowSource but it is slower than AVCSource.

canTsTop
1st December 2008, 21:10
i have "bad" sample http://www.mediafire.com/?y4tej0guuns

it indexes ok, but then i load avs in virtualdub, virtualdub stops responding and after 20-25 seconds virtualdub shows green frame, then i go forward frame by frame, i see correct picture at frame 7. and from frame 7 i step backwards and some frames that were previously green, now they correct.

sorry for bad english

EDIT:
ffdshow don't understand this sample too... :(

Guest
1st December 2008, 23:36
i have "bad" sample Yes, you do. The transport stream is corrupted. I can't help you with that.

komisar
2nd December 2008, 09:41
neuron2
Can you compile DGAVCDec with this patch (http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2008-November/056659.html) to support H.264 predictive lossless?

canTsTop
2nd December 2008, 11:40
Yes, you do. The transport stream is corrupted. I can't help you with that.

sorry about that, i don't know what happened to that sample...

here is same 10mb from same recording, but this time its not corrupted (checked with TS Packet Editor) http://www.mediafire.com/?5tyzt3ljthn

Guest
2nd December 2008, 14:28
Can you compile DGAVCDec with this patch (http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2008-November/056659.html) to support H.264 predictive lossless? If it won't apply to the older version of libavcodec I use, then I can't absorb it. I'm not able to update libavcodec, due to several critical regressions for frame accurate seeking that the developers consider low priority (which in practice means do it yourself or forget it). Unfortunately I have too much of my own work to get involved in libavcodec development.

Guest
2nd December 2008, 14:36
here is same 10mb from same recording, but this time its not corrupted (checked with TS Packet Editor) http://www.mediafire.com/?5tyzt3ljthn The stream contains no IDRs. You'll have to enable Treat I as IDR and accept that the first few frames will be trash.

Is that from the Hauppauge HD-PVR? If so, you can use the Graphedit hack to enable IDRs.

canTsTop
2nd December 2008, 15:18
its recorded from DVB-T with DVBViewer. i enabled Treat I as IDR options, but still it takes long time to open, for sample (10mb) ~23 seconds, and whole recordind (700mb) virtualdub stops responding but uses ~90% CPU and i waiting like 10 minutes now

Guest
2nd December 2008, 15:23
OK, I'm looking again to see why the open is taking so long.

Guest
2nd December 2008, 16:21
I've found and fixed the problem. Actually, your stream has RPS's so it should be fine. There was a bug in my handling of open GOPs.

Preparing a new release...

Guest
2nd December 2008, 16:44
* Fixed a bug in handling of open GOPs that caused problems when the first GOP of the stream is open.

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

canTsTop
2nd December 2008, 16:50
Thank You for quick fix, now it works ok

komisar
2nd December 2008, 17:44
neuron2
Why? You surces not free? May be I compile with "this support" and test....

Guest
2nd December 2008, 18:36
Why? Why what?

Your sources not free? Correct. It's not open source. But see below.

May be I compile with "this support" and test.... I use libavcodec as a DLL. The change you seek would be made there. Refer to the file libavcodec.txt in my distribution for details. I advise you not to bother trying to upgrade to the latest ffmpeg code as it is broken for random access. You can certainly try to patch the version I am using, but I don't know if the patches will cleanly apply to that older version.

canTsTop
2nd December 2008, 20:10
here is another sample http://www.mediafire.com/?moznmzzzymz , its recorded with VLC in linux

problem is wrong audio delay detection, DGAVCIndex detects DELAY 11ms in this sample, but its more than 1 second incorrect

Guest
2nd December 2008, 21:14
Investigating...

Thanks. I've needed such a clear demonstration for some time. It plays in sync in VLC.

komisar
3rd December 2008, 14:34
neuron2, sorry for my misunderstand (more beer not good, sorry). Where can I get you use version of libavcodec?

Guest
3rd December 2008, 14:48
neuron2, sorry for my misunderstand (more beer not good, sorry). Where can I get you use version of libavcodec? ffdshow-tryout 1837

laserfan
3rd December 2008, 15:03
neuron2, sorry for my misunderstand (more beer not good, sorry). Where can I get you use version of libavcodec?Hmmm, it's right in the DGAVCDec package--and you have read the included docs, yes?

Guest
3rd December 2008, 15:43
The docs don't (currently) specify the source code version I used, so his was a quite reasonable question, given that he is trying to rebuild the DLL I ship.

laserfan
3rd December 2008, 22:43
The docs don't (currently) specify the source code version I used, so his was a quite reasonable question, given that he is trying to rebuild the DLL I ship.Ah, sorry komisar I misunderstood your intentions. :o

komisar
4th December 2008, 15:15
neuron2, ok. I grab all for my need but:I have made a small modification to return a different version string to
manage compatibility issues. This modification is available on request. :) Can I "request" this modification?

Guest
4th December 2008, 15:56
neuron2, ok. I grab all for my need but:I have made a small modification to return a different version string to
manage compatibility issues. This modification is available on request. :) Can I "request" this modification? Here is my modified src/ffmpeg directory:

http://neuron2.net/misc/ffmpeg1837dg.zip

Please coordinate any release of a new libavcodec.dll with me please, as it is quite easy to break DGAVCDec functionality if you upgrade to more recent ffmpeg code.

komisar
4th December 2008, 16:05
neuron2, THNX.
Ok. No problem. If I successfully build what i need -- i am post patch here.

komisar
4th December 2008, 20:33
neuron2, latest version of ffdshow-tryout not work correctly. Version of 1837 with h264_predictive_lossless2.diff non-lossless open correctly, lossless -- open with message
http://komisar.gin.by/test/cr1.png
show first frame correctly, but crash with save .dga or play [F5]
tested with dgavcdec107.zip

P.S. latest ffdshow-tryout and dgavcdec100a35.zip work (without h264_predictive_lossless2.diff).

Atak_Snajpera
4th December 2008, 21:23
@neuron
Could you check this sample http://www.mediafire.com/?ymugtm4zhnj

DGAVCindex reports insane audio delay (CANALplus.FILM.HD.Nordic.Thor.0.8W.10jul.2007 PID 281 3_2ch 384Kbps DELAY -45759574ms.ac3).
eac3to reports -241ms

Guest
5th December 2008, 02:48
DGAVCindex reports insane audio delay I've been working on audio delay for the last two days and found quite a few bugs. It's now working well in my private build, which fixes your stream.

The canTsTop stream is a different matter. It has the AVC equivalent of the problem we sometimes saw with DGIndex where you have to start your project in by a GOP. It's a pathologic stream and I wrote a timestamps analysis tool to prove it. For that stream, starting in by a GOP together with the fixes I mentioned produces a good result. I'll explain it all in detail when I make the release. I just have to do some regression testing.

BTW, I am removing the Treat I as IDR option. There's no reason not to have it on always. Speak up now if you disagree.

Sagekilla
5th December 2008, 02:50
is h264_predictive_lossless2.diff the one that changes the lossless mode from intra --> inter frame based?

If it is, that's why ffdshow-tryouts won't open it. No decoder except CoreAVC (I think) supports predictive lossless.

Guest
5th December 2008, 02:52
neuron2, latest version of ffdshow-tryout not work correctly. Version of 1837 with h264_predictive_lossless2.diff non-lossless open correctly, lossless -- open with message
http://komisar.gin.by/test/cr1.png
show first frame correctly, but crash with save .dga or play [F5]
tested with dgavcdec107.zip If you give me the changes I can try to debug it for you.

P.S. latest ffdshow-tryout and dgavcdec100a35.zip work (without h264_predictive_lossless2.diff). It may appear to work for simple streams but random access is broken with many of my test streams. Anyway, why use such an old version of DGAVCDec?

komisar
5th December 2008, 07:37
neuron2
If you give me the changes I can try to debug it for you.
http://komisar.gin.by/test/ffdshow-tryout_1837.7z (Clear 1837 version)
http://komisar.gin.by/test/dg_ffdshow-tryout_1837.diff (You modification for 1837 version)
http://komisar.gin.by/test/libavcodec.dll (compiled version with predictive_lossless2 patch)
http://komisar.gin.by/test/ff_lossless_old_ffmpeg.diff (lossless patch for old version of ffmpeg)
http://komisar.gin.by/x.patch/last.used/ff_h264_predictive_lossless2.diff (lossless patch for actual version of ffmpeg)
Anyway, why use such an old version of DGAVCDec?I am forgot to update the version...

Guest
5th December 2008, 13:52
As the changes were extensive, I'd like to get some testing on this before a release.

http://neuron2.net/misc/dgavcindex108test.zip

@Atak_Snajpera

It fixes your bug.

@canTsTop

Your stream has an issue at the beginning. After loading your file, hit the > button and then the [ button to start the project in by one GOP. Then Save project.

Test results will be appreciated. Thank you.

Guest
5th December 2008, 13:54
...stuff... Thank you. Can you also provide me a lossless sample stream?

komisar
5th December 2008, 14:03
Thank you. Can you also provide me a lossless sample stream?
http://komisar.gin.by/test/test_ll.264 (lossless)
http://komisar.gin.by/test/test_safe.264 (safe, crf=26)

Guest
5th December 2008, 14:05
You be da man. Thank you.

canTsTop
5th December 2008, 16:55
Your stream has an issue at the beginning. After loading your file, hit the > button and then the [ button to start the project in by one GOP. Then Save project.

This way i get correct a/v synchronization

And with this new version i can see difference in other video, now i get perfect synchronization. i made samples if anyone interest, difference is small but exist:
with old DGAVCIndex: http://www.mediafire.com/file/ulgogijzmnu/old.avi
with new DGAVCIndex: http://www.mediafire.com/file/2j231mdmtz1/new.avi

Thank You neuron2 very much

p.s. with this new version dgavcindex108test, i get this warning then i save project, is it normal?
http://www.ipix.lt/images/80266304.png
with dgavcdec107 there is no such warning

Guest
5th December 2008, 17:17
For the error popup, can you give me a stream? Thank you.

canTsTop
5th December 2008, 17:22
here it is http://www.mediafire.com/?0yndynjgfnm

Guest
5th December 2008, 17:24
Can't look at it until tonight as my firewall blocks media sites. Can you put it on an FTP?

Guest
5th December 2008, 18:35
@canTsTop

OK, got it from the link you PM'ed me.

Found and fixed the problem. Will be in the release. Thank you for your test results.

Guest
6th December 2008, 00:47
Found and fixed the problem. I've updated the ZIP file with the fixed test version:

http://neuron2.net/misc/dgavcindex108test.zip

opieant
8th December 2008, 22:46
don: Do you still plan to release the source code for DGAVCIndex in the future? I seem to remember you saying it would be released when more stable versions were out, but that was back in the "alpha" days.

Just curious about this since it would be interesting to modify DGAVCIndex to output details similar to those in D2V files such as field-related flags. That would make it possible detect pulldown patterns and pattern transitions, and ultimately convert 1080i to 1080p for a lot of source material, using an external application to analyze the picture/field info. This method works very well for MPEG-2 and would probably work nicely for H.264 video as well. :)

Guest
8th December 2008, 22:56
That information is in the DGA file already. I've no plans at this time to release the source code.

opieant
9th December 2008, 05:14
Blind I am. Thanks for the help. :)

Looks like I'm dealing with highly inefficient encodings since the data in the DGA file indicates each and every field is coded separately (PIC 1 and PIC 2 only), even if the source material (MPEG-2) made use of the RFF flag. D'oh!

Chumbo
27th December 2008, 15:57
@neuron2,
I ran into some errors with a tile. I've put the clip here for you if you have time to look at it please.
http://rapidshare.com/files/177250361/clip.h264.html (IF YOU'RE NOT NEURON2, PLEASE DON'T DOWNLOAD THIS AS THERE IS A 10-DOWNLOAD LIMIT).

Plays clean in MPC HC and via directshow, but causes errors to pop up and then garbage in the image. I'm using 1.0.7.

Guest
27th December 2008, 16:11
It plays clean in DGAVCDecNV, so I conclude that it's a problem in the version of libavcodec that is used in DGAVCDec. The same problems appear in VLC.

Chumbo
27th December 2008, 16:59
It plays clean in DGAVCDecNV, so I conclude that it's a problem in the version of libavcodec that is used in DGAVCDec. The same problems appear in VLC.
Aha. Thanks for checking it out so quick. :) I have an ATI card in my system so I assume I can't use the nVidia version right?

Guest
27th December 2008, 23:17
That's right, it runs only on the Nvidia cards.

G_M_C
28th December 2008, 10:29
Neuron2:
ffdshow_tryouts project just released a new beta (23 dec 2008). Would an update of DGAVCIndex using libavcodec from that new beta6 be worthwhile ?

Guest
28th December 2008, 15:39
Not until the regressions for random access are fixed.

Guest
28th December 2008, 15:58
I've made some changes to improve audio delay detection and to properly detect and demux the new audio on BD, i.e., DTS Master Audio, TrueHD, EAC3. I would appreciate testing of this DGAVCIndex build:

http://neuron2.net/misc/dgavcindex108test.zip

Note that I ignore DTS Express audio because I cannot find anything that will play it, and it is never used for the main audio tracks.

I will port this to the NV tools when it is stabilized.

nautilus7
28th December 2008, 16:14
DTS express can be decoded by nero dts decoder. eac3to uses it to decode such tracks.

canTsTop
28th December 2008, 23:10
tested few recordings with new test version, audio/video synchronization is correct

Guest
1st January 2009, 15:14
* Added support for the new audio types found on BluRay disks.

* Improved the audio delay calculation.

* Removed the Treat I as IDR option as it is now always enabled.

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

Chumbo
1st January 2009, 17:28
* Added support for the new audio types found on BluRay disks.

* Improved the audio delay calculation.

* Removed the Treat I as IDR option as it is now always enabled.

http://neuron2.net/dgavcdec/dgavcdec108.zip
Thank you and Happy New Year!!! :)

Chefkoch_ico
3rd January 2009, 01:12
Hi!

I have a problem concerning my Canon HF100 AVCHD camcorder.

I can set it to 24p recording, but too bad, it puts the 24p stream somehow into a 29,97 fps stream. There is no good way to retrieve the original frames, at least no that I know of.

Here are some details on this:
http://forum.corecodec.com/viewtopic.php?f=3&t=1163&p=6947#p6793
http://forum.corecodec.com/viewtopic.php?t=817.0#p5007

Is there a way to sole this problem with DGAVCDec(NV) and AVISynth?

Best regards

Atak_Snajpera
3rd January 2009, 13:33
can you upload sample to www.mediafire.com

Chefkoch_ico
3rd January 2009, 14:12
can you upload sample to www.mediafire.com

Done
http://www.mediafire.com/file/tnzgyhy0zoj/20080817152150.m2ts

Thx

Guest
3rd January 2009, 14:25
It's just hard 3:2 pulldown. You can use this script:

AVCSource("20080817152150.dga")
assumetff()
telecide()
decimate()

Further discussion about undoing pulldown should be taken to the Avisynth forum.

Turtleggjp
6th January 2009, 04:19
Watch out using clips from that camera in DGAVCDecode. I know from personal experience that you're likely to run into some known artifact issues with the PAFF streams produced by it. The NV version does not have this problem, but requires a donation and an Nvidia card to use.

Chefkoch_ico
6th January 2009, 09:20
Watch out using clips from that camera in DGAVCDecode. I know from personal experience that you're likely to run into some known artifact issues with the PAFF streams produced by it. The NV version does not have this problem, but requires a donation and an Nvidia card to use.

Thx for pointing this out. Donated already since I also need it for BluRay.

laserfan
6th January 2009, 21:09
...plays clean in DGAVCDecNV, so I conclude that it's a problem in the version of libavcodec that is used in DGAVCDec.I don't understand all the issue(s) with libavcodec, but it seems from a casual look at the ffdshow changelogs that a lot of changes have been made since the date of the file you made for DGAVCDec. Might it be possible there's a better/newer version to use with DGAVCDec?

Feel free to shoot me if I'm completely off-base somehow. :scared:

Guest
6th January 2009, 21:56
BANG! I've answered that several times.

There are regressions in functionality needed for random access that the developers appear to be uninterested in fixing, or which they consider to be too low in priority to ever get worked on.

I'll look again this evening at the status of the critical bug reports.

laserfan
6th January 2009, 22:10
BANG! I've answered that several times... I'll look again this evening at the status of the critical bug reports.OWWWW! Yeah, I know--I read your many posts about this but I'm not smart enough to correlate ffdshow's change log entries to your issue (and didn't know how to seek the bug reports). Anyway thanks for looking again.

If no progress can be made I will try to be patient til my Nvidia system is done, after which you will be hearing from my banker, er, I mean PayPal, for the NV versions of your tools. :)

Guest
6th January 2009, 22:59
The ffmpeg issue tracker appears to be down. Does anyone know anything about that?

canTsTop
6th January 2009, 23:06
its down for me to, maybe svn log can be useful http://svn.ffmpeg.org/ffmpeg/trunk/libavcodec/?view=log

Guest
6th January 2009, 23:47
Nah, I need the tracker to see if the known bugs have been addressed. Can't remember the bug numbers.

EDIT: I just built and tested ffmpeg16456. The bugs are still present. :(

laserfan
7th January 2009, 01:25
I just built and tested ffmpeg16456. The bugs are still present.Thanks very much for your time. :o

komisar
7th January 2009, 03:12
neuron2, can you describe ffmpeg-bug more detail?

Maybe we can solve this problem through joint efforts? ("we" -- Those who are interested in using dgavcdec; "solve" -- do make correct patch)

P.S. Oh, sorry for my bad English. I check translate.google.com

Guest
7th January 2009, 03:23
When the issue tracker comes back up we can discuss it.

Maybe we are solve this problem?

Can you translate this into understandable English, please? Who is "we"? What does "are solve" mean?

Atak_Snajpera
7th January 2009, 22:05
Maybe we are solve this problem?
Can you translate this into understandable English, please? Who is "we"? What does "are solve" mean?

He made a mistake so what? I understand what he meant! Is that difficult to replace 'are' with 'can'???

MatMaul
8th January 2009, 13:47
roundup is back :)

Guest
8th January 2009, 15:12
roundup is back :) Thank you for notifying us.

The killer for me is Issue 475.

https://roundup.mplayerhq.hu/roundup/ffmpeg/issue475

I have several files that do this. As upgrading is a big effort, I prefer to wait until this major issue in PAFF support is fixed. Note that after more than 6 months it is still unassigned.

MatMaul
8th January 2009, 15:20
you mention regressions for random access, is it only for this kind of files (AVCHD) or is it an other issue ?

Guest
8th January 2009, 15:43
Remaining PAFF bugs are the main issue. I don't know if it is just AVCHD.

The decoder is now returning orphaned B frames at the start, which it doesn't do in the older version I use. That's not strictly a regression and I can re-architect around that, as that is the way that the CUDA version works.

canTsTop
8th January 2009, 16:56
i am not expert :confused:, but if i understand correctly Issue 475 (https://roundup.mplayerhq.hu/roundup/ffmpeg/issue475) have problems with ffmpeg but not libavcodec. i had same problem with ffmpeg, Issue 721 (https://roundup.mplayerhq.hu/roundup/ffmpeg/issue721), but if play that sample in mpc+ffdshow there is no problems.

is there are any samples that current version of ffdshow cant decode correctly?

Guest
8th January 2009, 17:04
That's very interesting!

I'll see if they play correctly using ffdshow. Is it ffdshow-tryout? Please tell me the exact version you are using.

If things are OK, I will upgrade from that code base.

canTsTop
8th January 2009, 17:13
yes its ffdshow-tryout, i allways use latest version from here http://sourceforge.net/project/showfiles.php?group_id=173941&package_id=199416&release_id=439904

now i heve ffdshow_rev2588 and have no problems with my dvb-t recordings

laserfan
8th January 2009, 22:25
I didn't know there was a difference in libavcodec versions between ffdshow-tryout and ffmpeg. FWIW it was ffdshow-tryouts that has changed so much lately that I was inspired to ask in the first place...

sneaker_ger
10th January 2009, 17:38
I wanted to use the cli of DGAVCIndex with a batch file (under Windows XP) using the "for" command, but instead of doing it one by one all instances of DGAVCIndex run at the same time. Any way to change that behavior?

rebkell
10th January 2009, 18:21
I wanted to use the cli of DGAVCIndex with a batch file (under Windows XP) using the "for" command, but instead of doing it one by one all instances of DGAVCIndex run at the same time. Any way to change that behavior?

try putting start "" /WAIT in front the DGAVCDec command line, do a help start from the cmd window and check out all the options there.

sneaker_ger
10th January 2009, 18:58
try putting start "" /WAIT in front the DGAVCDec command line, do a help start from the cmd window and check out all the options there.

thx, worked just fine.

laserfan
10th January 2009, 19:05
I've been experiencing seemingly random frame corruptions in some of my 2-pass x264 encodings, which might occur only a couple of times in a 200,000 frame movie. In the most recent, I found just one instance of bad frames (7 of them) which occur after what appears to be an incorrect I-frame placement, i.e. the nearest I-frame was the frame immediately PRIOR to the scene change, and the first-thru-seventh frames into the new scene are (decreasingly) corrupt. I've uploaded 9 frames here (I-frame, seven bad, last good) (http://www.mediafire.com/file/nnzdz2lmmnk/IBBPBBBPB.7z). To my eye it looks like the 2nd frame includes elements of the first frame (the grey locker door in the background).

Here's what I'd done:

1. Use DGAVCindex to make a .dga file from the original h264 video
2. Make an .avs w/DGDecode & AVCSource as input to x264
3. Make a two-pass x264 encoding, which yielded corruption at frames 155597-155603

Excerpt of the stats file from Pass 1:

in:155594 out:155595 type:b q:26.00 tex:65746 mv:15608 misc:5878 imb:693 pmb:1743 smb:5724 d:s;
in:155596 out:155596 type:I q:22.04 tex:1547034 mv:348958 misc:544 imb:8160 pmb:0 smb:0 d:s;
in:155599 out:155597 type:P q:27.80 tex:31803 mv:9705 misc:5412 imb:138 pmb:1668 smb:6354 d:s;
in:155597 out:155598 type:b q:30.00 tex:2809 mv:4908 misc:3091 imb:21 pmb:627 smb:7512 d:s;
in:155598 out:155599 type:b q:30.00 tex:3431 mv:5321 misc:2952 imb:36 pmb:645 smb:7479 d:s;
in:155603 out:155600 type:P q:26.98 tex:54207 mv:14962 misc:6935 imb:132 pmb:2988 smb:5040 d:s;
in:155600 out:155601 type:b q:30.00 tex:4579 mv:5640 misc:3229 imb:7 pmb:675 smb:7478 d:t;
in:155601 out:155602 type:b q:30.00 tex:4210 mv:5549 misc:2937 imb:7 pmb:601 smb:7552 d:s;
in:155602 out:155603 type:b q:29.99 tex:4443 mv:8272 misc:4461 imb:4 pmb:1106 smb:7050 d:s;
in:155607 out:155604 type:P q:26.02 tex:96382 mv:19707 misc:7047 imb:139 pmb:4204 smb:3817 d:s;

Note that 155596 is the *wrong frame* for the I-frame--should have been at the new scene frame 155597.

I've next made another Pass 1 at the movie, this time using not DGAVCindex, but rather
DirectShowSource("d:\videoAS.grf", audio=false) where videoAS.grf uses

video.264 --> Arcsoft MPEG Demux --> CoreAVC Video Decoder

This method yields a stats file that places the I-frame correctly it appears:

in:155596 out:155595 type:P q:25.02 tex:145561 mv:27198 misc:6969 imb:1606 pmb:2668 smb:3886 d:s;595
in:155595 out:155596 type:b q:27.00 tex:41510 mv:10972 misc:5238 imb:576 pmb:1170 smb:6414 d:s;
in:155597 out:155597 type:I q:23.04 tex:1368657 mv:337886 misc:537 imb:8160 pmb:0 smb:0 d:s;
in:155600 out:155598 type:P q:28.12 tex:31178 mv:9646 misc:5368 imb:138 pmb:1694 smb:6328 d:s;
in:155598 out:155599 type:b q:30.00 tex:2969 mv:5328 misc:3199 imb:12 pmb:675 smb:7473 d:s;
in:155599 out:155600 type:b q:30.00 tex:3752 mv:5476 misc:3060 imb:37 pmb:662 smb:7461 d:s;
in:155604 out:155601 type:P q:27.96 tex:33202 mv:11504 misc:6294 imb:86 pmb:2104 smb:5970 d:s;
in:155601 out:155602 type:b q:30.01 tex:4305 mv:5489 misc:3294 imb:7 pmb:674 smb:7479 d:t;
in:155602 out:155603 type:b q:30.00 tex:4928 mv:6322 misc:3462 imb:8 pmb:719 smb:7433 d:s;
in:155603 out:155604 type:b q:30.00 tex:4817 mv:9065 misc:4726 imb:4 pmb:1216 smb:6940 d:s;


I know this "calls for speculation--facts not in evidence" but does this seem like something that the libavcodec issues mentioned before might cause (selection of the previous/wrong frame as I-frame)? BTW I noticed a couple of other I-frames that occurred "1 frame too early" when looking at all the chapter points, but this one above is the only place where corruption occurred.

I will soon be migrating to neuron2's NV tools instead, but it might still be a week or more and I hate unsolved mysteries! :scared:

Guest
10th January 2009, 19:11
Remove the encoding from the picture. Can you see any issues just viewing the script in VirtualDub? I really have no control over what x264 is doing.

Is it PAFF? Can you post a link to the source video of the affected section?

laserfan
10th January 2009, 22:57
It's a Blu-ray disc of a feature film ("The Guardian") so no interlacing at all AFAIK. And viewing the original frame-by-frame reveals nothing; it appears perfect.

I don't know how x264 works, so I was guessing at a decoding issue in the 1st pass (whereby x264.stats assertion sometimes places an I-frame wrongly) and then again in the 2nd pass i.e. that x264 just encodes the glitches it sees. But your post caused me to do the obvious (slaps head) which is to make a snippet of the problem area and process it again. Naturally :rolleyes: the snippet alone re-encodes perfectly across this scene break (using of course .dga as input), so a sample doesn't expose the issue. :( I've not done a lot of these, but seems to me that when I've seen this problem before, as this time, that it tends to occur well-into a 2 hour movie (and yes I've done extensive memtest & prime95 on this machine to no errors)...

The last parts for my new Nvidia PC arrived after I posted so I'm going to focus instead on getting that built, so I can try your NV tools. Thanks for reading & replying--your expertise & active presence at doom9 is most appreciated!

Underground78
22nd January 2009, 21:10
Hello,

Reading DGAVCDec user manual, it seems that the only way to demux an audio track using the CLI is to demux all audio streams with the -a flag. But I have seen in the GUI that a selection of audio tracks to be demuxed is possible so to you have any plan to port this feature to the CLI ?

Anyway thank you very much for your work on DGAVCDec !

Guest
23rd January 2009, 00:35
Didn't plan to. How would you know what audio ID to specify?

Chumbo
23rd January 2009, 03:30
Didn't plan to. How would you know what audio ID to specify?
Doesn't the UI identify the ID? No pun intended. ;) If I had to do a bunch, I wouldn't mind identifying, manually, the IDs through the UI and then putting them in my batch file.

kemuri-_9
23rd January 2009, 05:15
Another possible venue would be to add an option to have it display all the available IDs so you wouldn't have to open the GUI at all.

Underground78
23rd January 2009, 07:22
I think that the informations given by MediaInfo could be used too.

Audio
ID : 130 (0x82) <--
ID de menu : 1281 (0x501)
Format : AC-3
[...]
Langue : Français

hellfred
1st February 2009, 12:40
Nah, I need the tracker to see if the known bugs have been addressed. Can't remember the bug numbers.

EDIT: I just built and tested ffmpeg16456. The bugs are still present. :(
Hi neuron2

A motivated new developer named Ivan Schreter showed up on the ffmpeg mailing list, who is working hard on the H264 parser / time stamp issues. See e. g. this mail (http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2009-January/060134.html) and this follow up (http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2009-February/060832.html). You will find more when searching the ffmpeg-devel mail archives of January and February for Ivan Schreter.
Did you observe that development? Will his work help you to fix the random access problems? This guy seems to be motivated, maybe you should contact him to get your problems addressed, too.

Lately there was a long discussion about libavformat usability on the mailing list, too. So now you have a good chance to get your issues addressed.

Thank you for your hard work on DGAVGDec and the other tools and filters that you have provided for us.

Hellfred

Update:
I have missed this message (http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2009-January/060796.html). So Ivan will not have that much time in the near future.

AntiJw
2nd February 2009, 11:21
Hey, neuron2. I wonder, is it okey to join-demux a m2ts (AVC) file, in eac3to:
eac3to 00118.m2ts+00119.m2ts 2: mainvideo.source.1080p.264

and use it in DGAVCDec (to encode in x264), or do I lose something by demuxing to *.264, not *.m2ts?

EDIT: Thanks for the answer, although I used DSS. "Herr"=Mister (translated). The other is something I don't like. "neuron2" doesn't mean someone with only 2 neurons?! ;)
Curiosity killed the cat :) Thinking of your avatar.

Guest
2nd February 2009, 14:43
You don't lose anything, it's OK.

I'm curious about the significance of:

"AntiJw
Herr"

Can you explain it to me?

tebasuna51
4th February 2009, 02:43
Sorry if is a old question.

But, if we can't use a list of m2ts files (like vob's with DGIndex), if the decoder is libavcodec.dll like in ffdshow (installed), what is the difference between use

AVCSource("D:\Video\00001.dga")

supposed 00001.dga the DGAVCIndex output from D:\Video\00001.m2ts and

DirectShowSource("D:\Video\00001.m2ts", audio=false) ?

Guest
4th February 2009, 03:53
Frame accurate seeking.

tebasuna51
4th February 2009, 13:57
Thanks neuron2.
Then for a complete linear transcoding is the same but with Trim's in the avs we can see differences?

Guest
4th February 2009, 15:07
Not just trim's; any Avisynth processing that requires seeking can be wrong with DirectShowSource(). E.g., consider SelectEvery().

djloewen
4th February 2009, 15:14
Sorry, I realize this is OT, but I've been wondering about this for awhile too: is frame-accurate seeking needed for FieldDienterlace, IVTC(decomb), or bobbing?

Guest
4th February 2009, 15:16
FD - no. IVTC and smart bobbing - probably not, due to the Avisynth frame cache. I say probably because I'd have to know what the specific ones are doing, do they look ahead more than a frame or look behind outside the cache.

laserfan
4th February 2009, 17:08
...I've been wondering about this for awhile too: is frame-accurate seeking needed...?
I like to make movie-only backups of discs that have an especially annoying amount of junk to wade-thru on insertion, but at the same time keep all the chapter marks from the original, for jumping to favorite scenes. Before using DG's tools, making these marks was a hit-or-miss affair (actually "mostly miss") as the timecodes-after-encoding were usually different. Since building my new Quadcore/Nvidia system I use these tools exclusively, and my re-encodings do always now seem to have the exact same timecodes as the originals, and my chapter marks are perfect.

In addition, I used to have odd & random visual glitches in my encodings (a couple per movie) which appeared to have something to do with faulty decoding. No more problems.

Since these tools/methods are mostly Magic to me, I can't be certain that DGxxxDec is the sole reason why everything works perfectly now, but I don't argue with success! Where's the :bow-down: smilie here! Thanks neuron2! :)

saint-francis
9th February 2009, 23:47
Can we expect to see mkv support in DGAVCDec?

Guest
10th February 2009, 00:02
I don't plan to do anything more for the libavcodec version.

If I am successful in using CoreAVC, then I will add the MKV support to that version.

~bT~
10th February 2009, 01:11
I don't plan to do anything more for the libavcodec version.

If I am successful in using CoreAVC, then I will add the MKV support to that version.

what about using DivX 7? its free :) does a good job with mkv's.

Guest
10th February 2009, 02:36
Need an API.

rebkell
10th February 2009, 02:42
I don't plan to do anything more for the libavcodec version.

If I am successful in using CoreAVC, then I will add the MKV support to that version.

If you develop something with CoreAVC, would you pretty please post a note in this thread about it, I sub to this and a couple of other threads and might not even know about it for weeks :thanks:

len0x
15th February 2009, 14:59
Any chance CLI options of this tool can resemble main DGMpgDec for audio? (i.e. ability to specify Audio PIDs to demux) cheers.

magic144
17th February 2009, 06:13
Hi Donald,

I seem to have found an .m2ts file on a BD disc which is causing some grief with DGAVCIndex 1.08

The file itself is seen to playback perfectly well with ffdshow in DirectShow via ZoomPlayer (ffdshow tryouts rev 2527 Dec 17 2008). If I use eac3to to extract the video stream to an .h264 file, this is seen to hiccup at the same place in VLC (0.8.6i Janus). Again, the same eac3to extracted clip can be played flawlessly in DirectShow (in an .mkv container) using the ffdshow tryouts decoder.

In any case, when stepping through the .m2ts original in DGAVCIndex 1.08, I get the message "top block unavailable for requested intra mode at 101841180 1875508556" at the beginning of the point of visual corruption. (and later, "top block unavailable for requested intra4x4 mode 101841180 at 1875508556 1910128"

Any ideas what could be causing this, and is there some way I can give you a sample of said video stream for your expert analysis? (I don't know how to go about this, and the original .m2ts is impractically large!!)

Thanks for this great tool - I rely on it implicitly for my BD backups and have never seen this behaviour before,

m

hmm, looking through the past few weeks forum activity, am I right in assuming there are some outstanding issues with libavcodec, which may therefore affect DGAVCIndex? That's not good (I don't have an NVidia GPU either!!)... Are you developing a version that works with CoreAVC (or even ATI)?

as a *very* reluctant alternative in the absence of a fix, will DirectShowSource work just as well (would this be 'frame accurate') if all I want to do is frame-serve to x264 via a very-plain .avs script with just this kind of format:-

DirectShowSource("AVCSsourceInContainer.mkv.GRF",audio=false)
AssumeFPS(24000,1001) # possibly unnecessary
crop( 0, 0, 0, 0)
LanczosResize(1280,720) # Lanczos (Sharp)

Guest
17th February 2009, 14:43
You can cut a segment with DGSplit and upload that to a hosting site.

But why do you talk about an M2TS and then give me a script with:

AVCSourceInContainer.mkv.GRF

???

lexor
17th February 2009, 15:26
You can cut a segment with DGSplit and upload that to a hosting site.

But why do you talk about an M2TS and then give me a script with:

AVCSourceInContainer.mkv.GRF

???
He mentioned eac3to, mkv is what it like to put video in. The script is part of his post edit and it contains attempt at a workaround. I don't think the two parts of his post are directly related.

magic144
18th February 2009, 03:18
ok, I didn't realize you could cut clips for upload at arbitrary byte locations, but fair enough!

here is a cut-down version of the problematic source .m2ts clip
http://www.mediafire.com/?dcbn0n2dzjz
the glitch(es) using DGAVCIndex 1.0.8 is/are seen to occur right about the middle of the clip

as to my script, yes lexor has it right - that would be a script I would propose to try IF DGAVCIndex was shown not able to handle this clip properly (for whatever reason, e.g. libavcodec)

I demux all my discs with eac3to, so typically I would have a single .h264 file for the complete title which I would preprocess via DGAVCIndex, then frameserve into x264 via an .avs script, using the MeGUI front-end.

a typical script would look like this:-
LoadPlugin("DGAVCDecode.dll")
AVCSource("00011.dga")
crop( 0, 140, 0, -140)
LanczosResize(1280,528) # Lanczos (Sharp)

so I was wondering what difference, if any, I could expect if I demuxed the title as an .mkv using eac3to and fed that into x264 (via a DShow .grf so I knew and could control the filter chain) via the other script I suggested above - I know DGAVCDecode would supposedly make a difference if I was doing something in the script that involved seeking, but I in a straightforward linear encode, would I expect any difference?
(specifically note, I'm falling back on .mkv here because I don't know how to incorporate a raw/elementary .h264 stream file into a DShow graph)

thanks again for having a look

m

ps - any particular reason why DGAVCIndex couldn't/shouldn't be re-built with the most recent stable source-code-base for the libavcodec version that ships with ffdshow tryouts (Beta 6) rev 2527 Dec 17 2008 (since I've seen that that version renders this clip OK)?

Guest
18th February 2009, 03:49
here is a cut-down version of the problematic source .m2ts clip It plays fine in DGAVCDecNV and CoreAVC. It bombs in VLC. So say thank you to libavcodec.

so I was wondering what difference, if any, I could expect if I demuxed the title as an .mkv using eac3to and fed that into x264 (via a controlled DShow .grf so I knew and could control the filter chain) via the other script I suggested above - I know DGAVCDecode would supposedly make a difference if I was doing something in the script that involved seeking, but I in a straightforward linear encode, would I expect any difference? For linear decoding, DirectShowSource() should be fine.

Another alternative of course is to use DGAVCDecNV.

ps - any particular reason why DGAVCIndex couldn't/shouldn't be re-built with the most recent stable source-code-base for the libavcodec version that ships with ffdshow tryouts (Beta 6) rev 2527 Dec 17 2008 (since I've seen that that version renders this clip OK)? It's been discussed to death. There are regressions that break accurate random access that the developers are uninterested in fixing, as they apparently care only about playback and not frame accurate seeking.

magic144
18th February 2009, 04:02
It plays fine in DGAVCDecNV and CoreAVC. It bombs in VLC. So say thank you to libavcodec.

For linear decoding, DirectShowSource() should be fine.

Another alternative of course is to use DGAVCDecNV.

It's been discussed to death. There are regressions that break accurate random access that the developers are uninterested in fixing, as they apparently care only about playback and not frame accurate seeking.

thanks for the verification DG...

(and v. sorry for not having picked up on the discussions - obviously have my fingers in far too many technical pies at the moment and am feeling somewhat overwhelmed! - but I do appreciate your restating the facts)

in which case I guess it's the end of the road for DGAVCIndex (libavcodec version) unless and until the libavcodec developers share your purpose! - that's too bad

yeah, I would buy DGAVCDecNV right now IF I currently had an NVidia graphics card (sadly I'm running with ATI HD3650) - maybe I'll have to go down that road eventually - either that or the software approach with CoreAVC... did I read you were going to consider developing DGAVCIndex variants with ATI or CoreAVC in mind???

(I notice now that CoreAVC has even released a version now that works in an accelerated mode with NVida GPUs!!!)

otherwise, I guess I'm left with DirectShowSource and either *that* version of libavcodec or CoreAVC

cheers once more for all the help and great tools and food for thought

m

Guest
18th February 2009, 04:07
in which case I guess it's the end of the road for DGAVCIndex (libavcodec version) unless and until the libavcodec developers share your purpose! - that's too bad Not necessarily. I'm working on using CoreAVC as the underlying decoder. I don't know if it will be successful.

magic144
18th February 2009, 04:11
well, if anyone can do it... :)

I will certainly follow any progress with interest

MatMaul
25th February 2009, 11:42
ffmpeg have been fixed for PAFF AVCHD files.
it also now parses the SEI recovery points (http://svn.ffmpeg.org/ffmpeg?view=rev&revision=17109).

Inventive Software
27th February 2009, 23:23
Long shot, but any news on whether MP4 support is coming or not?

Guest
28th February 2009, 00:12
What streams use it?

Inventive Software
28th February 2009, 02:25
What streams use it?

Please tell me that's a trick question. I'd say "stuff I download", but it'd get me struck for rule 6. :rolleyes:

So... almost anything I create with x264?

I ask because it's the standard container for it. After all, MKV was added and that's a non-standard container, despite its popularity.

I guess a sample's needed, yesno?

Guest
28th February 2009, 04:32
I ask because it's the standard container for it. After all, MKV was added and that's a non-standard container, despite its popularity. MKV has a standard. I don't see a lot of MP4 action, so that's why I asked. However, now with Microsoft pushing the segmented MP4 for streaming, it may become more pressing.

I can make my own samples.

aaar9800
8th March 2009, 04:37
Hi neuron2,

I tried to merge 37 AVCHD .m2ts files from my canon hf100 camcorder to then index them together with DGAVCIndex.

When I merge them with either tsMuxeR or tsdoctor or pretty much anything else, loading the .dga through avisynth in virtualdubmod shows that it is 55063 frames, with duration reported as 30:37.26. The demuxed audio is 30:37.896

However, when I merge the files with PIXELA ImageMixer 3 (bundled software with the camcorder), the resulting .m2ts file is indexed to report 55077 frames (30:37.73). The audio is 30:37.824, which is good considering the -66ms delay (I guess this comes from the dropped first 2 frames).

When looking through the generated .dgas, on some of the transitions between two different files, the last gop is sometimes broken off in the PIXELA file, with the last frame of that gop reporting as an IDR. In tsMuxeR's file, the last gop is never broken off and it continuous to be a part of the corresponding "sub"-file. In this case the last frame of the gop(which happens to be a key frame) is not part of the index, and av grows out of sync.

I would have no trouble using ImageMixer 3, if it didn't always crash, wasn't so bloated and slow, and didn't require me to unregister Haali Media Splitter every time I needed to use it.

I was wondering if this inconsistency is a result of the way the other programs merge the files, or if it is fixable within DGAVCIndex. If you want, I could send you both .dgas for the different files, or I could try to reproduce the issue with smaller files and send those.

Thanks for all of your great tools.

Guest
8th March 2009, 05:47
Merge them using DOS: COPY /B.

aaar9800
8th March 2009, 17:26
Merge them using DOS: COPY /B.

That produced an identical file to what tsdoctor made and the 14 frames are still missing.

Guest
8th March 2009, 17:31
I'm not sure what you are asking from me.

Are you saying there is some AV sync issue when using the DOS-joined stream?

aaar9800
8th March 2009, 17:36
Yes, the audio of the DOS-joined stream ends up 467 ms longer.

moviefan
8th March 2009, 17:37
I have not dealt with such a situation, but doesn't DGAVCIndex support the functionality to add multiple files whose order can be adjusted if necessary? Thus you could add your m2ts-files, reorder them to the correct order and create the dga-file? Or is there a reason not to do so? (probably a question particularly for neuron2)

Guest
8th March 2009, 20:02
Yes, the audio of the DOS-joined stream ends up 467 ms longer. I didn't ask about the lengths. I asked if there is an AV sync problem. There are quite valid reasons for a length discrepancy. It's only an issue if there is an AV sync problem.

If there is an AV sync problem, is it a fixed offset or does it grow larger as the stream is played?

@moviefan

Multiple file open is not currently supported. In any case, it would be equivalent to the DOS COPY operation.

aaar9800
8th March 2009, 20:48
Yes, there is an AV sync problem. Starts off fine and then tracks get progressively out of sync.

Turtleggjp
9th March 2009, 17:26
Yes, this is definitely a problem. I experience the same thing with my video camera footage (also HF100). The reason behind this is simple: Video frames go by at 29.97 fps, while audio frames (Dolby Digital in this case) go by at 31.25 fps. It is pretty much impossible for the audio and video to have the exact same duration for all your individual clips, so what happens is that the audio ends up being slightly longer than the video (by a few ms per clip). After joining several clips together, the audio gets progressively more out of sync.

The solution to this problem is simple, and perhaps Neuron2 could add this ability (as an option) into the program. All that needs to happen is to count the number of audio and video frames that go by with each file. The total duration of both audio and video can be calculated from this, and when the audio difference exceeds 16ms (half a frame), the program can simply drop one frame of audio from the output stream, thus now putting it slightly behind. This is in effect what I do with all my footage.

I use DGAVCIndex to index all my files individually (using the command line interface for batch processing), and then use the program AC3 Cutter to examine all the resulting audio files, counting their frames. This series of numbers is then fed into an Excel spreadsheet that I made up, which then determines where audio frames need to be dropped. I then use tsMuxeR to create a single (out of sync) .AC3 file from all my clips, then use the data from my Excel spreadsheet to cut that file using AC3 cutter. The result is a synced (+/- 16ms) .AC3 file that has not been re-encoded.

If this sounds complicated, it kind of is, at least my way of doing it is. The point is, this proceedure does work, and it would be nice if either tsMuxeR or DGAVCIndex could do this instead. Does this sound feasible to add to DGAVCIndex?

Matt

Guest
9th March 2009, 17:45
The problem is not with the audio rate, it's with the fact that the video granularity is one video frame=33.367 ms while the audio granularity is one audio frame=32 ms. So the clips will not have the same audio and video length if only complete frames are included. The difference then accumulates and the total error will depend on the number of clips.

Can't you ask your camera to capture in one file? I don't really see this as a job for a decoder.

SeeMoreDigital
9th March 2009, 19:27
Hi Donald,

I've been meaning to ask you for a while.....

Is there any particular reason why the "Frame Type" displays "Not Yet"?


EDIT: Bummer... I've just found a post (for the release of v1.0.1), where you mention the "Frame Type" function has been disabled :o

rebkell
9th March 2009, 19:35
The problem is not with the audio rate, it's with the fact that the video granularity is one video frame=33.367 ms while the audio granularity is one audio frame=32 ms. So the clips will not have the same audio and video length if only complete frames are included. The difference then accumulates and the total error will depend on the number of clips.

Can't you ask your camera to capture in one file? I don't really see this as a job for a decoder.

I know this is off topic, but TS Packet Editor is pretty good about keeping timestamps aligned, you can load all the clips in to it and create one ts file, then you could run eac3to to fix the gaps and give you a synced ac3 and raw video file, which you can then mux back together and index or just index the raw 264, depending on your needs.

Turtleggjp
9th March 2009, 19:57
The problem is not with the audio rate, it's with the fact that the video granularity is one video frame=33.367 ms while the audio granularity is one audio frame=32 ms. So the clips will not have the same audio and video length if only complete frames are included. The difference then accumulates and the total error will depend on the number of clips.

That's pretty much what I said, except that you were talking about seconds (ms actually) per frame, and I was talking about frames per second. :)

Can't you ask your camera to capture in one file?

The camera creates a new file every time you start and stop recording. If you record for long enough to make a 2GB file (about 17 minutes if I remember), it will then create a new file due to an apparent 2GB file size limit. When it does this though, these files can be joined by a simple DOS COPY /B without causing sync loss.

I don't really see this as a job for a decoder.

A decoder, no. But as something that is demuxing the audio track, it would be nice if it could. I know DGAVCIndex is already counting video frames, since that is what I use it for. Would it be very difficult for it to count the audio frames too? Even if you could have this option for dolby digital tracks only (since that's what most AVCHD camcorders record) it would be very helpful.

Guest
11th March 2009, 01:58
1. Fix a bug in backward GOP stepping.

2. Fixed a problem with Load Project.

3. Added option "Display HD Full Sized".

4. Fixed a problem in M2TS file parsing.

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

Sagekilla
12th March 2009, 04:17
neuron2, is MKV support available at the moment?

I'd like to try indexing a Blu-ray movie I ripped using MakeMKV (It's the original m2ts muxed into mkv). I can't copy the movie through other methods (Like DumpHD + DumpVID + aacskeys) because they don't work for me, so I used this.

poisondeathray
12th March 2009, 05:27
is MKV support available at the moment?



Current Limitations
1. Only AVC/H.264 elementary (raw) and transport streams can be opened (no MKV or MP4 files yet).

Guest
12th March 2009, 06:17
I'd like to try indexing a Blu-ray movie I ripped using MakeMKV Demux the streams from the MKV and then process the elementary video stream in DGAVCDec.

Sagekilla
12th March 2009, 06:38
I was hoping I wouldn't have to do that since demuxing a 24 GB file is going to take a while. I suppose it's only thing I can do though.

Any idea if mkv will be supported in the near future?

JK1974
12th March 2009, 12:44
The solution to this problem is simple, and perhaps Neuron2 could add this ability (as an option) into the program. All that needs to happen is to count the number of audio and video frames that go by with each file. The total duration of both audio and video can be calculated from this, and when the audio difference exceeds 16ms (half a frame), the program can simply drop one frame of audio from the output stream, thus now putting it slightly behind. This is in effect what I do with all my footage.

I use DGAVCIndex to index all my files individually (using the command line interface for batch processing), and then use the program AC3 Cutter to examine all the resulting audio files, counting their frames. This series of numbers is then fed into an Excel spreadsheet that I made up, which then determines where audio frames need to be dropped. I then use tsMuxeR to create a single (out of sync) .AC3 file from all my clips, then use the data from my Excel spreadsheet to cut that file using AC3 cutter. The result is a synced (+/- 16ms) .AC3 file that has not been re-encoded.

If this sounds complicated, it kind of is, at least my way of doing it is. The point is, this proceedure does work, and it would be nice if either tsMuxeR or DGAVCIndex could do this instead. Does this sound feasible to add to DGAVCIndex

It seems to be more a problem of TS concatenation that makes problems here.
Have you already tried xport on the concatenated file for demuxing? Similar to ProjectX, this seems to take care of the individual timestamps, so in theory, everything should be kept in sync.

I would also be interested in a solution as I am also a HF100 user - only in PAL land. Haven´t tried before if it happens here also...

buzzqw
19th March 2009, 11:36
i have a little problem decoding this stream

http://www.64k.it/andres/data/Varie/test_dgavcindex.h264 (30mb)

http://www.64k.it/andres/data/Varie/dgavcindex_test.jpg

any help is appreciated

BHH

nm
19th March 2009, 12:32
Looks like the old PAFF problem in the libavcodec version used in DGAVCDec. Not much you can do about it other than switch to DGAVCDecNV or fix the frame-accuracy problems that neuron2 is having with the current libavcodec.

buzzqw
19th March 2009, 13:39
thanks nm

i own the license for DGAVCDecNV but users of my application no (and i suggest to buy it! :) )

thanks again

BHH

Kurtnoise
20th March 2009, 02:41
Don, speaking on this...

The libavcodec.dll shipped with DGAVCDec is a GPL binary. I built it from the
source code available here:

http://sourceforge.net/project/downloading.php?groupname=ffdshow-tryout

I have made a small modification to return a different version string to
manage compatibility issues. This modification is available on request.
can we have access to this mod, please ?

:thanks:

Guest
20th March 2009, 02:44
Already posted. Use search.

Kurtnoise
20th March 2009, 02:52
aaa, got it (http://neuron2.net/misc/ffmpeg1837dg.zip)...thanks.

Guest
20th March 2009, 03:02
You found it faster than me. I just found it. :stupid:

laserfan
26th March 2009, 20:45
My new Q6600 computer is so fast that I've lately found myself watching it perform, and thought I might ask neuron2: is it normal, having done a Save Project on a h.264 es, that DGAVCIndexNV (and non-NV too AFAICT) will scream along for some thousands of frames, and then start behaving in a staccato fashion? Where it races along doing 300-400 frames in a second, then pause for maybe a half-second, then suddenly another 300-400 frames, etc. etc. until completion.

I thought it might be pausing to calculate bitrates perhaps but then as I watch it, that doesn't seem like that's what it's doing. And to look at Windows CPU utilization it does appear that it goes to zero, then 10%, zero, 10% etc. In the end I'm getting an average of 150-170fps.

Not a problem--just wondering it this is normal/expected behavior....? Guess I should go-back & try my old P4 again; maybe it's always worked this same way.

Rodger
26th March 2009, 21:39
You are making a HUGE thinking error.

frames is not equal size!
The reading speed is limited by the bitrate / mass of data to be read.
Parts with higher bitrate will take longer than those with lower bitrate. As I have a Q9400s CPU @3,2Ghz I can tell, that even my super high speed WD Velociraptor-Raid is by FAR not able to feed the Intel-CPU quickly enough with data ;)
That was already the case back then, when I used a C2D E8400@3,55Ghz.

Only thing I can imagine is, that higher cache usage of the program itself might improve speed.
But I have something in mind, that this was already tested some time ago. Well possibly newer systems require different settings.
Usually...reading the data in 1024Kb block sizes is already pretty perfect for most drives. And personally I don´t think huge cache sizes of 8Mb and more will do any trick to it.

@ Neuron: If you give out a test-version with variable cache sizes, I´d be helpful to test the perfect settings for newer quad core machines.

@ laserfan: Try out An Intel X25-M SSD , this surely will help speeding up :D

Guest
26th March 2009, 21:59
I don't know and I'm not that interested to be honest. :)

I have a large buffer that gets refilled. Trying to tweak it is not interesting to me given all the other things on my list already.

But never say never.

laserfan
26th March 2009, 23:38
Honestly my question was not re: improving speed--I was just wondering if the program's zoom-stop-zoom-stop behavior was normal. And I guess you have said "yes", or maybe you have just never noticed! :)

No matter then; must be "stopping" when the buffer fills. And it "screams along at the beginning" maybe cuz there's mostly black there at first. And I managed to post this accidently in the non-NV thread; tho AFAICT both versions work the same... :slinksaway:

Guest
26th March 2009, 23:48
No need to slink. The start stop thing I've only seen on the NV builds. It never got high enough on my list to look at. I do know that the NV builds have a much bigger buffer to refill. Maybe after I merge them all, add program stream support to DGMPG, support multiple file loading. It's not broken but it could possibly be improved.

Egh
13th April 2009, 04:41
@neuron2:

I have rather interesting case here with one m2ts file from bluray source. It has video stream which is fine, but also two other audio streams detected (LPCM 48KHz 2ch), however if I demux them they are empty. Length is normal but streams are filled with zeros :) Splitters also have troubles with that m2ts, for instance Haali splitter doesn't detect audio streams at all, apparently. Any suggestions re what experiments I can do with the file to identify what can be wrong with it?

Revgen
13th April 2009, 20:37
^You might want to post a sample for neuron2 to look at.

Guest
13th April 2009, 20:56
Yes, indeed. Please post a link to an unprocessed source sample that can be used to duplicate your issue.

Egh
14th April 2009, 18:38
Try this, 25mb cut from beginning. http://www.mediafire.com/?z4kzngyodty

Maybe this video doesn't really have any sound data, but both VLC and Haali splitter have troubles with it regarding these two additional tracks. VLC considers them to be video (???) and Haali doesn't detect them at all apparently.

Guest
14th April 2009, 20:10
It seems to be just blank audio going with some kind of intro video. Is there audio present when you play this section of the BD?

Egh
14th April 2009, 21:14
It seems to be just blank audio going with some kind of intro video. Is there audio present when you play this section of the BD?

I cannot play it :shy: This is separate intro yes, it is not in the main m2ts file. And yes, this file raised suspicions because both Haali and VLC have troubles with additional tracks. Still puzzled why two blank audiotracks were added to that file.... Main m2ts file contains two audiotracks as well, but they are not blank....

halsboss
18th April 2009, 15:08
Just checking:
1. Only AVC/H.264 elementary (raw) and transport streams can be opened means it doesn't process mpeg4-ASP streams, doesn't it ? Is there a DGsomething for mpeg4-ASP ? :)

Guest
18th April 2009, 15:10
Nope. Use DirectShowSource() or DSS2().

ACrowley
30th April 2009, 07:16
Im a little bit confused..

1.0.9 is the latest Version ,including dll

Megui made a update on dgavcindex and dgavcdecode today. Its DGAVCIndexd/Decode 1.0.1-1 ? The exe and dll are 1.0.0.0 from 30.04.2009 ? So its a updated Version ?

Guest
30th April 2009, 14:05
I don't know anything about those version numbers. You can ask the Megui guys what is going on.

Sharktooth
30th April 2009, 14:14
@ACrowley: No, it's 1.0.1 (the -1 means it was repackaged - the reason for repackaging was: missing libavcodec.dll).
however, ill update degavcindex/dec packages with the new version as soon as i get home.

ACrowley
30th April 2009, 16:58
@ACrowley: No, it's 1.0.1 (the -1 means it was repackaged - the reason for repackaging was: missing libavcodec.dll).
however, ill update degavcindex/dec packages with the new version as soon as i get home.

Ok, Thx

obviously its the old 1.0.1 Version. Mhh...so i used the old dgavcdecode Decoder for some BluRay to x264 encodes via megui. I havent noticed that megui use/updates a old Version.
But i cant see any Problems in these x264 encodes encoded through dgavcdec.dll 1.0.0.0

krosswindz
9th May 2009, 01:11
I am not sure if this has been discussed earlier, but I find that encoding BluRay to x264 using AVCSource is 4-5 times slower that using DirectShowSource with ffdshow+haali for me. Is this a known issue or am I doing something weird. I would prefer to use AVCSource as it is frame-accurate while DirectShowSource decoders neednt be frame-accurate. Any information regarding this is appreciated.

Guest
9th May 2009, 02:44
Nah, they both use the same decoder: libavcodec. You must have changed something else between the cases. Five times slower would have been noted by now.

stpdrgstr
10th May 2009, 14:06
Hi neuron2

I'm getting this problem with lossless encoded h264 raws.

http://img25.imageshack.us/img25/8336/problemh.png (http://img25.imageshack.us/my.php?image=problemh.png)

While getting this warning when loading the h264 stream.

PicParset 0 references are invalid (uninitialized) Sequence Parameter Set with ID 0, expect the unexpected... (lol yeah)

Hit Yes continue notifying this specific error type; hit No to disable it.
Hit Cancel to supress all further errors.

If I press Yes, it goes right away to the second frame, with the same Warning. If there I press Yes again, it will stop displaying the error until I advance to any other frame, where it will display the warning and not show anything else but a black frame. If I press No, I get the problem in the screenshot.

Here's the sample (http://www.mediafire.com/?it2hynexeoy)

nixo
10th May 2009, 14:25
You need to use the old lossless mode, meaning x264 builds earlier than revision 994. The version of libavcodec.dll in dgavcdec is too old to decode the new lossless mode.

--
Nikolaj

stpdrgstr
10th May 2009, 15:03
Damn, that's not cool :(

Is there any difference from indexing it through here and loading it with DSS2 using CoreAVC or libavcodec from lastest ffdshow?

b66pak
12th May 2009, 19:48
i have the same problem as stpdrgstr...how can be properly decoded the new x264 lossless mode?
_

ChronoCross
12th May 2009, 19:58
You need to use the old lossless mode, meaning x264 builds earlier than revision 994. The version of libavcodec.dll in dgavcdec is too old to decode the new lossless mode.

--
Nikolaj

i have the same problem as stpdrgstr...how can be properly decoded the new x264 lossless mode?
_

see the above quote.

LoRd_MuldeR
12th May 2009, 20:13
i have the same problem as stpdrgstr...how can be properly decoded the new x264 lossless mode?
_

Try muxing your "raw" H.264 stream into an MKV container via MKVToolnix (http://www.bunkus.org/videotools/mkvtoolnix/downloads.html#windows) and then use FFVideoSource() (http://forum.doom9.org/showthread.php?t=127037) or even DirectShowSource() instead of AVCSource().

G_M_C
13th May 2009, 11:52
@ACrowley: No, it's 1.0.1 (the -1 means it was repackaged - the reason for repackaging was: missing libavcodec.dll).
however, ill update degavcindex/dec packages with the new version as soon as i get home.

Talking about wich;

I know you used a "custom" libavcodec in your package Neuron2. But i forgot if it was possible to to update your package with a current "regular" vversion of libavcodec. I seem to remember that that was possible, but i'm not shure about it atm.

I ask this cause libavcodec changes once in a while, and getting more/better/faster/whatever decoding through DGAVCIndex (if applicable) by simply changing the libavcodec is simple to do.

StifflerStealth
13th May 2009, 12:52
I have a MKV with one h264 video stream and one aac audio stream. I demux them out with mkvextract from the MKVToolNix package, and then open it with the indexer. I then use that file with my AVS script. The audio is converted to Wave64 which is opened with the NicAudio package. The two streams are then AudioDubed together. I use Info() at the end of the script. The Indexer reports correctly that the video is 29.97FPS, the info function shows the video frame rate as 60000/2002 instead of 30000/1001. Also, the video plays fast in MPC. The Info function shows the video as being 18 minutes long and the audio is 22 minutes long. The correct time is 22 minutes. The video is all there, but playing faster than what it should. I tried all three settings under video on the indexer (honor pulldown, ignore pulldown, and force film), but all three settings produce the same results. I looked in the dga file and at the end, there is this:
SIZ 720 x 480
FPS 60000 / 2002
CODED 33629
PLAYBACK 33629

So, it is telling MPC that the frame rate is that number, which is 29.97 FPS, but I have always heard of it as being 30000/1001. Is this the reason why it's playing fast?

Guest
13th May 2009, 13:36
But i forgot if it was possible to to update your package with a current "regular" vversion of libavcodec. It's not possible because I check that it is the DLL that I supply. I cannot use the newer versions because they are broken for accurate frame random access.

Guest
13th May 2009, 13:37
So, it is telling MPC that the frame rate is that number, which is 29.97 FPS, but I have always heard of it as being 30000/1001. Is this the reason why it's playing fast? No, because 60000/2002 = 30000/1001. You can just change it to 30000/1001 in the DGA file if you like. I don't expect it to behave any differently.

G_M_C
13th May 2009, 13:43
It's not possible because I check that it is the DLL that I supply. I cannot use the newer versions because they are broken for accurate frame random access.

Thx for the fast reply Neuron2 !

nm
13th May 2009, 13:44
The Indexer reports correctly that the video is 29.97FPS, the info function shows the video frame rate as 60000/2002 instead of 30000/1001. Also, the video plays fast in MPC. The Info function shows the video as being 18 minutes long and the audio is 22 minutes long. The correct time is 22 minutes.
Those numbers suggest that the correct framerate is ~24 fps. Upload a sample clip (to MediaFire, for example).

StifflerStealth
13th May 2009, 14:22
I uploaded a segment to MediaFire. MPC detects it as 29.97 FPS as well as the AVC Indexer. Avidemux (latest SVN build) always gets the audio out of sync when I try to edit it (Bleach episodes have annoying end of part 1 things that I am trying to edit out for fun and experience and do some filters to enhance the picture. :D). Also, I tried the indexer that came with FFmpegSource2, and it showed the video as 24 fps, but it was out of sync with the audio. -_-' So, the detection of the fps has a bug somewhere, either this tool or ffmpegsource2 or both. :P Or something else is wrong, like my ripping/coding. I thought I got all the details correct for the encode. Anyways, I hope you can tell me what's wrong and how to open this in AviSynth or other programs so that the video is in sync. :)

{Link removed since issue solved}

Thanks.

Guest
13th May 2009, 15:21
@StifflerStealth

You have posted an MKV. Where did you get it?

StifflerStealth
13th May 2009, 15:43
I muxed it. :S I thought you would want the audio and the video together for comparison. Should have everything that I am working with, except shorter. You can go through what I do, demuxing, importing to avisynth and all that. Maybe I am doing something wrong? I used the new MKVToolNix Gui as the muxer. Why, did I mux it incorrectly? Or did you just want the raw h264 stream and you didn't need the audio with it? But, I thought you wanted to try the audio going out of sync thing. :S Confusing.

nm
13th May 2009, 15:49
I uploaded a segment to MediaFire.
It's VFR (variable framerate). The default framerate is set to 30000/1001 in the Matroska headers, but the actual frame timings imply 24000/1001 fps video. I only looked quickly at the timecodes given by "mkvextract timecodes_v2 file.mkv 1:file.tc.txt" though, so there could be some 30000/1001 segments, especially in the complete video.

Editing VFR video requires special care and tools like Avidemux might not support it fully. Try using mkvmerge for cutting. For filtering (that doesn't change the number of frames), extract timecodes first, filter and re-encode the video and mux back to Matroska with the original timecodes.

StifflerStealth
13th May 2009, 16:10
Thanks nm. :) I guess I should read a bit more before I use new codecs. I did all this before I moved to Win7, and I don't know if AnyDVD works with win7 yet or not, so I don't feel like re-ripping. XD I will just re-encode the h264 stream this time without VFR. Now I just need to figure that out. Any chance of seeing VFR support in the future for DGAVCDec? :D Though, I must say, I do feel a bit stupid for not properly reading encoding instructions to begin with. :o Sorry for the ruckus. :(

Guest
13th May 2009, 19:35
@StifferStealth

I want an explanation of what you ripped it from. If from a DVD give the title and region. Also explain how you claim to have made a VFR encode when you apparently cannot even recognize such a thing. If you do not answer satisfactorily you'll get you a rule 6 strike. Awaiting your full explanation...

@nm

Do not respond when rule 6 concerns are raised. You can get a strike for it too.

halsboss
15th May 2009, 09:37
Not necessarily. I'm working on using CoreAVC as the underlying decoder. I don't know if it will be successful.
Hello, any news or gossip about progress on this ?

saint-francis
15th May 2009, 12:35
Hello, any news or gossip about progress on this ?

Waiting on CoreAVC 2.0. It will provide an API which DGAVCDecode and use.

Sharktooth
15th May 2009, 12:46
id be glad if, in the meantime, libavcodec could be updated with the latest one, multithreaded and supporting x264 lossless encoding...

LoRd_MuldeR
15th May 2009, 13:30
id be glad if, in the meantime, libavcodec could be updated with the latest one, multithreaded and supporting x264 lossless encoding...

I cannot use the newer versions because they are broken for accurate frame random access.

:scared:

Sharktooth
15th May 2009, 13:35
doh!!

Mtz
20th May 2009, 15:56
This (http://www.sendspace.com/file/a2ep4l) is a TS with 4 audio and 8 subtitles. The subtitles are detected as AC3. Is possible to correct detect the subtitles and output them (demux) in some way?

enjoy,
Mtz

Mtz
27th May 2009, 23:32
DGAVCDec project is dead?

Guest
28th May 2009, 00:59
Bugs will be fixed, but no more major development unless and until CoreAVC releases an API.

Mtz
28th May 2009, 01:21
OK, thank you!
Do you think is possible to export the DVB Subtitles in some format, or this is also dependent of that API?

enjoy,
Mtz

Guest
28th May 2009, 04:40
Do you think is possible to export the DVB Subtitles in some format If you can point me to the relevant spec and provide a test stream.

Mtz
28th May 2009, 23:34
Here (http://www.bjpace.com.cn/data/tec/tec-DVB/DVB%20BlueBooks%20Standards/Specifications%20and%20Standards/subtitling/dvb-sub/Ets300743_e1.pdf) and here (http://broadcasting.ru/pdf-standard-specifications/multiplexing/dvb-si/en300468.v1.5.1.pdf) I found some documentations.
In my previous post (http://forum.doom9.org/showthread.php?p=1287806#post1287806) is a link for DVB Subtitles (as bitmap) which can be viewed by VLC and here (http://www.sendspace.com/file/ktzc52) seems to be a file with both types of subtitles (teletext and bitmaps) as reported and viewed by VLC. I think for MPEG2 only teletext subtitles are used, but for H264 can be used both types.
ProjectX can extract the DVB Subtitles but sometimes the palette of idx is wrong and the SUP file saved is SD not HD.
I saw in some eac3to log that the program can detect the DVB Subtitles correct even it cannot export them.
In my two provided samples the subtitles are detected as AAC or AC3.

enjoy,
Mtz

nm
28th May 2009, 23:45
I think for MPEG2 only teletext subtitles are used, but for H264 can be used both types.
Bitmap-type DVB subtitles are used along SD MPEG-2 broadcasts in some countries (at least by YLE here in Finland).

abero
7th July 2009, 14:23
Since this thread is 92 pages long, i've checked and searched but couldn't find an answer, so maybe this is old news, but i've got a problem with a recently recorded hi-def .ts file.

I've opened the .264 in DGAVCIndex and save the project, created a .avs file, which looks like this:


loadplugin("DGAVCDecode.dll")
AVCSource("Disney Cinemagic HD - Saludos Amigos.dga")

Video looks ok in DGAVCIndex, but if i open the .avs file in virtualdub, megui, media player etc. i get a garbled frame every few frames which look like these :

http://img3.imagebanana.com/img/gz115lhy/thumb/saludos.jpg (http://img3.imagebanana.com/view/gz115lhy/saludos.jpg)http://img3.imagebanana.com/img/hmknzgo3/thumb/saludos2.jpg (http://img3.imagebanana.com/view/hmknzgo3/saludos2.jpg)

Any1 know where my problem lies and what i can do about it?

Thanks

ministrix
19th August 2009, 10:10
I got a question. I've tried searching this thread but to no luck. For some reason dgavcdec wont do two .m2ts ( ive tried add both files but yet it only decodes the first ), so i wonder is there a way to load two avcsources like this
AVCSource("00000.dga"+"00009.dga") ?

I tried diff ways but to no luck.

Audionut
19th August 2009, 10:50
Get the latest beta from here: http://forum.doom9.org/showthread.php?t=147945

One of the fixes is multiple file support.

SeeMoreDigital
19th August 2009, 11:33
Get the latest beta from here: http://forum.doom9.org/showthread.php?t=147945

One of the fixes is multiple file support.But those versions of DGAVCDec only work with (certain types of) Nvidia graphics cards.

Audionut
19th August 2009, 13:27
But those versions of DGAVCDec only work with (certain types of) Nvidia graphics cards.

Ah yes, I had forgot about the non nvidia versions.

Sorry ministrix, the version I linked to will only work with a nvidia card that has vp2 or greater.

Guest
19th August 2009, 13:34
You can either concatenate the M2TS files before loading into DGAVCIndex or you can demux to one file using tsmuxer.

MatLz
21st August 2009, 02:12
I have noticed the loss of some kb when I demux video, compared to original stream. What is the reason?

Guest
21st August 2009, 02:16
When you demux you no longer have the other elementary streams, such as audio. You also no longer have the muxing overhead.

MatLz
21st August 2009, 02:42
When you demux you no longer have the other elementary streams, such as audio. You also no longer have the muxing overhead.

In fact it's when I just put a .264 it happens. For example, when I put the stream out of a mkv or a mp4 (like as I did for test the inloop deblocking : put out from my mkv with mkvextract)
So it remains some overhead?

Guest
21st August 2009, 03:19
Your question is so vague it's hard to make sense of it.

Case 1: You have just an AVC elementary stream in the MKV. You demux the AVC stream and compare the size of the MKV to the size of the demuxed AVC stream.

Case 2: You start with an AVC elementary stream, put it into an MKV, extract it and then compare the extracted AVC stream to the original AVC stream.

Case 3: ...

You have to tell me exactly what you are doing.

MatLz
21st August 2009, 03:42
I have test the deblock=false in the dgavcdec filter. For that, that I have extract the .264 stream out the mkv I made.
I puted this .264 file in dgavcindex and use demux video stream.
Result: a loss of some kb.

Guest
21st August 2009, 03:48
I puted this .264 file in dgavcindex and use demux video stream. It makes no sense to demux from an elementary stream. Why are you doing that?

If you post the AVC stream that you input into DGAVCIndex I can try to identify why the operation is not acting as a no-op.

Guest
21st August 2009, 03:58
OK, I duplicated it and here is the explanation.

DGAVCIndex maps 00 00 00 01 xx start codes to 00 00 01 xx. According to my reading of the spec and my testing, this is not a problem, and in fact no-one has ever reported any problem with it.

If you have a compelling reason why the original extra 00 bytes should be retained, I can consider outputting them.

MatLz
21st August 2009, 04:15
I know "demux" word, but I did it, point. I'm curious, that's all.
Well, so curious I just tried with .264 stream directly encoded by X264 (not extract out of a mkv).
There is a negligible loss of 0.014% but a loss at all.
That was my question.

Guest
21st August 2009, 04:21
There is a negligible loss of 0.014% but a loss at all. It's actually a gain, because you have a smaller file size with exactly the same video content.

MatLz
21st August 2009, 04:31
It's actually a gain, because you have a smaller file size with exactly the same video content.

In fact, I noticed that a long time ago and use this "method" for, in my mind, have better compatibility with dgavcdecode.

Guest
21st August 2009, 04:40
In fact, I noticed that a long time ago and use this "method" for, in my mind, have better compatibility with dgavcdecode. There is no issue of compatibility. The specification for NALU parsing supports both forms of NALU delimiters I described, and my tools obviously implement the spec. Any other tool that correctly implements the spec will also have no problem with either method.

Guest
23rd August 2009, 20:03
Wrong thread if you're talking about the NV version.

Post a link to the first two source fragments. I assume you mean you have a lot of source files, and not one that you split in your script. If that's not so, explain it and give your script.

Please reply in the correct thread.

hannah
27th August 2009, 08:28
I have this Sony AVCHD handycam (Model: HDR-SR12). This is a hard-drive camera. The video files have an extension *.mts

I am currently using DGAVCIndex 1.0.9 to generate *.dga which really works fine. I then serve this in my avisynth. This version of DGAVCIndex cannot process more thn 1 .mts file.

Is there a version of DGAVCIndex available which can process multiple .mts file and generate one .dga file please?

Many thanks in advance.

Guest
27th August 2009, 13:27
Yes, DGAVCDecNV can do it, but it requires a supported Nvidia graphics card.

http://neuron2.net/dgavcdecnv/dgavcdecnv.html

As a workaround for DGAVCDec you can merge the M2TS files using DOS COPY /b.

hannah
28th August 2009, 00:15
Yes, DGAVCDecNV can do it, but it requires a supported Nvidia graphics card.


thanks a lot..unfortunately I do not have a Nvidia graphics card. I am already merging the .mts files however it's tiem consuming and takes up double the space.

Thanks again for your input.

Varies
30th August 2009, 09:17
neuron2
Whether add use DDS2 (haali avss.dll fast & HQ) optionally instead of libavcodec is possible?

Jawed
28th September 2009, 18:26
I have a problem with artefacts appearing in a BBC iPlayer download. I have created an MKV of the offending section of original video (a zoom on a photograph) and included the script that shows this problem:

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

See the artefacts that suddenly disappear at frame 241.

Using directshowsource doesn't produce this problem.

Jawed

Guest
28th September 2009, 18:33
Can't duplicate it with your sample. It works perfectly for me.

I demuxed the video from the MKV and made a project, etc.

Jawed
28th September 2009, 18:43
Would demuxing software make a difference? Should I upload the .h264 file that I extract from the MKV? Should I try the .h264 file that you extracted?

I have tried previewing the clip (F5) within DGAVCIndex at full resolution (Display HD Full Sized) and the artefacts also appear there.

Jawed

Guest
28th September 2009, 19:15
Would demuxing software make a difference? Should I upload the .h264 file that I extract from the MKV? Should I try the .h264 file that you extracted? You should upload the source file. Don't make a new MKV out of anything. What did you download and do you have legitimate rights to have it?

I have tried previewing the clip (F5) within DGAVCIndex at full resolution (Display HD Full Sized) and the artefacts also appear there. See, how can I do that with your sample??? DGAVCIndex does not open MKV.

Finally, post a screenshot showing the artifact.

Jawed
28th September 2009, 20:11
You should upload the source file.
It's 1.3GB.

Don't make a new MKV out of anything.
I originally made the MKV (from the .h264 extracted from the .flv) in order to extract 10+ seconds out of the source video. The artefacts are the same regardless of whether I muxed or not - and indeed the directshowsource version shows no artefacts, indicating that muxing is irrelevant.

What did you download and do you have legitimate rights to have it?
The filename tells you and I already said it came from iPlayer, which provides a 30 days licence to people like me who are UK residents.

See, how can I do that with your sample??? DGAVCIndex does not open MKV.
I was suggesting that I send you the .h264 that I extracted from the MKV. Or that you send me the .h264 you extracted. But I don't think that's going to lead to a solution anyway...

I made the MKV so that anyone else could compare directshowsource to avcsource with the minimum fuss as well as it being a convenient way to extract a few seconds showing the problem.

Finally, post a screenshot showing the artifact.
See two images here:

http://www.mediafire.com/?3dimyjznn2y

frames 240 and 241.

This is the script used to create the pix:

a=avcsource("Dan_Cruickshanks_Adventures_in_Architecture_-_Pleasure_b00brpqp_default-002_Track1.dga")
b=directshowsource("Dan_Cruickshanks_Adventures_in_Architecture_-_Pleasure_b00brpqp_default-002.mkv")
a=a.crop(400,300,-400,-200,align=true).subtitle("dga")
b=b.crop(400,300,-400,-200,align=true).subtitle("mkv")
stackvertical(a,b)


I'm wondering if this has something to do with the GOPs. I'm not sure if this is the correct interpretation, but in DGIndex when I press the ">" button in the bottom right corner the frame-slider moves in steps and the second step appears to be the start of GOP 3 in this clip. It looks like it might be frame 241, which is the first frame that's artefact-free.

Thanks,
Jawed

Guest
28th September 2009, 20:43
I can't duplicate it. And those don't look like decoding errors anyway.

poisondeathray
28th September 2009, 21:01
Those errors are replicated in my testing with DGAVCDec 1.0.9, in frames beginning around 120 or so and ending at 240 (basically the entire zoom in on the black & white picture sequence), and the errors disappear on frame 241

Not present with ffms2() or directshowsource()/dss2() +ffdshow

Jawed
28th September 2009, 21:43
For what it's worth I'm running an Athlon X2 3500+ and detected SIMD is MMX, SSE MMX, SSE2, SSE FPU, 3D Now!

In general with this entire video I'm noticing that there are "snap changes" in the appearance of the video. I might upload a sample encode of a short sequence that shows this, later (after midnight my time). The comparison encode using DSS has a very slight "snap" change at the same time - much harder to see. I suppose this snap could be the start of a new GOP in the source.

Jawed

Guest
28th September 2009, 21:55
OK, I see it now. Seems to be caused by the old version of libavcodec that I am using. I cannot upgrade due to newer regressions and so cannot do anything about this.

It works fine with DGAVCDecNV. :)

Jawed
28th September 2009, 22:07
Thanks. I'll try FFMS2, never heard of it before (thanks poisondeathray for your report) - just to have something that avoids having to frobnicate FFDShow settings between encoding and viewing conditions.

Jawed

poisondeathray
28th September 2009, 22:31
Thanks. I'll try FFMS2, never heard of it before...

Sorry , to be more precise it's ffmpegsource2() or ffvideosource() , "ffms2" is the short name

http://forum.doom9.org/showthread.php?t=127037
http://code.google.com/p/ffmpegsource

Jawed
28th September 2009, 22:52
Thanks, I'd already completed a test encode, which I find preferable (less obnoxious blocking crud and barely noticeable "snap"), and will re-encode Dan Cruickshank's programme...

Jawed

medp7060
5th October 2009, 03:03
I just found that there is a huge difference for avcsource and directshowsource. Sample clip is here:http://rapidshare.com/files/288791896/Flag.rar
In this case, avcsource screwed the clip while directshowsource handled it well. I used DGAVCDec Version 1.0.9.
LoadCplugin("C:\Program Files\AviSynth 2.5\plugins\yadif.dll")
directshowsource("Flag.ts").AssumeTFF
#avcsource("Flag.dga").AssumeTFF
#avcsource("Flag.dga", deblock=false).AssumeTFF
Yadif (order=1)
crop(4,4,706,572).BicubicResize(704,528)

Edited: so either DGAVCDec or avcsource has a bug.

halsboss
5th October 2009, 04:09
dss2 ? directshowsource was thought to be less reliable than dss2 in some cases depending on source.

Guest
5th October 2009, 05:22
so either DGAVCDec or avcsource has a bug PAFF is not supported by the early version of libavcodec I use in DGAVCDec, as mentioned in the readme.

The stream is properly handled by DGAVCDecNV.

medp7060
5th October 2009, 06:34
I see. Unfortunately, I cannot use it because
DGAVCDecNV 1.0.13: GPU decoding on Nvidia

--------------------------------------------------------------------------------

ATTENTION: If you do not use an Nvidia graphics card 8xxx or higher, this thread is not for you!

b66pak
7th October 2009, 20:11
hi,

beside indexing .h264 streams i use this tool for trimming...how can i see the number of the current frame when i move the slider?
_

Guest
7th October 2009, 22:37
You can't.

Guest
24th October 2009, 21:03
Thank you for notifying us.

The killer for me is Issue 475.

https://roundup.mplayerhq.hu/roundup/ffmpeg/issue475

I have several files that do this. As upgrading is a big effort, I prefer to wait until this major issue in PAFF support is fixed. Note that after more than 6 months it is still unassigned. This is now shown as fixed so I will do some testing and if things are OK, I'll try to upgrade to the latest libavcodec, and thereby provide working PAFF support.

Guest
24th October 2009, 21:43
My initial test shows that the blocking issue is fixed!

So I'll make an updated version of DGAVCDec with the latest libavcodec.

elguaxo
24th October 2009, 22:11
http://i33.tinypic.com/dhcqwi.jpg

hydra3333
25th October 2009, 00:29
Thanks !

Underground78
25th October 2009, 09:22
Since you are so nice, I'll make it all open source too. (But not the NV tools.)

:thanks:

squid_80
25th October 2009, 13:19
Since you are so nice, I'll make it all open source too. (But not the NV tools.)

Don't you think it will be easy for someone else to add NVIDIA support once the source code is released?

Guest
25th October 2009, 14:55
No, because I know what I went through to do it.

But I'm thinking now that I may have problems keeping the NV stuff closed if my non-NV code on which it is based goes GPL. I'm not sure of the details of the licensing in such a case. I could just make it fully open.

Also, I may have spoken too early about the latest libavcodec being usable for accurate seeking, as I have found significant new issues. I have to do some more testing.

Atak_Snajpera
25th October 2009, 23:25
Also, I may have spoken too early about the latest libavcodec being usable for accurate seeking, as I have found significant new issues. I have to do some more testing.
I keep my fingers crossed! It would be great if we could finally use this tool on interlaced footage from AVCHD camcorders. Frame accurate access is absolutely required with AviSynth MT.

JEEB
26th October 2009, 00:16
But I'm thinking now that I may have problems keeping the NV stuff closed if my non-NV code on which it is based goes GPL. I'm not sure of the details of the licensing in such a case. I could just make it fully open.
Since you can currently keep your application closed, you might as well put your application under ISC, BSD or a similar license, which wouldn't make you open up the parts you don't want to open to the public yet.

Of course such licenses bring up other things, such as code becoming usable in such a way not only for yourself, but for others as well -- although, unfortunately, there are plenty of cases when certain figures use more heavily-limited-by-license code, not caring about the license itself (albeit such behavior indeed isn't acceptable, nor should it be).

Of course, this all depends on how you wish to go further. Opening more apps certainly isn't a bad thing for the community, but there might be other factors in the way that only you know of currently. And then, of course, there's your opinion on things.

nm
26th October 2009, 03:36
But I'm thinking now that I may have problems keeping the NV stuff closed if my non-NV code on which it is based goes GPL. I'm not sure of the details of the licensing in such a case. I could just make it fully open.
You are the original author and copyright holder so you can do anything you want with your own code. (L)GPL only applies to other people and their modifications.

See: http://www.gnu.org/licenses/gpl-faq.html#ReleaseUnderGPLAndNF

Lupissimo
26th October 2009, 11:42
I am using Staxrip with the latest 1.0.9 version of DGAVCDEC.

When I try to encode h264 material ( 720p,50fps) the preview gives an exception error and later on the encoding crashes.
see: http://forum.doom9.org/showpost.php?p=1338151&postcount=2443

This is an examplefile : http://rapidshare.com/files/298060672/arte_HD__AC3_ger__Jagdriten_in_Westafrika.ts.html

Could you please help, as this is the typical format for HD on German DVBS HDTV.

Thank you.

Lupissimo

Groucho2004
26th October 2009, 13:45
I am using Staxrip with the latest 1.0.9 version of DGAVCDEC.

When I try to encode h264 material ( 720p,50fps) the preview gives an exception error and later on the encoding crashes.
see: http://forum.doom9.org/showpost.php?p=1338151&postcount=2443

This is an examplefile : http://rapidshare.com/files/298060672/arte_HD__AC3_ger__Jagdriten_in_Westafrika.ts.html

Could you please help, as this is the typical format for HD on German DVBS HDTV.

Thank you.

Lupissimo

Yes, it crashes with "get_buffer() failed".

I tried the clip with FFVideoSource (FFMS2) - no problems.

allak
26th October 2009, 17:32
But I'm thinking now that I may have problems keeping the NV stuff closed if my non-NV code on which it is based goes GPL. I'm not sure of the details of the licensing in such a case.

IANAL, but, as you are the original author of the software, you can release it under multiple licenses.

http://en.wikipedia.org/wiki/Multi-licensing

HymnToLife
29th October 2009, 12:20
But I'm thinking now that I may have problems keeping the NV stuff closed if my non-NV code on which it is based goes GPL. I'm not sure of the details of the licensing in such a case. I could just make it fully open.

Since you're the author of the code, you are not bound by the GPL, and you can do whatever you want with it, including reusing it in closed source software. Multi-licensing is a royal PITA and can lead to much legal headaches. I wouldn't recommend it.

medp7060
30th October 2009, 06:14
For unknown reason, this clips is indexed well by DGAVCDEC, but has problems when fed into VD, ie only the first 44 frames are loaded, not all.
http://rapidshare.com/files/299854398/CTV8.ts

HymnToLife
30th October 2009, 07:30
For unknown reason, this clips is indexed well by DGAVCDEC, but has problems when fed into VD, ie only the first 44 frames are loaded, not all.
http://rapidshare.com/files/299854398/CTV8.ts

Works fine here.

Vincent Vega
6th November 2009, 16:06
hi, im using dgavcindex 1.0.9, same version dll is in avisynth plugins folder. i just indexed h264 stream and dgavcindex/.dga report 195351 frames. then when i open this dga based avs in megui/vdubmod they report 195344 frames. how could that be? thanx very much in advance.

here's my script (the same anamorhic SD rip script i used many times before) and .dga is in the attachment:

# Set DAR in encoder to 80 : 33. The following line is for automatic signalling
global MeGUI_darx = 80
global MeGUI_dary = 33
AVCSource("E:\My Documents\My Videos\Walk the Line 720p_Track1.dga")
Lanczos4Resize(768,416) # Lanczos4 (Sharp)
GradFunkMirror()
ColorMatrix()

Vincent Vega
7th November 2009, 16:24
hmm.. someone?

Inspector.Gadget
7th November 2009, 17:34
You expect help for obviously Rule 6 content in a thread started by a moderator about his own tools? Good grief.

Vincent Vega
7th November 2009, 18:19
i dont know.. if rule 6 content exposes what seems to be a serious bug in important piece of software, we just close an eye on that bug and leave it be? are you sure theres really nothing wrong with this logic?

Audionut
8th November 2009, 02:11
Doesn't matter. Rule 6 is there for a reason.

zn
8th November 2009, 19:46
Issue 1451: License violation by DGAVCDec - FFmpeg issue tracker (http://roundup.ffmpeg.org/roundup/ffmpeg/issue1451)

Guest
9th November 2009, 01:40
I point users to the version of ffdshow-tryout that I used and I offer the source code for the minor change I made and have provided it to several people on request. Those guys should save their outrage for people who deserve it.

Audionut
9th November 2009, 16:49
Indeed. They quote, "no source is provided.

Attached is the libavcodec.txt from the zip file. A similar message is
on the website." end quote.

And yet from the libavcodec.txt file that i've just downloaded and dated 25/02/08

"I have made a small modification to return a different version string to
manage compatibility issues. This modification is available on request."

Maybe there has been a reduction in shonky companies charging money for GPL rip-offs.
So they start attacking legitimate software.

Mr VacBob
9th November 2009, 17:30
The link in that file doesn't work and doesn't reference a specific file.

Although, if it is GPL, a written offer for the source of dgavcdec is fine. The LGPL doesn't allow a written offer or linking to someone else's hosting.

Guest
9th November 2009, 19:30
To resolve this matter, I have updated the distributable to include the libavcodec source code and my changes to it, rather than just offer it.

Guest
9th November 2009, 20:33
Now I am told that my minor modification to libavcodec is enough to prevent me from being able to just dynamically link to it without "infection". Therefore, I have temporarily withdrawn the program until the updated version I am working on is ready for release (there's no point to release code for an old buggy version). When the new version is ready I will release the source code for everything.

b66pak
24th November 2009, 19:42
here is a sample of a hard pulldown .h264 stream ( in .mp4)...dgavcindex return 25fps instead of 30000/1001...

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

here is my script for IVTC

AVCSource("sample.hard.pulldown_track1.dga")
#info()
tfm(order=1).tdecimate()
#crop
#resize
#denoise


how can i improve it to overcome this situation?
_

poisondeathray
24th November 2009, 19:53
here is a sample of a hard pulldown .h264 stream ( in .mp4)...dgavcindex return 25fps instead of 30000/1001...

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

here is my script for IVTC

AVCSource("sample.hard.pulldown_track1.dga")
#info()
tfm(order=1).tdecimate()
#crop
#resize
#denoise


how can i improve it to overcome this situation?
_

I haven't looked at this yet, but why don't you use assumefps?

AVCSource()
AssumeFPS(30000,1001)
TFM().TDecimate()

Or you can edit the .dga file for the frame rate

b66pak
24th November 2009, 20:04
AssumeFPS(30000,1001)

thanks a lot...
_

Guest
28th November 2009, 07:19
As DGAVCDec is withdrawn, this thread is now closed.