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

Reply
 
Thread Tools Search this Thread Display Modes
Old 12th December 2008, 17:47   #1  |  Link
schweinsz
Registered User
 
Join Date: Nov 2005
Posts: 497
DiAVC decoder, yet another fast H.264 high profile decoder

I am happy to anounce that the DiAVC, another high profile decoder is released.

http://www.di-avc.com/

The supported features:
I Slice, P Slice, B Slice
weighted_pred_flag = 0, 1
MBAFF and PAFF
Custom Quantization Matrix
CAVLC and CABAC
Deblocking Filter
Multi-reference frames
Direct_8x8_inference_flag = 1 or 0
IPCM
Constrained_intra_pred_flag = 1 or 0
transform 8x8 and 4x4
weighted_bipred_idc = 0,1,2
Multi-Core supporting

Limitations:
Need CPU with SSE2


The DiAVC alpha version includes DiAVC.ax and a tool named DiAVC Setting.exe to set the default H.264 decoder.

Last edited by schweinsz; 1st December 2009 at 11:41.
schweinsz is offline   Reply With Quote
Old 12th December 2008, 18:50   #2  |  Link
gswudi
Guest
 
Posts: n/a
Where can i get it?
  Reply With Quote
Old 12th December 2008, 18:55   #3  |  Link
_xxl
ffdshow user
 
_xxl's Avatar
 
Join Date: Oct 2005
Location: Romania
Posts: 818
Quote:
Multi-Core supporting
Are you using a frame level parallelism?
Open source?
_xxl is offline   Reply With Quote
Old 13th December 2008, 01:50   #4  |  Link
Guest
Guest
 
Join Date: Jan 2002
Posts: 21,901
The attachment contained a virus (win32/nsanti) and so was deleted. I give the benefit of the doubt this time. If it occurs again, you'll be banned, schweinsz.
Guest is offline   Reply With Quote
Old 13th December 2008, 06:48   #5  |  Link
schweinsz
Registered User
 
Join Date: Nov 2005
Posts: 497
Quote:
Originally Posted by neuron2 View Post
The attachment contained a virus (win32/nsanti) and so was deleted. I give the benefit of the doubt this time. If it occurs again, you'll be banned, schweinsz.
What is your anti-virus software? I use the McAfee and it never report virus. I have used some the self-modified code, junk code and code metmorphic to protect the software.

For example,

#define pushSrcDstAssign {__asm push dst __asm push src __asm push ptkn}
#define emitJunkByte4(a, b, c, d) { __asm _emit a __asm _emit b \
__asm _emit c __asm _emit d}

void assign_u32_adjst(PVOID dst, PVOID src)
{
u32 token = 1, *ptkn = &token;

if((unsigned int)dst > 0x100) goto pushdsttEd;
emitJunkByte4(0x80, 0xe8, 0xcc, 0xd4)

pushdsttEd:
pushSrcDstAssign

if((unsigned int)src < 0x80000000)
goto popdsttEd;
emitJunkByte4(0x78, 0x28, 0x34, 0x6e)

popdsttEd:
__asm int 2dh
__asm add esp, 12
}
schweinsz is offline   Reply With Quote
Old 13th December 2008, 07:06   #6  |  Link
schweinsz
Registered User
 
Join Date: Nov 2005
Posts: 497
Quote:
Originally Posted by schweinsz View Post
What is your anti-virus software? I use the McAfee and it never report virus. I have used some the self-modified code, junk code and code metmorphic to protect the software.

For example,

#define pushSrcDstAssign {__asm push dst __asm push src __asm push ptkn}
#define emitJunkByte4(a, b, c, d) { __asm _emit a __asm _emit b \
__asm _emit c __asm _emit d}

void assign_u32_adjst(PVOID dst, PVOID src)
{
u32 token = 1, *ptkn = &token;

if((unsigned int)dst > 0x100) goto pushdsttEd;
emitJunkByte4(0x80, 0xe8, 0xcc, 0xd4)

pushdsttEd:
pushSrcDstAssign

if((unsigned int)src < 0x80000000)
goto popdsttEd;
emitJunkByte4(0x78, 0x28, 0x34, 0x6e)

popdsttEd:
__asm int 2dh
__asm add esp, 12
}
Besides, the self-generated code is generated on the stack and then it is executed.
schweinsz is offline   Reply With Quote
Old 13th December 2008, 07:13   #7  |  Link
Dark Shikari
x264 developer
 
Dark Shikari's Avatar
 
Join Date: Sep 2005
Posts: 8,666
Quote:
Originally Posted by schweinsz View Post
Besides, the self-generated code is generated on the stack and then it is executed.
Code with an executable stack is inherently dangerous.

Self-modifying code doesn't actually protect the program, since it is trivial (read: takes me less than 5 minutes) to dump a program's memory. But its certainly a great excuse for enabling options that allow one to more easily hide viruses in a program.
Quote:
Originally Posted by schweinsz View Post
The throughput is about 19mbps with 50% CPU fullness (single thread on a dual-core CPU). Because the DiAVC's development is in early stage, there are many space to be optimized to get a faster decoder, such as the un-optimized MC, transform8x8 and CABAC decoding.
A decoder isn't fast because you say it's fast. It's fast because it is fast. What you described is not fast, it is in fact quite slow. Now, some day, it might be fast, but today it is not.
Dark Shikari is offline   Reply With Quote
Old 13th December 2008, 06:56   #8  |  Link
schweinsz
Registered User
 
