Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Video Encoding > MPEG-4 AVC / H.264

Closed Thread
 
Thread Tools Search this Thread Display Modes
Old 23rd February 2007, 01:45   #1  |  Link
Guest
Guest
 
Join Date: Jan 2002
Posts: 21,901
DGAVCDec 1.0.9

I have created an Avisynth source filter for AVC/H.264 streams. I would appreciate feedback and suggestions for the most important features to add. At this point it is fast and reliable but limited in functionality. I need your guidance to prioritize future work. I also ask to be notified about any streams that are problematic with DGAVCDec.

Please read the help file carefully, especially the part about DLL loading.

Thanks to Michael Niedermayer for helping me to understand low-level accessing of libavcodec.

Last edited by Guest; 5th September 2010 at 22:30.
Guest is offline  
Old 23rd February 2007, 03:06   #2  |  Link
Guest
Guest
 
Join Date: Jan 2002
Posts: 21,901
I had a bad version up there for a while. If you get a stack overflow, please re-download.

Why do people make streams with 500-frame GOPs?
Guest is offline  
Old 23rd February 2007, 03:47   #3  |  Link
akupenguin
x264 developer
 
akupenguin's Avatar
 
Join Date: Sep 2004
Posts: 2,392
Because they don't seek very often, so a fraction of a % bitrate is worth adding a few cpu-seconds to the seek cost.
Because movies have some 500-frame scenes, and it looks bad to put an I-frame in the middle of a scene (if the encode isn't already transparent quality).
akupenguin is offline  
Old 23rd February 2007, 03:57   #4  |  Link
cacepi
Just as bad up as down.
 
Join Date: Nov 2005
Posts: 166
Quote:
Originally Posted by neuron2 View Post
Please read the help file carefully, especially the part about DLL loading.
Avisynth open failure:
LoadPlugin: Unable to load "C:\Program Files\AviSynth\plugins\DGAVCDecode.dll"

AviSynth script (2.5.7) on Windows XP SP2:

Code:
LoadPlugin("C:\Program Files\AviSynth\plugins\DGAVCDecode.dll")

AVCSource("C:\Projects\Test\07OP_track1.dga")
All the dlls are under AviSynth's load path, and commenting out LoadPlugin() gives the same error message. Directly loading all the dlls in the script don't seem to help either. What am I doing wrong?

Last edited by cacepi; 23rd February 2007 at 04:00.
cacepi is offline  
Old 23rd February 2007, 05:15   #5  |  Link
check
phjbdpcrjlj2sb3h
 
check's Avatar
 
Join Date: Sep 2005
Location: Western Australia
Posts: 1,691
It seems to break when the path length is >256chars

Very nice plugin though, I am looking forward to using it for real encodes
check is offline  
Old 23rd February 2007, 13:27   #6  |  Link
Hans Ohlo
Registered User
 
Hans Ohlo's Avatar
 
Join Date: Apr 2003
Posts: 123
if it is based on libavcodec, paff decoding is not implemented (just mentioning this).
Hans Ohlo is offline  
Old 23rd February 2007, 14:25   #7  |  Link
Guest
Guest
 
Join Date: Jan 2002
Posts: 21,901
Quote:
Originally Posted by cacepi View Post
Avisynth open failure:
LoadPlugin: Unable to load "C:\Program Files\AviSynth\plugins\DGAVCDecode.dll"

AviSynth script (2.5.7) on Windows XP SP2:

Code:
LoadPlugin("C:\Program Files\AviSynth\plugins\DGAVCDecode.dll")

AVCSource("C:\Projects\Test\07OP_track1.dga")
All the dlls are under AviSynth's load path, and commenting out LoadPlugin() gives the same error message. Directly loading all the dlls in the script don't seem to help either. What am I doing wrong?
I don't know what you mean by "Avisynth's load path". You have to follow Windows DLL loading rules. Try putting them in the same directory as DGAVCDecode.dll or even Windows/System32.

You can't load these DLLs with LoadPlugin.

Last edited by Guest; 23rd February 2007 at 14:34.
Guest is offline  
Old 23rd February 2007, 14:27   #8  |  Link
Guest
Guest
 
Join Date: Jan 2002
Posts: 21,901
Quote:
Originally Posted by check View Post
It seems to break when the path length is >256chars
Stupid Windows Platform SDK. I'll fix that. Thank you for pointing it out.

Last edited by Guest; 23rd February 2007 at 14:35.
Guest is offline  
Old 23rd February 2007, 14:37   #9  |  Link
holzi
Registered User
 
Join Date: Jun 2006
Posts: 47
the plugin loaded once for me then I too get can't load plugin.
And I seem to have decoding problems. I think or I did mess up with mkvextract or I hit a b-frame or something not that good in this stuff
Anyway it's a x264 encoding so some features of x264 are not implementet in libavcodec yet or something


Edit ok just checked using DirectShowSource and that decodes fine. So I guess it's a decoding problem.
Runtine is wrong too.


Last edited by holzi; 23rd February 2007 at 14:49.
holzi is offline  
Old 23rd February 2007, 14:44   #10  |  Link
Guest
Guest
 
Join Date: Jan 2002
Posts: 21,901
Quote:
Originally Posted by holzi View Post
the plugin loaded once for me then I too get can't load plugin.
Where did you put the DLLs and where did you put the plugin itself?

Quote:
And I seem to have decoding problems.
Please post a link to a fragment of the .264 stream.
Guest is offline  
Old 23rd February 2007, 14:54   #11  |  Link
holzi
Registered User
 
Join Date: Jun 2006
Posts: 47
Quote:
Originally Posted by neuron2 View Post
Where did you put the DLLs and where did you put the plugin itself?

Please post a link to a fragment of the .264 stream.
I put everything in the avisynth plugin directory.

http://archiv.to/?Module=Details&Has...E45DF328C22BB7
I don't know how to split raw x264 files. So I uploaded a mkv. I guess mkvextract just dosn't extract it right or something. But I don't know anything else right now do extract the video stream.

Last edited by holzi; 23rd February 2007 at 14:59.
holzi is offline  
Old 23rd February 2007, 14:58   #12  |  Link
unskinnyboy
Registered User
 
unskinnyboy's Avatar
 
Join Date: Feb 2004
Location: NTSC R1
Posts: 2,046
Great stuff, DG! Works fine with the test files supplied. Will test with other stuff later and report bugs, if any.
__________________
unskinnyboy is offline  
Old 23rd February 2007, 15:04   #13  |  Link
Guest
Guest
 
Join Date: Jan 2002
Posts: 21,901
Quote:
Originally Posted by holzi View Post
I put everything in the avisynth plugin directory.
Take them out of there and put them in /Windows/System32. In the next beta, I will improve things in that regard.

Quote:
I'm uploading a sample right now.
Thank you.
Guest is offline  
Old 23rd February 2007, 15:07   #14  |  Link
Guest
Guest
 
Join Date: Jan 2002
Posts: 21,901
Quote:
Originally Posted by holzi View Post
http://archiv.to/?Module=Details&Has...E45DF328C22BB7
I don't know how to split raw x264 files. So I uploaded a mkv. I guess mkvextract just dosn't extract it right or something. But I don't know anything else right now do extract the video stream.
I don't have mkvextract. But I don't get it...if you can upload the MKV, why can't you upload the 264 extracted from it?
Guest is offline  
Old 23rd February 2007, 15:10   #15  |  Link
holzi
Registered User
 
Join Date: Jun 2006
Posts: 47
Quote:
Originally Posted by neuron2 View Post
I don't have mkvextract. But I don't get it...if you can upload the MKV, why can't you upload the 264 extracted from it?
The orginal is 50MB that's a little to big.
Give me a hint how to make a segment of the x264.
And I will upload that too
holzi is offline  
Old 23rd February 2007, 15:11   #16  |  Link
Guest
Guest
 
Join Date: Jan 2002
Posts: 21,901
Can't you just extract the 264 from the MKV you uploaded?
Guest is offline  
Old 23rd February 2007, 15:15   #17  |  Link
holzi
Registered User
 
Join Date: Jun 2006
Posts: 47
har har of cause I can Should get some sleep
Just one moment:
Here you go: http://archiv.to/?Module=Details&Has...E45DF3796A66A0

Last edited by holzi; 23rd February 2007 at 15:19.
holzi is offline  
Old 23rd February 2007, 15:19   #18  |  Link
Zarxrax
Registered User
 
Join Date: Dec 2001
Posts: 1,223
neuron2, I love you
I'll start testing this a lot this weekend!
Zarxrax is offline  
Old 23rd February 2007, 15:29   #19  |  Link
Guest
Guest
 
Join Date: Jan 2002
Posts: 21,901
Quote:
Originally Posted by holzi View Post
har har of cause I can
Thanks. I have it and have duplicated the issue. Obviously, I haven't done all my homework on H.264. I don't know why the DGA file shows multiple pictures with the same POC. I'll review the H.264 specs and try to figure this out tonight.

EDIT: Had a quick look but have to go to work now. There are SEI NALUs before each picture slice. My implementation doesn't inject the SEIs into the decoder. I assume that is the problem and it can be fixed easily. I'll be curious tonight to see what is in those SEIs.

Last edited by Guest; 23rd February 2007 at 15:39.
Guest is offline  
Old 23rd February 2007, 20:00   #20  |  Link
Kurth
Registered User
 
Kurth's Avatar
 
Join Date: Mar 2006
Posts: 51
Well I copied the files:

avcodec-51.dll, avformat-51.dll and avutil-49.dll to C:\windows\system32

DGAVCDecode.dll to C:\Program Files\AviSynth 2.5\plugins

And the plugin load without any problems.

But I got some problems with files that dont have a MOD 16 resolution and files that was encoded with more than 1 slice.

Video with non mod 16 resolution
http://img152.imageshack.us/img152/1587/video01bh7.jpg

Video decoding error with AVCSource on a non mod 16 resolution
http://img152.imageshack.us/img152/2619/error01rw9.jpg

Raw 264 file download of the non mod 16 resolution file
http://www.mytempdir.com/1228817

Video encoded with two slices
http://img152.imageshack.us/img152/104/video02vh7.jpg

Video decoding error with AVCSource on a file encoded with two slices
http://img81.imageshack.us/img81/2011/error02do9.jpg

Raw 264 file download of the file encoded with two slices
http://www.mytempdir.com/1228821

Thank you very much for this AVCSource filter it is really more fast to decode H264 streams than using DirectShowSource. This filter just need some little fixes to work perfectly ^_^
Kurth is offline  
Closed Thread

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 06:11.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.