Log in

View Full Version : DGAVCDec 1.0.9


Pages : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 [23] 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39

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!