digitalFAQ.com Forums [Archives]

digitalFAQ.com Forums [Archives] (http://www.digitalfaq.com/archives/)
-   Avisynth Scripting (http://www.digitalfaq.com/archives/avisynth/)
-   -   Nice CCE Prediction finally on the first view (http://www.digitalfaq.com/archives/avisynth/7760-nice-cce-prediction.html)

incredible 01-19-2004 02:45 AM

Nice CCE Prediction finally on the first view
 
Maybe we should check this out as it could be a new way to do prediction using CCE in case of KDVDs. Looks very promising.

http://forum.doom9.org/showthread.php?s=&threadid=68527

Its the original appl. of jonny.

Greets
Inc.

Dialhot 01-19-2004 05:21 AM

Just a little question : I did only two KDVD and I used for that the very simple "manual prediction" described in VMesquita guide (number of frames / numbers of minutes / GOP length = size of the sample).

I reach a Q value in 3 or 4 sample tests and the final videos were right in the target.

So I do not understand : was I lucky with these two KDVD ? Or perhaps the goal of the tool is just to make the research automatically ?

incredible 01-19-2004 07:33 AM

Well the Goal should be that this tool in the link above does it all automatically .... it seems to me that it uses the same logic as Roba-Method ... which I exactly don't know as I'm not in DVD2SVCD.
But tonight I do my deep-tests on jonny's Qcce program. ;-)

Until now in case of manual predicted Q archieving I only used my Slicer() routine which on almost 50 CCE encodings (incl. Tests and diff. real encodings) gave me perfect results as it deals with offset setted-turns.

But many people do the KDVD way using the excellent Guide of VMesquita, so I don't know if you dealed with Luck or not.

Greets
Inc.

incredible 01-19-2004 03:24 PM

I'm doing the first try, .... very understandable appearance!

Matrixes are no problem as you can just use the values of the tmpgEnc.ini file where all matrix values are stored.
Just open the Qcce appl. and safe the std. Matrix as .txt, after this just open the txt file and change the decimal matrixes values with the KVCD ones from TmpgEnc.ini. and safe it in the same matrixes folder of Qcce as for example KVCD.txt thats all.

As I see you can also just safe a whole setup :arrow: NICE!
I just have to wait for my first encode - an 95min AVS source AVI frameserved, time estim. for encoding ca. 1h - and I'll let you know.
If it works I can provide a setup for KVCD file ready to load in Qcce --- well if it works that easy as I think, but it should be so.

----------------------- First encode after using Qcce -----------------------

RESULT: 40MBs below wanted filesize including audio on a final target size of ca. 1,34 GB :arrow: Nice!!

I mailed Jonny that he maybe could integrate that PingPong Offset turns within the prediction process like my Slicer() doeas and pointed him to the latest PingPong vs. LongShort prediction thread where everything is explained. Maybe he likes it and thinks about an integration of this logic to his code of Qcce. That could give even more accurate results.

---------------------------------------------------------------------------------

incredible 01-19-2004 05:03 PM

An explanation (In my workout I did use Qcce in combination with CCE 2.67.00.11) :

As said above get the appl. here:
http://forum.doom9.org/showthread.php?s=&threadid=68527

You also need the ECLcce, get it here:
http://forum.doom9.org/showthread.php?s=&threadid=46664

I just ported the Notch to use with Qcce just load the KVCD_Notch.txt Matrix file frome - HERE- .
(safe it directly (use right mouse tab and "safe link as") to the Matrices folder of Qcce ... by this you can choose the Notch in Qcce later)

1. Run Qcce
2. Enter the PAth to EClcce.exe
3. at "Q" just enter your min and max bitrates
4. Quality (Quantisizer Characteristics) should be 14-16 depends on the bitrate, I always use 14 at our lower bitrates
5. DC speaks for itself ans should be at 8
6. AR, ok choose your encoding 4:3 = non anamoprh, 16:9 = anamorph
7. At interlaced you choose Pff in case of progressive Sources, means NON combed sources like 23.976 or 25pal non interlaced
8. Uff means if you want to encode UpperField first, check this if you like to
9. BSO means the scan order of the Matrix! zz=ZIGZAG, means progressive scan for progressive encodings, alt= alternate scan for alternate encodings (in that case you need the reordered INTERLACED version from Kwags NOTCH!)
10 FR= Framerate, which speaks for itself
11. Mode: Switch to Q find and at MB you enter the calculated needed size of your final video stream excluding the audio! which will be added after encoding, so watch out. At "%" enter 2% as how much of the whole movie will be predictionned (like CQmatics X factor) "minQ" can be 5 and "maxQ" can be 50 depends on how low you let the quality go ...this will be the range where final Prediction will be allowed.. also check "Encode"

12. Do load your Avsiynth script in the Middle of the Window, resize the whole applications windowframe to the right and you'll see the matrices etc. also the safed settings.
13. Upper left go under "matrices" and load the KVCD_Notch.txt matrix you downloaded above.
14. determine the location where the outputs will be safed upper left.
15. Go upper left under "Settings" and safe these settings as KVCD.
16. Below right do hit "New Job" and all your settings will be added to the batch list.
17. Do hit "start all jobs" and the process starts.

Thats all.

By using step 15., in the future all your settings will be avaiable again, just choose your KVCD safed settings in the very right frame of the resized applications window.

Nice appl. done by Jonny! Thanks!

PS: If you did encode a 23.976 ntsc film video stream you need to run on that stream Pulldown.exe to apply the Pulldownflag!

Racer99 01-19-2004 07:24 PM

Problem!
 
I get an error upon hitting the start all jobs button.

An error dialog box come up and says:

Code:

Perl Command Line Interpreter has encountered a problem and needs to close:

AppName: qcce.exe        AppVer: 5.8.0.804        ModName: unknown
ModVer: 0.0.0.0        Offset: 05d01e20

Any Suggestions?

Here is my avs script.
Code:


## Defined Variables and Constants ##
#
MaxTreshold = 1.50
#nf =  0 # Current frame.
#
####

## Main section and static filters ###
#
#ConvertToYV12()
Mpeg2Source("E:\zzzzz\zzzzz.d2v",cpu=4,iPP=true,idct=5)
#
undot()
Limiter()
asharp(1, 4)
BicubicResize(672, 448, 0, 0.6, 0, 0, 720, 480)
STMedianFilter(3, 3, 1, 1 )
MergeChroma(blur(MaxTreshold))
#MergeLuma(blur(0.1))
#
#

## Linear Motion Adaptive Filtering ##
#
# ( Portions from AviSynth's manual ) - This will apply temporalsoften to
# very static scenes, and apply variable blur on moving scenes.
# We also assign a variable - and this is why a line break is inserted:

ScriptClip(" nf = YDifferenceToNext()" +chr(13)+ "unfilter( -(fmin(round(nf)*2, 100)), -(fmin(round(nf)*2, 100)) ).TemporalSoften( fmin( round(2/nf), 6), round(1/nf) , round(3/nf) , 1, 1)  ")

#
#
#

AddBorders(16, 16, 16, 16)
#LetterBox( Your_Values_Here ) # Depends on situation. Use MovieStacker!
Limiter()

#
#
## Functions ###

function fmin( int f1, int f2) {
  return ( f1<f2 ) ? f1 : f2
}
 
#
####
converttoyuy2()

Racer99

incredible 01-20-2004 02:17 AM

Hi Racer as this appl. is by jonny programed in pearl, you should contact him at the doom9.link above.
I did not get that kind of error :?

But do one test with just a simple resizing script, but the MA I think that shouldn't be the reason

Racer99 01-20-2004 07:16 AM

Thx Inc.

I'm pretty sure it's not the MA script. I stripped it down to the bare minimum (source and resize). I also tried using both mpegdec2 and mpegdec3. No go. I'm having a similar problem with BatchCCEWS with scripts. I tried re-installing avisynth, still no good. The scripts work fine in TMPGEnc and CCE by themselves.

Racer

incredible 01-20-2004 07:23 AM

Did you got the latest apps. from the links above? (Qcce and of course the actual ECLcce?).

As I'm not that in Pearl, maybe someone else in here who is in that could give you a suggestion. What system are you running ... ?
I use WIN2000.

Racer99 01-20-2004 07:28 AM

Yes I got them from the download links above.

I am running it on WindowsXP Pro (SP1) with CCE 2.67.00.23. Avisynth 2.53. P4 3.0 Ghz, 1024MB Ram, 500 GB on 5 Hard Drives, ATI Radeon 9700 Pro, etc...

jonny 01-21-2004 06:34 PM

Really strange (never seen something like this before)

What happen if, after loading the AviSynth script, you hit the Test button?
What happen if, after filling all the settings, you run:
"EclCCE" > "Save ecl + run EclCCE" (via menu)

strange 8O

incredible 01-21-2004 06:38 PM

Jonny, nice to see you in here and welcome! :)

jonny 01-21-2004 06:42 PM

Thanks!
:D

EDIT: thanks above and below!!!

kwag 01-21-2004 06:45 PM

Welcome jonny :D

-kwag

Racer99 01-21-2004 09:35 PM

Here is the XP error log. Don't know if it will help. If anyone can shed a light on my problem, much appreciation. FYI I do have it working on another system running XP also. I think it's a memory allocation issue.

Racer99

Code:

<?xml version="1.0" encoding="UTF-16"?>
<DATABASE>
<EXE NAME="qcce.exe" FILTER="GRABMI_FILTER_PRIVACY">
    <MATCHING_FILE NAME="Base64.dll" SIZE="20558" CHECKSUM="0x10BE5BF3" MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" LINKER_VERSION="0x0" LINK_DATE="03/31/2003 08:50:19" UPTO_LINK_DATE="03/31/2003 08:50:19" />
    <MATCHING_FILE NAME="codec.dll" SIZE="20567" CHECKSUM="0xB2A6E48E" MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" LINKER_VERSION="0x0" LINK_DATE="11/08/2003 17:23:04" UPTO_LINK_DATE="11/08/2003 17:23:04" />
    <MATCHING_FILE NAME="Cwd.dll" SIZE="20547" CHECKSUM="0xF4FC3077" MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" LINKER_VERSION="0x0" LINK_DATE="03/31/2003 08:47:38" UPTO_LINK_DATE="03/31/2003 08:47:38" />
    <MATCHING_FILE NAME="EclCCE.dll" SIZE="212992" CHECKSUM="0xB4AF1B4A" BIN_FILE_VERSION="2.67.0.23" BIN_PRODUCT_VERSION="2.67.0.23" PRODUCT_VERSION="1.7b" FILE_DESCRIPTION="EclCCE - ECL support for CCE 2.66+ trial" COMPANY_NAME="RB" PRODUCT_NAME="EclCCE" FILE_VERSION="1.7b" ORIGINAL_FILENAME="EclCCE.dll" INTERNAL_NAME="EclCCE" LEGAL_COPYRIGHT="Copyright © 2003 RB" VERFILEDATEHI="0x0" VERFILEDATELO="0x0" VERFILEOS="0x40004" VERFILETYPE="0x2" MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" LINKER_VERSION="0x0" UPTO_BIN_FILE_VERSION="2.67.0.23" UPTO_BIN_PRODUCT_VERSION="2.67.0.23" LINK_DATE="12/17/2003 15:05:09" UPTO_LINK_DATE="12/17/2003 15:05:09" VER_LANGUAGE="English (United States) [0x409]" />
    <MATCHING_FILE NAME="EclCCE.exe" SIZE="53248" CHECKSUM="0x93616EDA" BIN_FILE_VERSION="2.67.0.23" BIN_PRODUCT_VERSION="2.67.0.23" PRODUCT_VERSION="1.7b" FILE_DESCRIPTION="EclCCE - ECL support for CCE 2.66+ trial" COMPANY_NAME="RB" PRODUCT_NAME="EclCCE" FILE_VERSION="1.7b" ORIGINAL_FILENAME="EclCCE.exe" INTERNAL_NAME="EclCCE" LEGAL_COPYRIGHT="Copyright © 2003 RB" VERFILEDATEHI="0x0" VERFILEDATELO="0x0" VERFILEOS="0x40004" VERFILETYPE="0x1" MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" LINKER_VERSION="0x0" UPTO_BIN_FILE_VERSION="2.67.0.23" UPTO_BIN_PRODUCT_VERSION="2.67.0.23" LINK_DATE="12/17/2003 15:05:12" UPTO_LINK_DATE="12/17/2003 15:05:12" VER_LANGUAGE="English (United States) [0x409]" />
    <MATCHING_FILE NAME="Entry.dll" SIZE="32854" CHECKSUM="0xF5B165EA" MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" LINKER_VERSION="0x0" LINK_DATE="03/31/2003 09:00:03" UPTO_LINK_DATE="03/31/2003 09:00:03" />
    <MATCHING_FILE NAME="Event.dll" SIZE="49238" CHECKSUM="0xC2FD3287" MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" LINKER_VERSION="0x0" LINK_DATE="03/31/2003 08:59:57" UPTO_LINK_DATE="03/31/2003 08:59:57" />
    <MATCHING_FILE NAME="IPC.dll" SIZE="24667" CHECKSUM="0x73B04228" MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" LINKER_VERSION="0x0" LINK_DATE="03/31/2003 08:52:41" UPTO_LINK_DATE="03/31/2003 08:52:41" />
    <MATCHING_FILE NAME="Listbox.dll" SIZE="28762" CHECKSUM="0xDC198F92" MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" LINKER_VERSION="0x0" LINK_DATE="03/31/2003 08:59:29" UPTO_LINK_DATE="03/31/2003 08:59:29" />
    <MATCHING_FILE NAME="MD5.dll" SIZE="24650" CHECKSUM="0xDBC534A7" MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" LINKER_VERSION="0x0" LINK_DATE="03/31/2003 08:48:16" UPTO_LINK_DATE="03/31/2003 08:48:16" />
    <MATCHING_FILE NAME="Menubutton.dll" SIZE="24672" CHECKSUM="0x68BD0A83" MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" LINKER_VERSION="0x0" LINK_DATE="03/31/2003 08:59:23" UPTO_LINK_DATE="03/31/2003 08:59:23" />
    <MATCHING_FILE NAME="Mutex.dll" SIZE="20575" CHECKSUM="0x9C2D1092" MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" LINKER_VERSION="0x0" LINK_DATE="03/31/2003 08:52:51" UPTO_LINK_DATE="03/31/2003 08:52:51" />
    <MATCHING_FILE NAME="p2x580.dll" SIZE="765952" CHECKSUM="0xF7A3F80B" BIN_FILE_VERSION="5.8.0.804" BIN_PRODUCT_VERSION="5.8.0.804" PRODUCT_VERSION="Build 2003.01" FILE_DESCRIPTION="Perl Interpreter" COMPANY_NAME="IndigoSTAR Software." PRODUCT_NAME="IndigoPerl" FILE_VERSION="5,8,0,804" ORIGINAL_FILENAME="Perl58.dll" INTERNAL_NAME="Perl58.dll" LEGAL_COPYRIGHT="Copyright 1987-2001, Larry Wall, Binary build by IndigoSTAR Software, http://www.indigostar.com" VERFILEDATEHI="0x0" VERFILEDATELO="0x0" VERFILEOS="0x40004" VERFILETYPE="0x2" MODULE_TYPE="WIN32" PE_CHECKSUM="0xC5F70" LINKER_VERSION="0x0" UPTO_BIN_FILE_VERSION="5.8.0.804" UPTO_BIN_PRODUCT_VERSION="5.8.0.804" LINK_DATE="07/05/2003 19:28:22" UPTO_LINK_DATE="07/05/2003 19:28:22" VER_LANGUAGE="English (United States) [0x409]" />
    <MATCHING_FILE NAME="Pixmap.dll" SIZE="32856" CHECKSUM="0xEA9CAA1F" MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" LINKER_VERSION="0x0" LINK_DATE="03/31/2003 08:58:31" UPTO_LINK_DATE="03/31/2003 08:58:31" />
    <MATCHING_FILE NAME="Process.dll" SIZE="28771" CHECKSUM="0x6929D648" MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" LINKER_VERSION="0x0" LINK_DATE="03/31/2003 08:53:19" UPTO_LINK_DATE="03/31/2003 08:53:19" />
    <MATCHING_FILE NAME="qcce.exe" SIZE="606841" CHECKSUM="0xFC6F6FFB" BIN_FILE_VERSION="5.8.0.804" BIN_PRODUCT_VERSION="5.8.0.804" PRODUCT_VERSION="Build 2003.01" FILE_DESCRIPTION="Perl Command Line Interpreter" COMPANY_NAME="IndigoSTAR Software" PRODUCT_NAME="IndigoPerl" FILE_VERSION="5,8,0,804" ORIGINAL_FILENAME="Perl.exe" INTERNAL_NAME="Perl.exe" LEGAL_COPYRIGHT="Copyright 1987-2001, Larry Wall, Binary build by IndigoSTAR Software, http://www.indigostar.com" VERFILEDATEHI="0x0" VERFILEDATELO="0x0" VERFILEOS="0x40004" VERFILETYPE="0x1" MODULE_TYPE="WIN32" PE_CHECKSUM="0x14938" LINKER_VERSION="0x0" UPTO_BIN_FILE_VERSION="5.8.0.804" UPTO_BIN_PRODUCT_VERSION="5.8.0.804" LINK_DATE="07/05/2003 19:28:23" UPTO_LINK_DATE="07/05/2003 19:28:23" VER_LANGUAGE="English (United States) [0x409]" />
    <MATCHING_FILE NAME="re.dll" SIZE="102465" CHECKSUM="0xC0753A51" MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" LINKER_VERSION="0x0" LINK_DATE="03/31/2003 08:51:26" UPTO_LINK_DATE="03/31/2003 08:51:26" />
    <MATCHING_FILE NAME="Scrollbar.dll" SIZE="24670" CHECKSUM="0x64769C9B" MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" LINKER_VERSION="0x0" LINK_DATE="03/31/2003 08:58:57" UPTO_LINK_DATE="03/31/2003 08:58:57" />
    <MATCHING_FILE NAME="shutdown.exe" SIZE="36864" CHECKSUM="0xE79DCB77" MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" LINKER_VERSION="0x0" LINK_DATE="11/10/2003 22:59:06" UPTO_LINK_DATE="11/10/2003 22:59:06" />
    <MATCHING_FILE NAME="Text.dll" SIZE="82004" CHECKSUM="0x8A0B8A02" MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" LINKER_VERSION="0x0" LINK_DATE="03/31/2003 08:58:44" UPTO_LINK_DATE="03/31/2003 08:58:44" />
    <MATCHING_FILE NAME="Tk.dll" SIZE="487501" CHECKSUM="0x6B6CDBAD" MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" LINKER_VERSION="0x0" LINK_DATE="03/31/2003 09:00:46" UPTO_LINK_DATE="03/31/2003 09:00:46" />
    <MATCHING_FILE NAME="Util.dll" SIZE="28746" CHECKSUM="0x3BCC7EB" MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" LINKER_VERSION="0x0" LINK_DATE="03/31/2003 08:50:15" UPTO_LINK_DATE="03/31/2003 08:50:15" />
</EXE>
<EXE NAME="kernel32.dll" FILTER="GRABMI_FILTER_THISFILEONLY">
    <MATCHING_FILE NAME="kernel32.dll" SIZE="930304" CHECKSUM="0xCBCCF8A9" BIN_FILE_VERSION="5.1.2600.1106" BIN_PRODUCT_VERSION="5.1.2600.1106" PRODUCT_VERSION="5.1.2600.1106" FILE_DESCRIPTION="Windows NT BASE API Client DLL" COMPANY_NAME="Microsoft Corporation" PRODUCT_NAME="Microsoft® Windows® Operating System" FILE_VERSION="5.1.2600.1106 (xpsp1.020828-1920)" ORIGINAL_FILENAME="kernel32" INTERNAL_NAME="kernel32" LEGAL_COPYRIGHT="© Microsoft Corporation. All rights reserved." VERFILEDATEHI="0x0" VERFILEDATELO="0x0" VERFILEOS="0x40004" VERFILETYPE="0x2" MODULE_TYPE="WIN32" PE_CHECKSUM="0xE7ED3" LINKER_VERSION="0x50001" UPTO_BIN_FILE_VERSION="5.1.2600.1106" UPTO_BIN_PRODUCT_VERSION="5.1.2600.1106" LINK_DATE="08/29/2002 10:40:40" UPTO_LINK_DATE="08/29/2002 10:40:40" VER_LANGUAGE="English (United States) [0x409]" />
</EXE>
</DATABASE>


kwag 01-21-2004 09:39 PM

Hi Racer99,

Try un-installing PERL, and re-installing it.

-kwag

Racer99 01-21-2004 09:44 PM

I don't think I've got PERL installed. This is from a fresh XP install. Same problem as before. After installing the necessary drivers, the only thing I loaded was the necessary programs, avisynth, xvid...etc.

Should I install PERL?

Racer99

jonny 01-22-2004 04:07 AM

@kwag:
Perl is not needed (actually i pack all the files nedded with a program called Perl2Exe)


@Racer99:
Can you please try this and tell me the results:

-What happen if, after loading the AviSynth script, you hit the Test button?

-What happen if, after filling all the settings, you run:
"EclCCE" > "Save ecl + run EclCCE" (via menu)

(or maybe you mean both give the crash?)

Racer99 01-22-2004 07:53 AM

Yes I do mean both crash. Both when I hit the test button and the start all jobs button. I can load the .avs file in CCE via ECLCCE and encocde, but I am unable to save. To make sure I uninstalled and re-installed. Same problem. I copied the installed directory over to another computer completely and it runs fine. Weird :?

Here is the avisynth script that does load in TMPGEnc and Virtual Dub: (I stripped it to the bare minimum)

Code:

LoadPlugin("f:\DVD to CD\Avisynth 2.5\plugins\MPEG2Dec3.dll")
Mpeg2Source("E:\SEX_CITY_SEASON5_D1\Ep01.d2v",cpu=4,iPP=true,idct=5)
BicubicResize(672, 448, 0, 0.6, 0, 0, 720, 480)
AddBorders(16, 16, 16, 16)
converttoyuy2()

So here is a link to the user.dmp and drwatson.log file for my most recent event. I cleared out the Dr. Watson log and deleted the user.dmp before this latest attempt. If you need anything else, let me know.

http://www.sportsmanracingseries.net/Temp/crashdata.zip

Thanks for the help.

Racer99

BTW: I left the .vob files on this computer and set up sharing and then mapped its drive as a network drive on the other computer, changed the avisynth file to match the drive letter and ran QCCE from computer #2 and the job sucessfully ran the predictions. (4 episodes)

jonny 01-22-2004 09:12 AM

Ok, the crash happen when i read informations from the AviSynth file (the same function is called hitting the test button or when you start the joblist).

Can you give me the specs of the machine where the is no crash?


There is a couple of things you can try, before i go to send you some testing versions (if you have the time to test, of course)

- Try with a minimal script:
version()
bilinearresize(720,576)
converttoyuy2()

(if the above fails)
- Try to use different AviSynth versions ( 2.52 or the latest cvs: http://cultact-server.novi.dk/kpo/avisynth/avs_cvs.html ), using the script above.

(if the above fails)
- Try to encode the same script in XviD or DivX, using my app "Enc" ( http://jonny.leffe.dnsalias.com )
("Enc" shares the same code of "qcce", but runs over a different version of Perl)

Thanks for the feedback!


All times are GMT -5. The time now is 01:19 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.