Friday, October 27, 2006

DV-2-XviD's new feature will be delayed

Nobody is able to handle two things well concurrently. DV-2-XviD 0.8 has achieved my target in some ways, so I'll delay new feature developing in next days and continue my MobileSync project.

I'll still listen feedback from user and I should release new bugfix version if critical bug was found. Don't worry about it. I am a DV user so that I must do my best to improve it. It's just delay, not finish.

Monday, October 23, 2006

DV-2-XviD 0.8 release!

With rewriting lots of codes, DV-2-XviD 0.8 is released now!

This version includes many significant updates.
  1. remove the ugly DOS prompt window
  2. pack into one DV-2-XviD.exe
  3. add a log frame in main window.
  4. application now has a cute app-icon.
  5. not depends AutoGK anymore. it only require XviD and Avisynth
  6. add aspect radio auto detection. (16:9 or 4:3)
I also have set up a new homepage, and have created a svn repository in google codes.

Binary download:
http://projects.dup2.org/project_files/DV-2-XviD_0.8.zip

DV-2-XviD 0.8 support auto-detecting aspect radio of DV AVI stream!

Although OpenDML has defined "vprp" header to save aspect radio information. But in DV AVI file, it doesn't store vprp info. Fortunately DV has itself AR definition format.

When I began coding DV-2-XviD and tried to get datetime from DV avi, this great article was a important reference. Now I found it also describes AR-definition bit . But it doesn't point howto analyse it.

Then I found a detail algorithm in libavformat/dv.c (a part of ffmpeg) and merged it into DV-2-XviD. It works well. :)

Tuesday, October 17, 2006

A wonderful disk partition recover tool, TestDisk

My laptop is Thinkpad R51E and it had a 5GB HPA partition. I recently installed ubuntu in it with splitting the hidden partition to a ext3 partition and a linux swap partition by gparted tool that was used in ubuntu installation procedure. Then I used gparted to decrease size of original C:, then created a extended partition and created 3 logical partitions in it, including a FAT32 partition and two NTFS partitions.

Monday I tried to reinstall WindowsXP on the laptop. But it seemed that GRUB can't recognized the XP's boot record. I has to clear GRUB by FreeDOS "fdisk /mbr" command. Then disaster came. I lost the second partition and the third partition.

Fortunately I could boot into XP. I downloaded a popular recovery tool "Partition Table Doctor" to resolve the disaster. It found my lost partitions soon but after I applied the recovery operation I got another terrible disaster -- these partitions was not be recovered and my two Linux partitions were disappeared!

(After the disaster I found a reason that maybe cause "PTD" recovery failed. WinXP recognizes my hard disk as 240 Heads , but Ubuntu, include FreeDOS fdisk perhaps, recognizes it as 16 Heads).

At last I found TestDisk. It hasn't a cool GUI front end but it is powerful. TestDisk scan all possible boot sectors and display all recovery options and let user to choose the right partition operation. Finally I recovered all partitions under ubuntu Live CD environment.

Tips: Teskdisk doesn't scan all sectors in the default analyse process. Maybe you wouldn't get all lost partition information after the default process end. Then you should execute "[Search! ]" option to scan all sectors.

Besides it save my data successfully twice(I recovered a FreeBSD system last year with it), TestDisk is a opensource software and it support many OSs and filesytems. I recommend TeskDisk as the first recovery tool of partition damage.

DV-2-XviD 0.7 can't support 16:9 resolution

Thanks for Magnus's bug report. I'll fix it in future version. Now I need some sample clips to test it. May anyone give me?

Wednesday, October 11, 2006

Win32 Bluetooth Support Sucks

As a part of my PyMobileSync, I need developing over bluetooth. These days I found programming for Bluetooth device under win32 platform was a nightmare!

I followed the guide from MSDN only support Windows . But I got 10047 error "Address family not supported by protocol family" when I tried to create a BTH socket. I searched google, then I found MSSDKXP native Bluetooth stack and it don't support my Bluetooth dongle device (ISSC chip).

Before Windows XP SP1, Microsoft hasn't added native Bluetooth support. So IVT and Widcomm developed their bluetooth stack on Win32 platform and now bluetooth software developer must program with three SDKs if they want their application could to be accepted most widely.

Jon Cellini wrote a article that described how to make a Bluetooth device that was not supported officially by microsoft work under native stack. Somebody reported their ISSC device could work this way and others reported failure, and indeed my device failed.

At last I spent 6$ to buy a new Bluetooth dongle with CSR BlueCore4-ROM chip that could be detected natively and I found windows xp's Bluetooth management application is toooooo simple. I believe windows native stack will be the winner of three stacks. But it lack a killer application of Bluetooth management now. Will Vista include a new one?

Sunday, October 08, 2006

Extract Install Shield .cab format.

There are two formats of .cab files. One is the standard Microsoft's cab format and these files can be extract by many tools such as 7-zip, winzip, ..., even new Windows Explorer. Another format is "Install Shield" format and these files usually be named as data1.cab, data2.cab .. These files can't be extracted by normal utilities.

SynCE project release a tool 'unshield' under unix environment to extract it. Under Win32 platform, I found a freeware 'i6comp' could extract the InstallShield format.

Good Luck.

Tuesday, October 03, 2006

DV-2-XviD 0.8 coming soon..

These days I rewritten lots of code and redesign UI.

I rename wxPython script's file name from .py to .pyw so that the DOS-Output window disappears. I add a LogMessage window at the application interface's bottom.

"select a temp directory" have been removed. It's a strange option to end-user. Now the program create a directory on where the target file will be placed in with a fixed name 'd2x_tmp'.

Recently I learned some py2exe knowledge from mail-list. Binary distribution will remain only one executable file 'DV-2-XviD.exe' and it have a cute icon, 'BT's FLOWER'.

I also plan to provide a full binary package which include vdubmod and lame so that it do not depends AutoGK and only depends XviD and AviSynth..

Sunday, October 01, 2006

Authentication War

Today I read a news about yahoo's new BBAuth. Like MS's Passport/LiveID and Google Accounts, now these three bigest freemail/webapp vendors have join a authentication war.

When I start to design eyou.com's passport mechanism at 2005. I thought we can deliver a similar API to encourage 3rd-party developers creating their webapp based eyou.com's passport. Even we would extend the passport network to all email servers that were deployed in CERNET campus. Anyway, now eyou have focused on zhanzuo.com service, and I have no chance to implement the crazy idea.

To owner user's authentication data means you taking the charge of saving it safely. You should provide HTTPS connection, recruit high credence employee to maintain the database, defend hackers from everywhere, etc, etc. On the other hand, it is difficult to get a new user to register in your site . So I think Passport/LiveID, Google Account, BBAuth are very important services for startups. They don't care auth/reg problem anymore, and just focus on their core competence.

Before I read the news about BBAuth, I tried create a sample app to use LiveID and Google Account API. It seems that many problems exist. MS maybe release their API(web version) at 2007 and nobody know whether the service is free. (Considering competitors, I think LiveID would be a free service). Google's API is very simple and my test php script passed test last night. But it only support google calendar service by now. If the google account have not registered google calendar service, then I can't fetch it's email address info (I known a google account login my service but I can't identify who is it).

Google Account Service include 2 steps, authentication and authorization. Verifying email/password pair is authentication. Fetching the account's email address info is authorization. It seems that there is only one authorizable service (google calendar) and the support from google is bare.

Welcome to Authentication War, Yahoo!. I wish the action spur ms and google.