Join Date: Nov 2005
Posts: 497
Quote:
Originally Posted by _xxl View Post
Are you using a frame level parallelism?
Open source?
Yes, I will use the fame level parallelism, but it will be finished after 1.5 week.
schweinsz is offline   Reply With Quote
Old 13th December 2008, 07:59   #9  |  Link
schweinsz
Registered User
 
Join Date: Nov 2005
Posts: 497
Quote:
Originally Posted by _xxl View Post
Are you using a frame level parallelism?
Open source?
I will open some critical algorithm I use in the DiAVC, but I will not open all source.
schweinsz is offline   Reply With Quote
Old 13th December 2008, 14:11   #10  |  Link
CruNcher
Registered User
 
CruNcher's Avatar
 
Join Date: Apr 2002
Location: Germany
Posts: 4,926
I find it funny schweinsz that you know you can't protect your software but still try it and create many interoperability problems (i would understand it though if you would provide that system) with that in the way, why not just give up and accept how it is ?, at least for the current Hardware architecture
The energy you invested into that lines for the extra protection are totaly lost in the end anyways and you knew it from the beginning so what did you win where is the sense behind this ?
__________________
all my compares are riddles so please try to decipher them yourselves :)

It is about Time

Join the Revolution NOW before it is to Late !

http://forum.doom9.org/showthread.php?t=168004

Last edited by CruNcher; 13th December 2008 at 14:19.
CruNcher is offline   Reply With Quote
Old 13th December 2008, 15:31   #11  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
"Protecting" your code only makes sense if you either...

(1) plan to sell your software commercially
(2) need to hide your algorithms from your antagonist (e.g. decryption software)
(3) want to hide malware in your software

In case (1) you could simply buy a license for one of the commercial executable protectors/obfuscators (e.g. ASProtect).
That still won't give a "safe" protection, of course. But I'm sure it will be at least as hard to crack as your own protection. And it saves you trouble/work.
Also since many (commercial) applications are protected with such tools, the chance that any A/V software will complain is very low.

Case (2) certainly doesn't apply to a H.264 decoder, so I have to speculate that we have a case (3) here...
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊

Last edited by LoRd_MuldeR; 13th December 2008 at 15:37.
LoRd_MuldeR is offline   Reply With Quote
Old 13th December 2008, 17:07   #12  |  Link
schweinsz
Registered User
 
Join Date: Nov 2005
Posts: 497
Quote:
Originally Posted by LoRd_MuldeR View Post
"Protecting" your code only makes sense if you either...

(1) plan to sell your software commercially
(2) need to hide your algorithms from your antagonist (e.g. decryption software)
(3) want to hide malware in your software

In case (1) you could simply buy a license for one of the commercial executable protectors/obfuscators (e.g. ASProtect).
That still won't give a "safe" protection, of course. But I'm sure it will be at least as hard to crack as your own protection. And it saves you trouble/work.
Also since many (commercial) applications are protected with such tools, the chance that any A/V software will complain is very low.

Case (2) certainly doesn't apply to a H.264 decoder, so I have to speculate that we have a case (3) here...
IMHO, commercial executable protectors/obfuscators what you recommend is bad. Themida is pretty good, but I have seen many themida-protected examples are cracked. The commercial protectors are researched deeply and a experieced cracker can crack it very easily. I am very familar with many kinds of anti-debug skills, so I do it myself and I can integrated it into the DiAVC closely. Then I protect some critical functions using the VMProtect.

I never hide some malwares in the DiAVC, I have engaged in the software for several months and I want to sell it online in future, I will never risk my business.
schweinsz is offline   Reply With Quote
Old 13th December 2008, 17:26   #13  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
Quote:
Originally Posted by schweinsz View Post
I never hide some malwares in the DiAVC
As long as you keep your codes in private and protect/obfuscate your binaries we can't prove that statement (easily).
But that applies to most commercial software...

Quote:
I have engaged in the software for several months and I want to sell it online in future, I will never risk my business.
So if your really plan to sell your software commercially, protection makes sense indeed.
But you should check your protected binaries at http://virustotal.com/ to avoid false positives and confusion.
Also I'd recommend to test your binaries with DEP enabled...
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊
LoRd_MuldeR is offline   Reply With Quote
Old 13th December 2008, 15:52   #14  |  Link
CruNcher
Registered User
 
CruNcher's Avatar
 
