Is it (in the main) perhaps down to a part of the 'pluge' (think thats what its called) being @ luma value 7 [EDIT: and 242] (ie non TV range).
Code:
A=ColorBars(pixel_type="YV12").BicubicResize(480,360)
B=A.ColorYUV(levels="TV->PC")
C=B.ColorYUV(levels="PC->TV")
A=A.ColorYUV(analyze=true)
B=B.ColorYUV(analyze=true)
C=C.ColorYUV(analyze=true)
StackVertical(A,B,C)
First image minimum luma is 7.
EDIT: Did not notice this line,
Quote:
because ColorBars() has some strange levels
|
that would be the pluge 7 [EDIT: and 242] thing I think.
But even with pluge fixed with eg limiter, does exhibit strange behaviour as pin pointed by Orum.
ie like this
Code:
function s(clip c) {
return c.ColorYUV(levels="TV->PC").ColorYUV(levels="PC->TV")
}
# Initial clip calls s() once because ColorBars() has some strange levels
ColorBars(pixel_type="YV12").Limiter
Interleave(last, last.s().s().s().s().s().s().s().s().s().s().s().s().s().s().s().s())
ColorYUV(analyze=true)
Still flickers a helluva lot.
EDIT:
Limiter dont work as required, mod to Levels [
EDIT: This is rubbish, dont know why I thought Limiter did not work, it does]
Code:
function s(clip c) { return c.ColorYUV(levels="TV->PC").ColorYUV(levels="PC->TV") }
ColorBars(pixel_type="YV12").Bicubicresize(480,360)
Levels(16,1.0,235,16,235,coring=false) # Limiter dont work as required, results in luma Min = 10, not 16, so use Levels
A=Last
B=last.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s
StackVertical(A.ColorYUV(analyze=true),B.ColorYUV(analyze=true))
EDIT: Only 1 iteration
Code:
function s(clip c) { return c.ColorYUV(levels="TV->PC").ColorYUV(levels="PC->TV") }
ColorBars(pixel_type="YV12").Bicubicresize(480,360)
Levels(16,1.0,235,16,235,coring=false) # Limiter dont work as required, results in luma Min = 10, not 16, so use Levels
A=Last
B=last.s #.s.s.s.s.s.s.s.s.s.s.s.s.s.s
StackVertical(A.ColorYUV(analyze=true),B.ColorYUV(analyze=true))