MI3Guy
7th July 2012, 12:29
I am currently writing an open source program that needs to be able to remove VC-1 pulldown. However, I have not been able to find any information on the license of vc1conv or find any contact information for the author. I would appreciate any information about either one of these.
drmpeg
7th July 2012, 23:52
I'm the author of vc1conv. As far as I'm concerned, it's educational material and in the public domain. The latest version is here:
http://www.w6rz.net/vc1conv.zip
There are a couple of bugs in the pan and scan section. On line 550:
for (i = 0; i < windows; i++) {
The variable "i" is already in use by the outer loop. Another variable should be defined for this loop.
Also, the above loop should only execute if ps == TRUE. This section:
if (ps) {
if (interlace == 1 && psf == 0) {
if (pulldown == 1) {
windows = 2 + rff;
}
else {
windows = 2;
}
}
else {
if (pulldown == 1) {
windows = 1 + rptfrm;
}
else {
windows = 1;
}
}
}
for (i = 0; i < windows; i++) {
/* PS_HOFFSET */
num = getbits(18, &trash);
putbits(18, &trash);
/* PS_VOFFSET */
num = getbits(18, &trash);
putbits(18, &trash);
/* PS_WIDTH */
num = getbits(14, &trash);
putbits(14, &trash);
/* PS_HEIGHT */
num = getbits(14, &trash);
putbits(14, &trash);
}
Should be changed to:
if (ps) {
if (interlace == 1 && psf == 0) {
if (pulldown == 1) {
windows = 2 + rff;
}
else {
windows = 2;
}
}
else {
if (pulldown == 1) {
windows = 1 + rptfrm;
}
else {
windows = 1;
}
}
for (k = 0; k < windows; k++) {
/* PS_HOFFSET */
num = getbits(18, &trash);
putbits(18, &trash);
/* PS_VOFFSET */
num = getbits(18, &trash);
putbits(18, &trash);
/* PS_WIDTH */
num = getbits(14, &trash);
putbits(14, &trash);
/* PS_HEIGHT */
num = getbits(14, &trash);
putbits(14, &trash);
}
}
As it turns out, there were never any HD-DVD titles with pan and scan vectors, so these bugs never executed.
Ron
MI3Guy
8th July 2012, 13:25
That's great to hear. Thanks for taking the time to respond and for writing vc1conv.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.