Join Date: Apr 2002
Location: Germany
Posts: 4,926
These "Protection" Software they sell is bogus you can always disassemble the code, it's just money making same for all the other Commercial Protection Systems like Securom ,StarForce and others they just ad another layer of "imaginative Protection" we don't talk about the normal usage scenarios though here that justifies (in the eyes of the creators) these rootkit like systems, we talk about protection added so nobody can RE his code but that is impossible with the current computer hardware, so the competition of him will know how to do it he can't protect it it's not logic. And yes for a guy that does Assembly Coding and a thing like a H.264 Decoder it's strange, though CoreAVC and others do it too and they also know what they do (or don't sometimes i have the feeling it just makes them feel better todo anything than nothing even if it's absolute useless) but i would never pay for this wannabe protection or protect @ all as it makes absolutely no sense if someone wants to RE it he can as long as it's executed it can't be protected on current computer Hardware.
__________________
all my compares are riddles so please try to decipher them yourselves :)

It is about Time

Join the Revolution NOW before it is to Late !

http://forum.doom9.org/showthread.php?t=168004

Last edited by CruNcher; 13th December 2008 at 15:56.
CruNcher is offline   Reply With Quote
Old 13th December 2008, 15:54   #15  |  Link
Guest
Guest
 
Join Date: Jan 2002
Posts: 21,901
Let's stay on topic, please.
Guest is offline   Reply With Quote
Old 13th December 2008, 18:29   #16  |  Link
CruNcher
Registered User
 
CruNcher's Avatar
 
Join Date: Apr 2002
Location: Germany
Posts: 4,926
Quote:
Originally Posted by LoRd_MuldeR View Post
As long as you keep your codes in private and protect/obfuscate your binaries we can't prove that statement (easily).
But that applies to most commercial software...

So if your really plan to sell your software commercially, protection makes sense indeed.
But you should check your protected binaries at http://virustotal.com/ to avoid false positives and confusion.
Also I'd recommend to test your binaries with DEP enabled...
Imho it makes 0 sense and just highers his costs without any usefulness.
VMProtect is also another of these security layers that's imho useless, but yeah Virtualization the new Buzzword so i need it
Btw there is more then DEP they're lot of 3rd Party behavioral analyzers some of them will also go into alert mode but he's gonna see that from his customers feedback soon enough, you just run after something which can't exist on current hardware and that as a knowledgeable person is highly non logic
Though how he writes shows what his main intention is "Business" so good luck vs your competition especially CoreCodec and DivX you should have joined ffmpeg and invest your potential energy into there then to waste it like this schweinsz (it's never to late ), of course that's your personal decision, nevertheless i wish you good luck and im out.
Don't want to be responsible if Donald get's a heart attack, sometimes going of topic is unavoidable especially as in this case the thread starter is promoting something so i assumed he's also interested in general ideas and views about his future Software Product (from his Potential Con/Pro Customers)
__________________
all my compares are riddles so please try to decipher them yourselves :)

It is about Time

Join the Revolution NOW before it is to Late !

http://forum.doom9.org/showthread.php?t=168004

Last edited by CruNcher; 13th December 2008 at 19:09.
CruNcher is offline   Reply With Quote
Old 13th December 2008, 23:41   #17  |  Link
Atak_Snajpera
RipBot264 author
 
Atak_Snajpera's Avatar
 
Join Date: May 2006
Location: Poland
Posts: 7,806
if very efficient Divx h.264 decoder will be released for free I see no reason to pay for DiAVC or coreavc. You won't earn to much money.
Atak_Snajpera is offline   Reply With Quote
Old 13th December 2008, 23:52   #18  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
Quote:
Originally Posted by Atak_Snajpera View Post
if very efficient Divx h.264 decoder will be released for free I see no reason to pay for DiAVC or coreavc. You won't earn to much money.
And don't forget that ffmpeg-MT and ffdshow-MT are on the way! So hopefully we won't need any commercial ClosedSource H.264 decoder at all

On my system ffdshow-MT already achieves ~80% of the throughput of DivX's H.264 decoder:
http://forum.doom9.org/showpost.php?...0&postcount=34

That's definitely fast enough for smooth real-time 1080p playback with pure software decoding. What do we want more?
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊
LoRd_MuldeR is offline   Reply With Quote
Old 13th December 2008, 23:58   #19  |  Link
Atak_Snajpera
RipBot264 author
 
Atak_Snajpera's Avatar
 
Join Date: May 2006
Location: Poland
Posts: 7,806
Quote:
On my system ffdshow-MT already achieves ~80% of the throughput of DivX's H.264 decoder:
http://forum.doom9.org/showpost.php?...0&postcount=34

That's definitely fast enough for smooth real-time 1080p playback with pure software decoding. What do we want more?
Good news! I always prefer ffdshow less decoders in system = less problems
Atak_Snajpera is offline   Reply With Quote
Old 14th December 2008, 00:33   #20  |  Link
ChronoCross
Does it really matter?
 
ChronoCross's Avatar
 
Join Date: Jun 2004
Location: Chicago, IL
Posts: 1,542
I think I'll pass on a decoder that seems to have no actual benefit other than to possibly hide malware. Besides CoreAVC already works quite well for me, is professionally written, support, has a website that actually contains more than an archive and doesn't send my virus scanning program into a panic attack.

Anyway good luck but your pretty much just wasting your time.
ChronoCross is offline   Reply With Quote
Reply

Tags
avc, diavc, fastest decoder, h.264, software

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 18:32.


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