Video Signals And Timing: Difference between revisions

[unchecked revision][unchecked revision]
m (Layout things, categorization)
(→‎GTF Using resolution and refresh rate: Converted and markup added)
Line 71:
 
== GTF Using resolution and refresh rate ==
 
<tt>[[#H_PIXELS_RND|H_PIXELS_RND]] = ( ''ROUND'' ( [[#H_PIXELS|H_PIXELS]] / [[#CELL_GRAN_RND|CELL_GRAN_RND]] ) ) * [[#CELL_GRAN_RND|CELL_GRAN_RND]]
 
'''if''' ( [[#INTERLACE_REQUIRED|INTERLACE_REQUIRED]] == '''true''' ) <br />
{<br />
:[[#V_LINES_RND|V_LINES_RND]] = ''ROUND'' ( [[#V_LINES|V_LINES]] / 2 )<br />
:[[#V_FIELD_RATE_REQUIRED|V_FIELD_RATE_REQUIRED]] = [[#REFRESH_RATE_REQUIRED|V_LINES]] * 2<br />
:[[#INTERLACE|INTERLACE]] = 0.5<br />
} '''else''' {<br />
:[[#V_LINES_RND]] = ''ROUND'' ( [[#V_LINES]]) )<br />
:[[#V_FIELD_RATE_REQUIRED]] = [[#REFRESH_RATE_REQUIRED]]<br />
:[[#INTERLACE]] = 0<br />
}<br />
 
'''if''' ( [[#MARGINS_REQUIRED]] == '''true''' ) {<br />
:[[#TOP_MARGIN_LINES]] = ''ROUND'' ( [[#MARGIN_PRECENT]] / 100 * [[#V_LINES_RND]] )<br />
:[[#BOTTOM_MARGIN_LINES]] = ''ROUND'' ( [[#MARGIN_PRECENT]] / 100 * [[#V_LINES_RND]] )<br />
:[[#LEFT_MARGIN_PIXELS]] = ( ''ROUND'' ( ( [[#H_PIXELS_RND]] * [[#MARGIN_PRECENT]] / 100 / [[#CELL_GRAN_RND]] ) , 0 ) ) * [[#CELL_GRAN_RND]]<br />
:[[#RIGHT_MARGIN_PIXELS]] = ( ''ROUND'' ( ( [[#H_PIXELS_RND]] * [[#MARGIN_PRECENT]] / 100 / [[#CELL_GRAN_RND]] ) , 0 ) ) * [[#CELL_GRAN_RND]]<br />
} '''else''' {<br />
:[[#TOP_MARGIN_LINES]] = 0<br />
:[[#BOTTOM_MARGIN_LINES]] = 0<br />
:[[#LEFT_MARGIN_PIXELS]] = 0<br />
:[[#RIGHT_MARGIN_PIXELS]] = 0<br />
}
 
[[#H_PERIOD_ESTIMATE]] = ( 1 / [[#V_FIELD_RATE_REQUIRED]] - [[#MIN_V_SYNC_AND_BACK_PORCH]] / 1000000 )
:/ ( [[#V_LINES_RND]] + 2 * [[#TOP_MARGIN_LINES]] + [[#MIN_PORCH_RND]] + [[#INTERLACE]] ) * 1000000
 
 
[[#V_SYNC_AND_BACK_PORCH]] = ''ROUND'' ( [[#MIN_V_SYNC_AND_BACK_PORCH]] / [[#H_PERIOD_ESTIMATE]] )
 
[[#V_BACK_PORCH]] = [[#V_SYNC_AND_BACK_PORCH]] - [[#V_SYNC_RND]]
 
[[#TOTAL_V_LINES]] = [[#V_LINES_RND]] +
:[[#TOP_MARGIN_LINES]] + [[#BOTTOM_MARGIN_LINES]] +
:[[#V_SYNC_AND_BACK_PORCH]] + [[#INTERLACE]] + [[#MIN_PORCH_RND]]
 
 
[[#V_FIELD_RATE_ESTIMATE]] = 1000000 / [[#H_PERIOD_ESTIMATE]] / [[#TOTAL_V_LINES]]
 
[[#H_PERIOD]] = [[#H_PERIOD_ESTIMATE]] * [[#V_FIELD_RATE_ESTIMATE]] / [[#V_FIELD_RATE_REQUIRED]]
 
[[#V_FIELD_RATE]] = 1000000 / [[#H_PERIOD]] / [[#TOTAL_V_LINES]]
 
'''if''' ( INTERLACE_REQUIRED == '''true''' ) {<br />
:[[#V_FRAME_RATE]] = [[#V_FIELD_RATE]] / 2<br />
} '''else''' {<br />
:[[#V_FRAME_RATE]] = [[#V_FIELD_RATE]]<br />
}<br />
 
[[#TOTAL_ACTIVE_PIXELS]] = [[#H_PIXELS_RND]] + [[#LEFT_MARGIN_PIXELS]] + [[#RIGHT_MARGIN_PIXELS]]
 
[[#IDEAL_DUTY_CYCLE]] = [[#C_PRIME]] - [[#M_PRIME]] * [[#H_PERIOD]] / 1000
 
[[#H_BLANK_PIXELS]] = ( ''ROUND'' (
::( [[#TOTAL_ACTIVE_PIXELS]] * [[#IDEAL_DUTY_CYCLE]] / ( 100 - [[#IDEAL_DUTY_CYCLE]] ) / ( 2 * [[#CELL_GRAN_RND]] ) )
:) ) * 2 * [[#CELL_GRAN_RND]]
 
 
[[#TOTAL_PIXELS]] = [[#TOTAL_ACTIVE_PIXELS]] + [[#H_BLANK_PIXELS]]
 
[[#PIXEL_FREQ]] = [[#TOTAL_PIXELS]] / [[#H_PERIOD]] * 1000000
 
[[#H_FREQ]] = 1 / [[#H_PERIOD]]
</tt>
 
== GTF Using resolution and pixel clock ==
1,490

edits