kopia lustrzana https://github.com/windytan/slowrx
variable renaming
rodzic
714ca8b6c1
commit
51679ea399
10
common.c
10
common.c
|
@ -187,17 +187,17 @@ void evt_clickimg(GtkWidget *widget, GdkEventButton* event, GdkWindowEdge edge)
|
|||
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(gui.tog_setedge),FALSE);
|
||||
|
||||
// Adjust sample rate, if in sensible limits
|
||||
newrate = CurrentPic.Rate + CurrentPic.Rate * (dx * ModeSpec[CurrentPic.Mode].PixelLen) / (dy * ModeSpec[CurrentPic.Mode].LineHeight * ModeSpec[CurrentPic.Mode].LineLen);
|
||||
newrate = CurrentPic.Rate + CurrentPic.Rate * (dx * ModeSpec[CurrentPic.Mode].PixelTime) / (dy * ModeSpec[CurrentPic.Mode].LineHeight * ModeSpec[CurrentPic.Mode].LineTime);
|
||||
if (newrate > 32000 && newrate < 56000) {
|
||||
CurrentPic.Rate = newrate;
|
||||
|
||||
// Find x-intercept and adjust skip
|
||||
xic = fmod( (x - (y / (dy/dx))), ModeSpec[CurrentPic.Mode].ImgWidth);
|
||||
if (xic < 0) xic = ModeSpec[CurrentPic.Mode].ImgWidth - xic;
|
||||
CurrentPic.Skip = fmod(CurrentPic.Skip + xic * ModeSpec[CurrentPic.Mode].PixelLen * CurrentPic.Rate,
|
||||
ModeSpec[CurrentPic.Mode].LineLen * CurrentPic.Rate);
|
||||
if (CurrentPic.Skip > ModeSpec[CurrentPic.Mode].LineLen * CurrentPic.Rate / 2.0)
|
||||
CurrentPic.Skip -= ModeSpec[CurrentPic.Mode].LineLen * CurrentPic.Rate;
|
||||
CurrentPic.Skip = fmod(CurrentPic.Skip + xic * ModeSpec[CurrentPic.Mode].PixelTime * CurrentPic.Rate,
|
||||
ModeSpec[CurrentPic.Mode].LineTime * CurrentPic.Rate);
|
||||
if (CurrentPic.Skip > ModeSpec[CurrentPic.Mode].LineTime * CurrentPic.Rate / 2.0)
|
||||
CurrentPic.Skip -= ModeSpec[CurrentPic.Mode].LineTime * CurrentPic.Rate;
|
||||
|
||||
// Signal the listener to exit from GetVIS() and re-process the pic
|
||||
ManualResync = TRUE;
|
||||
|
|
10
common.h
10
common.h
|
@ -109,11 +109,11 @@ enum {
|
|||
typedef struct ModeSpec {
|
||||
char *Name;
|
||||
char *ShortName;
|
||||
double SyncLen;
|
||||
double PorchLen;
|
||||
double SeparatorLen;
|
||||
double PixelLen;
|
||||
double LineLen;
|
||||
double SyncTime;
|
||||
double PorchTime;
|
||||
double SeptrTime;
|
||||
double PixelTime;
|
||||
double LineTime;
|
||||
gushort ImgWidth;
|
||||
gushort NumLines;
|
||||
guchar LineHeight;
|
||||
|
|
262
modespec.c
262
modespec.c
|
@ -12,13 +12,13 @@
|
|||
*
|
||||
* Name Long, human-readable name for the mode
|
||||
* ShortName Abbreviation for the mode, used in filenames
|
||||
* SyncLen Duration of synchronization pulse in seconds
|
||||
* PorchLen Duration of sync porch pulse in seconds
|
||||
* SeparatorLen Duration of channel separator pulse in seconds
|
||||
* PixelLen Duration of one pixel in seconds
|
||||
* LineLen Time in seconds from the beginning of a sync pulse to the beginning of the next one
|
||||
* SyncTime Duration of synchronization pulse in seconds
|
||||
* PorchTime Duration of sync porch pulse in seconds
|
||||
* SeptrTime Duration of channel separator pulse in seconds
|
||||
* PixelTime Duration of one pixel in seconds
|
||||
* LineTime Time in seconds from the beginning of a sync pulse to the beginning of the next one
|
||||
* ImgWidth Pixels per scanline
|
||||
* Lines Number of scanlines
|
||||
* NumLines Number of scanlines
|
||||
* LineHeight Height of one scanline in pixels (1 or 2)
|
||||
* ColorEnc Color format (GBR, RGB, YUV, BW)
|
||||
*
|
||||
|
@ -39,11 +39,11 @@ _ModeSpec ModeSpec[] = {
|
|||
[M1] = { // N7CXI, 2000
|
||||
.Name = "Martin M1",
|
||||
.ShortName = "M1",
|
||||
.SyncLen = 4.862e-3,
|
||||
.PorchLen = 0.572e-3,
|
||||
.SeparatorLen = 0.572e-3,
|
||||
.PixelLen = 0.4576e-3,
|
||||
.LineLen = 446.446e-3,
|
||||
.SyncTime = 4.862e-3,
|
||||
.PorchTime = 0.572e-3,
|
||||
.SeptrTime = 0.572e-3,
|
||||
.PixelTime = 0.4576e-3,
|
||||
.LineTime = 446.446e-3,
|
||||
.ImgWidth = 320,
|
||||
.NumLines = 256,
|
||||
.LineHeight = 1,
|
||||
|
@ -52,11 +52,11 @@ _ModeSpec ModeSpec[] = {
|
|||
[M2] = { // N7CXI, 2000
|
||||
.Name = "Martin M2",
|
||||
.ShortName = "M2",
|
||||
.SyncLen = 4.862e-3,
|
||||
.PorchLen = 0.572e-3,
|
||||
.SeparatorLen = 0.572e-3,
|
||||
.PixelLen = 0.2288e-3,
|
||||
.LineLen = 226.7986e-3,
|
||||
.SyncTime = 4.862e-3,
|
||||
.PorchTime = 0.572e-3,
|
||||
.SeptrTime = 0.572e-3,
|
||||
.PixelTime = 0.2288e-3,
|
||||
.LineTime = 226.7986e-3,
|
||||
.ImgWidth = 320,
|
||||
.NumLines = 256,
|
||||
.LineHeight = 1,
|
||||
|
@ -65,11 +65,11 @@ _ModeSpec ModeSpec[] = {
|
|||
[M3] = { // KB4YZ, 1999
|
||||
.Name = "Martin M3",
|
||||
.ShortName = "M3",
|
||||
.SyncLen = 4.862e-3,
|
||||
.PorchLen = 0.572e-3,
|
||||
.SeparatorLen = 0.572e-3,
|
||||
.PixelLen = 0.2288e-3,
|
||||
.LineLen = 446.446e-3,
|
||||
.SyncTime = 4.862e-3,
|
||||
.PorchTime = 0.572e-3,
|
||||
.SeptrTime = 0.572e-3,
|
||||
.PixelTime = 0.2288e-3,
|
||||
.LineTime = 446.446e-3,
|
||||
.ImgWidth = 320,
|
||||
.NumLines = 128,
|
||||
.LineHeight = 2,
|
||||
|
@ -78,11 +78,11 @@ _ModeSpec ModeSpec[] = {
|
|||
[M4] = { // KB4YZ, 1999
|
||||
.Name = "Martin M4",
|
||||
.ShortName = "M4",
|
||||
.SyncLen = 4.862e-3,
|
||||
.PorchLen = 0.572e-3,
|
||||
.SeparatorLen = 0.572e-3,
|
||||
.PixelLen = 0.2288e-3,
|
||||
.LineLen = 226.7986e-3,
|
||||
.SyncTime = 4.862e-3,
|
||||
.PorchTime = 0.572e-3,
|
||||
.SeptrTime = 0.572e-3,
|
||||
.PixelTime = 0.2288e-3,
|
||||
.LineTime = 226.7986e-3,
|
||||
.ImgWidth = 320,
|
||||
.NumLines = 128,
|
||||
.LineHeight = 2,
|
||||
|
@ -91,11 +91,11 @@ _ModeSpec ModeSpec[] = {
|
|||
[S1] = { // N7CXI, 2000
|
||||
.Name = "Scottie S1",
|
||||
.ShortName = "S1",
|
||||
.SyncLen = 9e-3,
|
||||
.PorchLen = 1.5e-3,
|
||||
.SeparatorLen = 1.5e-3,
|
||||
.PixelLen = 0.4320e-3,
|
||||
.LineLen = 428.38e-3,
|
||||
.SyncTime = 9e-3,
|
||||
.PorchTime = 1.5e-3,
|
||||
.SeptrTime = 1.5e-3,
|
||||
.PixelTime = 0.4320e-3,
|
||||
.LineTime = 428.38e-3,
|
||||
.ImgWidth = 320,
|
||||
.NumLines = 256,
|
||||
.LineHeight = 1,
|
||||
|
@ -104,11 +104,11 @@ _ModeSpec ModeSpec[] = {
|
|||
[S2] = { // N7CXI, 2000
|
||||
.Name = "Scottie S2",
|
||||
.ShortName = "S2",
|
||||
.SyncLen = 9e-3,
|
||||
.PorchLen = 1.5e-3,
|
||||
.SeparatorLen = 1.5e-3,
|
||||
.PixelLen = 0.2752e-3,
|
||||
.LineLen = 277.692e-3,
|
||||
.SyncTime = 9e-3,
|
||||
.PorchTime = 1.5e-3,
|
||||
.SeptrTime = 1.5e-3,
|
||||
.PixelTime = 0.2752e-3,
|
||||
.LineTime = 277.692e-3,
|
||||
.ImgWidth = 320,
|
||||
.NumLines = 256,
|
||||
.LineHeight = 1,
|
||||
|
@ -117,11 +117,11 @@ _ModeSpec ModeSpec[] = {
|
|||
[SDX] = { // N7CXI, 2000
|
||||
.Name = "Scottie DX",
|
||||
.ShortName = "SDX",
|
||||
.SyncLen = 9e-3,
|
||||
.PorchLen = 1.5e-3,
|
||||
.SeparatorLen = 1.5e-3,
|
||||
.PixelLen = 1.08053e-3,
|
||||
.LineLen = 1050.3e-3,
|
||||
.SyncTime = 9e-3,
|
||||
.PorchTime = 1.5e-3,
|
||||
.SeptrTime = 1.5e-3,
|
||||
.PixelTime = 1.08053e-3,
|
||||
.LineTime = 1050.3e-3,
|
||||
.ImgWidth = 320,
|
||||
.NumLines = 256,
|
||||
.LineHeight = 1,
|
||||
|
@ -130,11 +130,11 @@ _ModeSpec ModeSpec[] = {
|
|||
[R72] = { // N7CXI, 2000
|
||||
.Name = "Robot 72",
|
||||
.ShortName = "R72",
|
||||
.SyncLen = 9e-3,
|
||||
.PorchLen = 3e-3,
|
||||
.SeparatorLen = 4.7e-3,
|
||||
.PixelLen = 0.2875e-3,
|
||||
.LineLen = 300e-3,
|
||||
.SyncTime = 9e-3,
|
||||
.PorchTime = 3e-3,
|
||||
.SeptrTime = 4.7e-3,
|
||||
.PixelTime = 0.2875e-3,
|
||||
.LineTime = 300e-3,
|
||||
.ImgWidth = 320,
|
||||
.NumLines = 240,
|
||||
.LineHeight = 1,
|
||||
|
@ -143,11 +143,11 @@ _ModeSpec ModeSpec[] = {
|
|||
[R36] = { // N7CXI, 2000
|
||||
.Name = "Robot 36",
|
||||
.ShortName = "R36",
|
||||
.SyncLen = 9e-3,
|
||||
.PorchLen = 3e-3,
|
||||
.SeparatorLen = 6e-3,
|
||||
.PixelLen = 0.1375e-3,
|
||||
.LineLen = 150e-3,
|
||||
.SyncTime = 9e-3,
|
||||
.PorchTime = 3e-3,
|
||||
.SeptrTime = 6e-3,
|
||||
.PixelTime = 0.1375e-3,
|
||||
.LineTime = 150e-3,
|
||||
.ImgWidth = 320,
|
||||
.NumLines = 240,
|
||||
.LineHeight = 1,
|
||||
|
@ -156,11 +156,11 @@ _ModeSpec ModeSpec[] = {
|
|||
[R24] = { // N7CXI, 2000
|
||||
.Name = "Robot 24",
|
||||
.ShortName = "R24",
|
||||
.SyncLen = 9e-3,
|
||||
.PorchLen = 3e-3,
|
||||
.SeparatorLen = 6e-3,
|
||||
.PixelLen = 0.1375e-3,
|
||||
.LineLen = 150e-3,
|
||||
.SyncTime = 9e-3,
|
||||
.PorchTime = 3e-3,
|
||||
.SeptrTime = 6e-3,
|
||||
.PixelTime = 0.1375e-3,
|
||||
.LineTime = 150e-3,
|
||||
.ImgWidth = 320,
|
||||
.NumLines = 240,
|
||||
.LineHeight = 1,
|
||||
|
@ -169,11 +169,11 @@ _ModeSpec ModeSpec[] = {
|
|||
[R24BW] = { // N7CXI, 2000
|
||||
.Name = "Robot 24 B/W",
|
||||
.ShortName = "R24BW",
|
||||
.SyncLen = 7e-3,
|
||||
.PorchLen = 0e-3,
|
||||
.SeparatorLen = 0e-3,
|
||||
.PixelLen = 0.291e-3,
|
||||
.LineLen = 100e-3,
|
||||
.SyncTime = 7e-3,
|
||||
.PorchTime = 0e-3,
|
||||
.SeptrTime = 0e-3,
|
||||
.PixelTime = 0.291e-3,
|
||||
.LineTime = 100e-3,
|
||||
.ImgWidth = 320,
|
||||
.NumLines = 240,
|
||||
.LineHeight = 1,
|
||||
|
@ -182,11 +182,11 @@ _ModeSpec ModeSpec[] = {
|
|||
[R12BW] = { // N7CXI, 2000
|
||||
.Name = "Robot 12 B/W",
|
||||
.ShortName = "R12BW",
|
||||
.SyncLen = 7e-3,
|
||||
.PorchLen = 0e-3,
|
||||
.SeparatorLen = 0e-3,
|
||||
.PixelLen = 0.291e-3,
|
||||
.LineLen = 100e-3,
|
||||
.SyncTime = 7e-3,
|
||||
.PorchTime = 0e-3,
|
||||
.SeptrTime = 0e-3,
|
||||
.PixelTime = 0.291e-3,
|
||||
.LineTime = 100e-3,
|
||||
.ImgWidth = 320,
|
||||
.NumLines = 120,
|
||||
.LineHeight = 2,
|
||||
|
@ -195,11 +195,11 @@ _ModeSpec ModeSpec[] = {
|
|||
[R8BW] = { // N7CXI, 2000
|
||||
.Name = "Robot 8 B/W",
|
||||
.ShortName = "R8BW",
|
||||
.SyncLen = 7e-3,
|
||||
.PorchLen = 0e-3,
|
||||
.SeparatorLen = 0e-3,
|
||||
.PixelLen = 0.188e-3,
|
||||
.LineLen = 67e-3,
|
||||
.SyncTime = 7e-3,
|
||||
.PorchTime = 0e-3,
|
||||
.SeptrTime = 0e-3,
|
||||
.PixelTime = 0.188e-3,
|
||||
.LineTime = 67e-3,
|
||||
.ImgWidth = 320,
|
||||
.NumLines = 120,
|
||||
.LineHeight = 2,
|
||||
|
@ -208,11 +208,11 @@ _ModeSpec ModeSpec[] = {
|
|||
[W2120] = { // KB4YZ, 1999
|
||||
.Name = "Wraase SC-2 120",
|
||||
.ShortName = "W2120",
|
||||
.SyncLen = 5.5225e-3,
|
||||
.PorchLen = 0.5e-3,
|
||||
.SeparatorLen = 0e-3,
|
||||
.PixelLen = 0.489039081e-3,
|
||||
.LineLen = 475.530018e-3,
|
||||
.SyncTime = 5.5225e-3,
|
||||
.PorchTime = 0.5e-3,
|
||||
.SeptrTime = 0e-3,
|
||||
.PixelTime = 0.489039081e-3,
|
||||
.LineTime = 475.530018e-3,
|
||||
.ImgWidth = 320,
|
||||
.NumLines = 256,
|
||||
.LineHeight = 1,
|
||||
|
@ -221,11 +221,11 @@ _ModeSpec ModeSpec[] = {
|
|||
[W2180] = { // N7CXI, 2000
|
||||
.Name = "Wraase SC-2 180",
|
||||
.ShortName = "W2180",
|
||||
.SyncLen = 5.5225e-3,
|
||||
.PorchLen = 0.5e-3,
|
||||
.SeparatorLen = 0e-3,
|
||||
.PixelLen = 0.734532e-3,
|
||||
.LineLen = 711.0225e-3,
|
||||
.SyncTime = 5.5225e-3,
|
||||
.PorchTime = 0.5e-3,
|
||||
.SeptrTime = 0e-3,
|
||||
.PixelTime = 0.734532e-3,
|
||||
.LineTime = 711.0225e-3,
|
||||
.ImgWidth = 320,
|
||||
.NumLines = 256,
|
||||
.LineHeight = 1,
|
||||
|
@ -234,11 +234,11 @@ _ModeSpec ModeSpec[] = {
|
|||
[PD50] = { // N7CXI, 2000
|
||||
.Name = "PD-50",
|
||||
.ShortName = "PD50",
|
||||
.SyncLen = 20e-3,
|
||||
.PorchLen = 2.08e-3,
|
||||
.SeparatorLen = 0e-3,
|
||||
.PixelLen = 0.286e-3,
|
||||
.LineLen = 388.16e-3,
|
||||
.SyncTime = 20e-3,
|
||||
.PorchTime = 2.08e-3,
|
||||
.SeptrTime = 0e-3,
|
||||
.PixelTime = 0.286e-3,
|
||||
.LineTime = 388.16e-3,
|
||||
.ImgWidth = 320,
|
||||
.NumLines = 256,
|
||||
.LineHeight = 1,
|
||||
|
@ -247,11 +247,11 @@ _ModeSpec ModeSpec[] = {
|
|||
[PD90] = { // N7CXI, 2000
|
||||
.Name = "PD-90",
|
||||
.ShortName = "PD90",
|
||||
.SyncLen = 20e-3,
|
||||
.PorchLen = 2.08e-3,
|
||||
.SeparatorLen = 0e-3,
|
||||
.PixelLen = 0.532e-3,
|
||||
.LineLen = 703.04e-3,
|
||||
.SyncTime = 20e-3,
|
||||
.PorchTime = 2.08e-3,
|
||||
.SeptrTime = 0e-3,
|
||||
.PixelTime = 0.532e-3,
|
||||
.LineTime = 703.04e-3,
|
||||
.ImgWidth = 320,
|
||||
.NumLines = 256,
|
||||
.LineHeight = 1,
|
||||
|
@ -260,11 +260,11 @@ _ModeSpec ModeSpec[] = {
|
|||
[PD120] = { // N7CXI, 2000
|
||||
.Name = "PD-120",
|
||||
.ShortName = "PD120",
|
||||
.SyncLen = 20e-3,
|
||||
.PorchLen = 2.08e-3,
|
||||
.SeparatorLen = 0e-3,
|
||||
.PixelLen = 0.19e-3,
|
||||
.LineLen = 508.48e-3,
|
||||
.SyncTime = 20e-3,
|
||||
.PorchTime = 2.08e-3,
|
||||
.SeptrTime = 0e-3,
|
||||
.PixelTime = 0.19e-3,
|
||||
.LineTime = 508.48e-3,
|
||||
.ImgWidth = 640,
|
||||
.NumLines = 496,
|
||||
.LineHeight = 1,
|
||||
|
@ -273,11 +273,11 @@ _ModeSpec ModeSpec[] = {
|
|||
[PD160] = { // N7CXI, 2000
|
||||
.Name = "PD-160",
|
||||
.ShortName = "PD160",
|
||||
.SyncLen = 20e-3,
|
||||
.PorchLen = 2.08e-3,
|
||||
.SeparatorLen = 0e-3,
|
||||
.PixelLen = 0.382e-3,
|
||||
.LineLen = 804.416e-3,
|
||||
.SyncTime = 20e-3,
|
||||
.PorchTime = 2.08e-3,
|
||||
.SeptrTime = 0e-3,
|
||||
.PixelTime = 0.382e-3,
|
||||
.LineTime = 804.416e-3,
|
||||
.ImgWidth = 512,
|
||||
.NumLines = 400,
|
||||
.LineHeight = 1,
|
||||
|
@ -286,11 +286,11 @@ _ModeSpec ModeSpec[] = {
|
|||
[PD180] = { // N7CXI, 2000
|
||||
.Name = "PD-180",
|
||||
.ShortName = "PD180",
|
||||
.SyncLen = 20e-3,
|
||||
.PorchLen = 2.08e-3,
|
||||
.SeparatorLen = 0e-3,
|
||||
.PixelLen = 0.286e-3,
|
||||
.LineLen = 754.24e-3,
|
||||
.SyncTime = 20e-3,
|
||||
.PorchTime = 2.08e-3,
|
||||
.SeptrTime = 0e-3,
|
||||
.PixelTime = 0.286e-3,
|
||||
.LineTime = 754.24e-3,
|
||||
.ImgWidth = 640,
|
||||
.NumLines = 496,
|
||||
.LineHeight = 1,
|
||||
|
@ -299,11 +299,11 @@ _ModeSpec ModeSpec[] = {
|
|||
[PD240] = { // N7CXI, 2000
|
||||
.Name = "PD-240",
|
||||
.ShortName = "PD240",
|
||||
.SyncLen = 20e-3,
|
||||
.PorchLen = 2.08e-3,
|
||||
.SeparatorLen = 0e-3,
|
||||
.PixelLen = 0.382e-3,
|
||||
.LineLen = 1000e-3,
|
||||
.SyncTime = 20e-3,
|
||||
.PorchTime = 2.08e-3,
|
||||
.SeptrTime = 0e-3,
|
||||
.PixelTime = 0.382e-3,
|
||||
.LineTime = 1000e-3,
|
||||
.ImgWidth = 640,
|
||||
.NumLines = 496,
|
||||
.LineHeight = 1,
|
||||
|
@ -312,11 +312,11 @@ _ModeSpec ModeSpec[] = {
|
|||
[PD290] = { // N7CXI, 2000
|
||||
.Name = "PD-290",
|
||||
.ShortName = "PD290",
|
||||
.SyncLen = 20e-3,
|
||||
.PorchLen = 2.08e-3,
|
||||
.SeparatorLen = 0e-3,
|
||||
.PixelLen = 0.286e-3,
|
||||
.LineLen = 937.28e-3,
|
||||
.SyncTime = 20e-3,
|
||||
.PorchTime = 2.08e-3,
|
||||
.SeptrTime = 0e-3,
|
||||
.PixelTime = 0.286e-3,
|
||||
.LineTime = 937.28e-3,
|
||||
.ImgWidth = 800,
|
||||
.NumLines = 616,
|
||||
.LineHeight = 1,
|
||||
|
@ -325,11 +325,11 @@ _ModeSpec ModeSpec[] = {
|
|||
[P3] = { // N7CXI, 2000
|
||||
.Name = "Pasokon P3",
|
||||
.ShortName = "P3",
|
||||
.SyncLen = 5.208e-3,
|
||||
.PorchLen = 1.042e-3,
|
||||
.SeparatorLen = 1.042e-3,
|
||||
.PixelLen = 0.2083e-3,
|
||||
.LineLen = 409.375e-3,
|
||||
.SyncTime = 5.208e-3,
|
||||
.PorchTime = 1.042e-3,
|
||||
.SeptrTime = 1.042e-3,
|
||||
.PixelTime = 0.2083e-3,
|
||||
.LineTime = 409.375e-3,
|
||||
.ImgWidth = 640,
|
||||
.NumLines = 496,
|
||||
.LineHeight = 1,
|
||||
|
@ -338,11 +338,11 @@ _ModeSpec ModeSpec[] = {
|
|||
[P5] = { // N7CXI, 2000
|
||||
.Name = "Pasokon P5",
|
||||
.ShortName = "P5",
|
||||
.SyncLen = 7.813e-3,
|
||||
.PorchLen = 1.563e-3,
|
||||
.SeparatorLen = 1.563e-3,
|
||||
.PixelLen = 0.3125e-3,
|
||||
.LineLen = 614.065e-3,
|
||||
.SyncTime = 7.813e-3,
|
||||
.PorchTime = 1.563e-3,
|
||||
.SeptrTime = 1.563e-3,
|
||||
.PixelTime = 0.3125e-3,
|
||||
.LineTime = 614.065e-3,
|
||||
.ImgWidth = 640,
|
||||
.NumLines = 496,
|
||||
.LineHeight = 1,
|
||||
|
@ -351,11 +351,11 @@ _ModeSpec ModeSpec[] = {
|
|||
[P7] = { // N7CXI, 2000
|
||||
.Name = "Pasokon P7",
|
||||
.ShortName = "P7",
|
||||
.SyncLen = 10.417e-3,
|
||||
.PorchLen = 2.083e-3,
|
||||
.SeparatorLen = 2.083e-3,
|
||||
.PixelLen = 0.4167e-3,
|
||||
.LineLen = 818.747e-3,
|
||||
.SyncTime = 10.417e-3,
|
||||
.PorchTime = 2.083e-3,
|
||||
.SeptrTime = 2.083e-3,
|
||||
.PixelTime = 0.4167e-3,
|
||||
.LineTime = 818.747e-3,
|
||||
.ImgWidth = 640,
|
||||
.NumLines = 496,
|
||||
.LineHeight = 1,
|
||||
|
|
6
slowrx.c
6
slowrx.c
|
@ -83,14 +83,14 @@ void *Listen() {
|
|||
|
||||
// Allocate space for cached Lum
|
||||
free(StoredLum);
|
||||
StoredLum = calloc( (int)((ModeSpec[CurrentPic.Mode].LineLen * ModeSpec[CurrentPic.Mode].NumLines + 1) * 44100), sizeof(guchar));
|
||||
StoredLum = calloc( (int)((ModeSpec[CurrentPic.Mode].LineTime * ModeSpec[CurrentPic.Mode].NumLines + 1) * 44100), sizeof(guchar));
|
||||
if (StoredLum == NULL) {
|
||||
perror("Listen: Unable to allocate memory for Lum");
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
// Allocate space for sync signal
|
||||
HasSync = calloc((int)(ModeSpec[CurrentPic.Mode].LineLen * ModeSpec[CurrentPic.Mode].NumLines / (13.0/44100) +1), sizeof(gboolean));
|
||||
HasSync = calloc((int)(ModeSpec[CurrentPic.Mode].LineTime * ModeSpec[CurrentPic.Mode].NumLines / (13.0/44100) +1), sizeof(gboolean));
|
||||
if (HasSync == NULL) {
|
||||
perror("Listen: Unable to allocate memory for sync signal");
|
||||
exit(EXIT_FAILURE);
|
||||
|
@ -169,7 +169,7 @@ void *Listen() {
|
|||
LumFile = fopen(lumfilename,"w");
|
||||
if (LumFile == NULL)
|
||||
perror("Unable to open luma file for writing");
|
||||
fwrite(StoredLum,1,(ModeSpec[Mode].LineLen * ModeSpec[Mode].NumLines) * 44100,LumFile);
|
||||
fwrite(StoredLum,1,(ModeSpec[Mode].LineTime * ModeSpec[Mode].NumLines) * 44100,LumFile);
|
||||
fclose(LumFile);*/
|
||||
|
||||
saveCurrentPic();
|
||||
|
|
12
sync.c
12
sync.c
|
@ -17,7 +17,7 @@
|
|||
*/
|
||||
double FindSync (guchar Mode, double Rate, int *Skip) {
|
||||
|
||||
int LineWidth = ModeSpec[Mode].LineLen / ModeSpec[Mode].SyncLen * 4;
|
||||
int LineWidth = ModeSpec[Mode].LineTime / ModeSpec[Mode].SyncTime * 4;
|
||||
int x,y;
|
||||
int q, d, qMost, dMost;
|
||||
gushort xAcc[700] = {0};
|
||||
|
@ -36,7 +36,7 @@ double FindSync (guchar Mode, double Rate, int *Skip) {
|
|||
|
||||
for (y=0; y<ModeSpec[Mode].NumLines; y++) {
|
||||
for (x=0; x<LineWidth; x++) {
|
||||
t = (y + 1.0*x/LineWidth) * ModeSpec[Mode].LineLen;
|
||||
t = (y + 1.0*x/LineWidth) * ModeSpec[Mode].LineTime;
|
||||
SyncImg[x][y] = HasSync[ (int)( t * Rate / 13.0) ];
|
||||
}
|
||||
}
|
||||
|
@ -97,7 +97,7 @@ double FindSync (guchar Mode, double Rate, int *Skip) {
|
|||
memset(xAcc, 0, sizeof(xAcc[0]) * 700);
|
||||
for (y=0; y<ModeSpec[Mode].NumLines; y++) {
|
||||
for (x=0; x<700; x++) {
|
||||
t = y * ModeSpec[Mode].LineLen + x/700.0 * ModeSpec[Mode].LineLen;
|
||||
t = y * ModeSpec[Mode].LineTime + x/700.0 * ModeSpec[Mode].LineTime;
|
||||
xAcc[x] += HasSync[ (int)(t / (13.0/44100) * Rate/44100) ];
|
||||
}
|
||||
}
|
||||
|
@ -117,12 +117,12 @@ double FindSync (guchar Mode, double Rate, int *Skip) {
|
|||
if (xmax > 350) xmax -= 350;
|
||||
|
||||
// Skip until the start of the line
|
||||
s = xmax / 700.0 * ModeSpec[Mode].LineLen - ModeSpec[Mode].SyncLen;
|
||||
s = xmax / 700.0 * ModeSpec[Mode].LineTime - ModeSpec[Mode].SyncTime;
|
||||
|
||||
// (Scottie modes don't start lines with sync)
|
||||
if (Mode == S1 || Mode == S2 || Mode == SDX)
|
||||
s = s - ModeSpec[Mode].PixelLen * ModeSpec[Mode].ImgWidth / 2.0
|
||||
+ ModeSpec[Mode].PorchLen * 2;
|
||||
s = s - ModeSpec[Mode].PixelTime * ModeSpec[Mode].ImgWidth / 2.0
|
||||
+ ModeSpec[Mode].PorchTime * 2;
|
||||
|
||||
*Skip = s * Rate;
|
||||
|
||||
|
|
28
video.c
28
video.c
|
@ -62,27 +62,27 @@ gboolean GetVideo(guchar Mode, double Rate, int Skip, gboolean Redraw) {
|
|||
|
||||
case R36:
|
||||
case R24:
|
||||
ChanLen[0] = ModeSpec[Mode].PixelLen * ModeSpec[Mode].ImgWidth * 2;
|
||||
ChanLen[1] = ChanLen[2] = ModeSpec[Mode].PixelLen * ModeSpec[Mode].ImgWidth;
|
||||
ChanStart[0] = ModeSpec[Mode].SyncLen + ModeSpec[Mode].PorchLen;
|
||||
ChanStart[1] = ChanStart[0] + ChanLen[0] + ModeSpec[Mode].SeparatorLen;
|
||||
ChanLen[0] = ModeSpec[Mode].PixelTime * ModeSpec[Mode].ImgWidth * 2;
|
||||
ChanLen[1] = ChanLen[2] = ModeSpec[Mode].PixelTime * ModeSpec[Mode].ImgWidth;
|
||||
ChanStart[0] = ModeSpec[Mode].SyncTime + ModeSpec[Mode].PorchTime;
|
||||
ChanStart[1] = ChanStart[0] + ChanLen[0] + ModeSpec[Mode].SeptrTime;
|
||||
ChanStart[2] = ChanStart[1];
|
||||
break;
|
||||
|
||||
case S1:
|
||||
case S2:
|
||||
case SDX:
|
||||
ChanLen[0] = ChanLen[1] = ChanLen[2] = ModeSpec[Mode].PixelLen * ModeSpec[Mode].ImgWidth;
|
||||
ChanStart[0] = ModeSpec[Mode].SeparatorLen;
|
||||
ChanStart[1] = ChanStart[0] + ChanLen[0] + ModeSpec[Mode].SeparatorLen;
|
||||
ChanStart[2] = ChanStart[1] + ChanLen[1] + ModeSpec[Mode].SyncLen + ModeSpec[Mode].PorchLen;
|
||||
ChanLen[0] = ChanLen[1] = ChanLen[2] = ModeSpec[Mode].PixelTime * ModeSpec[Mode].ImgWidth;
|
||||
ChanStart[0] = ModeSpec[Mode].SeptrTime;
|
||||
ChanStart[1] = ChanStart[0] + ChanLen[0] + ModeSpec[Mode].SeptrTime;
|
||||
ChanStart[2] = ChanStart[1] + ChanLen[1] + ModeSpec[Mode].SyncTime + ModeSpec[Mode].PorchTime;
|
||||
break;
|
||||
|
||||
default:
|
||||
ChanLen[0] = ChanLen[1] = ChanLen[2] = ModeSpec[Mode].PixelLen * ModeSpec[Mode].ImgWidth;
|
||||
ChanStart[0] = ModeSpec[Mode].SyncLen + ModeSpec[Mode].PorchLen;
|
||||
ChanStart[1] = ChanStart[0] + ChanLen[0] + ModeSpec[Mode].SeparatorLen;
|
||||
ChanStart[2] = ChanStart[1] + ChanLen[1] + ModeSpec[Mode].SeparatorLen;
|
||||
ChanLen[0] = ChanLen[1] = ChanLen[2] = ModeSpec[Mode].PixelTime * ModeSpec[Mode].ImgWidth;
|
||||
ChanStart[0] = ModeSpec[Mode].SyncTime + ModeSpec[Mode].PorchTime;
|
||||
ChanStart[1] = ChanStart[0] + ChanLen[0] + ModeSpec[Mode].SeptrTime;
|
||||
ChanStart[2] = ChanStart[1] + ChanLen[1] + ModeSpec[Mode].SeptrTime;
|
||||
break;
|
||||
|
||||
}
|
||||
|
@ -118,7 +118,7 @@ gboolean GetVideo(guchar Mode, double Rate, int Skip, gboolean Redraw) {
|
|||
PixelGrid[PixelIdx].Channel = Channel;
|
||||
}
|
||||
|
||||
PixelGrid[PixelIdx].Time = (int)round(Rate * (y * ModeSpec[Mode].LineLen + ChanStart[Channel] +
|
||||
PixelGrid[PixelIdx].Time = (int)round(Rate * (y * ModeSpec[Mode].LineTime + ChanStart[Channel] +
|
||||
(1.0*(x-.5)/ModeSpec[Mode].ImgWidth*ChanLen[PixelGrid[PixelIdx].Channel]))) + Skip;
|
||||
|
||||
|
||||
|
@ -173,7 +173,7 @@ gboolean GetVideo(guchar Mode, double Rate, int Skip, gboolean Redraw) {
|
|||
gtk_image_set_from_pixbuf(GTK_IMAGE(gui.image_rx), pixbuf_disp);
|
||||
gdk_threads_leave();
|
||||
|
||||
Length = ModeSpec[Mode].LineLen * ModeSpec[Mode].NumLines * 44100;
|
||||
Length = ModeSpec[Mode].LineTime * ModeSpec[Mode].NumLines * 44100;
|
||||
SyncTargetBin = GetBin(1200+CurrentPic.HedrShift, FFTLen);
|
||||
Abort = FALSE;
|
||||
SyncSampleNum = 0;
|
||||
|
|
Ładowanie…
Reference in New Issue