digitalFAQ.com Forums [Archives]

digitalFAQ.com Forums [Archives] (http://www.digitalfaq.com/archives/)
-   Video Encoding and Conversion (http://www.digitalfaq.com/archives/encode/)
-   -   new tool Kutter (http://www.digitalfaq.com/archives/encode/13779-tool-kutter.html)

kwag 09-04-2005 06:14 PM

Quote:

Originally Posted by rds_correia
Today I'm encoding.

Ahhhh, that fresh (off the oven) encoding feeling :lol:

-kwag

rds_correia 09-04-2005 07:01 PM

What? Can you smell it from over there in PR? :mrgreen:

kwag 09-04-2005 07:17 PM

Quote:

Originally Posted by rds_correia
What? Can you smell it from over there in PR? :mrgreen:

No, but the lights here are dimming constantly, every time your computer array seeks to a new CD sector encoding a new block :mrgreen: :lol:

-kwag

danpos 09-04-2005 09:57 PM

Kudos!
 
@Kwag

I've tested Kutter out with a VOB of 1 GB from Harry Potter I, where I'd wanna split files about 100 MB. The app done the job with precision and quickness.

Kudos,

kwag 09-04-2005 10:03 PM

Thanks danpos :)
All feedbacks are always welcome :cool:

-kwag

incredible 09-16-2005 05:58 AM

@ Karl

The LongLong issue can be solved uing a simple strucure!

Structure int64
LongHi.l
LongLow.l
EndStructure


Amount.int64

APIFunction(@Amount)

This makes you able to use for example an API function which does apply the result of a big filesize for instance to the variable "Amount".
BUT that int64 imho is unsigned, so watch out.

In case if a DirectShow usage for instance in PB this is the trick:
Code:

Structure int64
  hi.l
  lo.l
EndStructure

time.int64

errorcode.l = IMediaSeeking\GetDuration(@time)

if errorcode > 0
  Debug Str(time\hi) + " * 2^32  * 100ns duration PLUS"
  Debug Str(time\lo) + " * 100ns duration"
else
  Debug "No Media Duration value can be received"
endif

Uint64 Library can be found here within this package:
http://pbosl.purearea.net/pbosl_win.zip

Including:

Code:

UInt64_ulong2uint64  load 32-bit unsigned long into 64-bit unsigned integer 64

UInt64_add    unsigned integer 64: addition

UInt64_sub    unsigned integer 64: subtraction

UInt64_mul    unsigned integer 64: multiplication

UInt64_div    unsigned integer 64: division

UInt64_mod    unsigned integer 64: modulo

UInt64_cmp    unsigned integer 64: compare

UInt64_str    unsigned integer 64 to String

UInt64_val    String to unsigned integer 64

or as open source procedures:
http://www.purearea.net/pb/CodeArchi...Longs_64Bit.pb

kwag 09-16-2005 11:50 AM

Hi Andrej,

Thanks for the code.
This is all fine for memory structures, but there's no (simple) way to read from a file past the 2GB limit, unless I use Win32 API in another way.
The problem is when you try to read past a file pointer boundary of 2GB.
All I/O calls ( ReadFile, LOF, ReadData, etc. ) work on Long, and will never return data past the limit. So the only solution is to use Win32 API calls, and then rewrite all file seeking/accesing routines, because the built in functions on PB won't work.
I'm considering rewriting the utility in C, just for the hell of it :lol:
Then when PB gets updated, I'll recompile it again in PB :cool:
I'll probably recode Kutter! in C in a matter of hours ;)

-kwag


All times are GMT -5. The time now is 11:56 AM  —  vBulletin © Jelsoft Enterprises Ltd

Site design, images and content © 2002-2024 The Digital FAQ, www.digitalFAQ.com
Forum Software by vBulletin · Copyright © 2024 Jelsoft Enterprises Ltd.