SClavc is an Avisynth 2.5 plugin, intended to allow access to libavcodec's scene-change metrics.

Note: It is separated into two dlls (SceneChange.dll and SceneChange-lavc.dll)
because of compiler issues. libavcodec wants GCC, while Avisynth wants MSVC.
Just make sure that SceneChange-lavc.dll is somewhere that can be found (e.g.
the same directory).


Example:

LoadPlugin("SceneChange.dll")
AVISource(...)
SClavc()



Options:
SClavc(string log)

log:
	default: none
	A file name in which to write lavc's 2pass stats.
	Whether or not log is specified, the stats are also output via OutputDebugString()

I'm working on allowing configuration of lavc's encoding options.



Each stats line looks like this:
  in:20 out:20 type:2 q:236 itex:18180 ptex:25956 mv:514 misc:13097 fcode:1 bcode:4 mc-var:8434 var:170502 icount:887;

in:     frame number
out:    frame number after reordering B-frames
type:   1 => I, 2 => P, 3 => B, 4 => S
        (You should only see I and P in logs generated by SClavc)
q:      Lagrange multiplier (approximately proportional to quantizer)
itex:   total bits taken by I-blocks in this frame
ptex:   total bits taken by P-blocks
mv:     total bits taken by motion vectors
misc:   total bits taken by other things (headers, block types, QP, ...)
fcode:  forward MV resolution
bcode:  backward MV resolution (for B-frames)
var:    a measure of the picture's complexity
mc-var: the same complexity, after motion-compensation
icount: the number of macroblocks encoded as I

