Welcome Guest ( Log In | Register )


Important

The forums will be closing permanently the weekend of March 15th. Please see the notice in the announcements forum for details.

 
Mmx And Enlarging Video, Bugs or my system?
« Next Oldest | Next Newest » Track this topic | Email this topic | Print this topic
Darkfalz
Posted: Jan 30 2003, 06:20 AM


Unregistered









Hello everybody! I've used VirtualDub for ages but I've finally found a reason to sign up to these forums.

As of Version 1.4.12 I'm getting funny coloured lines along the left edge of my video output when using bicubic/precise bicubic filtering for enlarging video. When I disable MMX these artifacts disappear.

I've made comparisons for MMX enabled and disabled output, and the output is identical for shrinking and other MMX filters, but for any (normal or precise) bicubic or bilinear enlarging, including in versions 1.4.11 and prior where there are no visual glitches, the output is NOT identical.

The thing is I'm sure I processed video before with 1.4.13 and it didn't have these glitches, so it appears that all of a sudden my CPU's MMX unit has become bugged.

Could anyone compare the output (not visually, CRC32 wise) and see if they get identical files when enlarging with any of these filters with MMX enabled and disabled?

It'd love it if it was some kind of software bug, but I'd still like to know if it's my system causing the problem.

Finally below is an example of the glitches. The first image is with MMX enabled and the second disabled. If you look at the very first line on the left edge you can see the corruption I am talking about.

Thanks for your time.

user posted image

user posted image
 
  Top
phaeron
Posted: Jan 30 2003, 08:18 AM


Virtualdub Developer


Group: Administrator
Posts: 7773
Member No.: 61
Joined: 30-July 02



Confirmed and fix queued for next release -- bug in 4-tap MMX routine. Source code patch (a_resize.asm):
CODE

 movd  mm2,[eax+esi]
 movd  mm1,[ebx+esi] ;mm1 = pixel1
+punpcklbw mm2,mm7
 jmp  short ccint_col_loop_MMX@entry

One workaround is to use Lanzcos3.

Comparing MMX and non-MMX output via CRC32 is not valid because VirtualDub doesn't guarantee exact output when optimizations are toggled, only approximately equivalent quality.
 
    Top
Darkfalz
Posted: Jan 30 2003, 12:54 PM


Unregistered









Thanks Avery!

I was worried for a moment, I was going to format and reinstall everything thinking some DLL somewhere had "corrupted" my MMX support. Thank you for your quick reply.

I assumed MMX and non-MMX output should be byte-identical, just that MMX was faster. Relieved to know it's not always the case (including MPEG-1 decoding).

I do have video I processed, with that filter and with enlarging, with 1.4.13 but perhaps the codec I used eliminated them since they are fairly "noisy".

I'll wait for a 1.4.14 before doing any processing which requires enlarging.
 
  Top
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:
2 replies since Jan 30 2003, 06:20 AM Track this topic | Email this topic | Print this topic

<< Back to Testing / Bug Reports