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

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.

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.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.

Probably I have a bad core duo cpu, I ever tested the DiAVC on my friend's laptop and found that the DiAVC is faster on a Pentium M 1.73GHz than it is on a core duo CPU of 1.86GHz now. You can try it on your CPU. besides, I use the coreavc to play a movie with H.264 bitstream of 4Mbps, and I found the CPU fullness is more than 70%.

Do i understand you correctly: you say that DiAVC is 5 times faster than coreavc on a single processor machine - 19Mbit/s vs. 4 MBit/s?

That would be impressive.

But i remain sceptical and do not like the code-obfuscation. What are you trying to protect? Optimizations to well known-algorithms?
Are you really sure you did not use any open source? Without insinuating anything: Are you aware that the two major reasons for obfuscation are hiding viruses/trojans and/or hiding open-source origin? There are other and better ways to protect intellectual property.

To me it doesn't make sense and i will not beta test an obfuscated program.

Do i understand you correctly: you say that DiAVC is 5 times faster than coreavc on a single processor machine - 19Mbit/s vs. 4 MBit/s?

That would be impressive.

But i remain sceptical and do not like the code-obfuscation. What are you trying to protect? Optimizations to well known-algorithms?
Are you really sure you did not use any open source? Without insinuating anything: Are you aware that the two major reasons for obfuscation are hiding viruses/trojans and/or hiding open-source origin? There are other and better ways to protect intellectual property.

To me it doesn't make sense and i will not beta test an obfuscated program.

regards,
Casshern

No, I never mean that the DiAVC is 5 times faster than the coreavc. The 19Mbps is tested using the bitstream of resolution 1280x720 generated by JM13.0 using the CABAC and Hierarchical B frames. But the 4Mbps bistream is downloaded from the internet and It is 1920x1088 and I dont know the detail about it. The 70% CPU fullness includes the audio decoding, video decoding and rendering.

I never use any open source in the DiAVC. The code-obfuscation
is to hide the anti-debug "int 2dh". I never insert virus in the DiAVC because I want to sell it online in future.

(Well, OK, so I saw an iDCT that didn't look too awful, but that's about it...)

Yes, you are right. I code the motion compensation, IDCT and the deblocking filter using the intrinsic functions (http://msdn.microsoft.com/en-us/libr...3a(VS.80).aspx) and compile it using the VC 2008. I have found it very bad and I will code it using the pure assembly code in future.

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 :)