- #1
Ben321
- 1
- 0
I found this thread https://www.physicsforums.com/threads/software-ntsc-decoding.47403/ , where somebody had a similar requirement, but it's old and locked so I can't post in it. However I really need such software decoder (one that has been verified by engineers intimately familiar with the NTSC standard) as a reference for an NTSC software ENCODER that I'm writing. No single document online has all the NTSC specs, and some websites that have info on it seem to contradict other websites that cover the same info. The result is I've pieced together a piece of software that I believe (but am not 100% sure) creates a single frame as a file, using a standard JPEG image as the source. The output file from my program is a raw data file, consisting of a sequence of 64bit IEEE Double Precision Floating Point data values, which range from -40 to 100 (the valid range of IRE values in the NTSC standard). The final output is a raw waveform of a single frame (vertical and horizontal syncs, and color bursts, and 2 fields, all the stuff that an NTSC frame requires). The sample rate of the synthesized NTSC frame is 13,688,213 Hz, which I chose so that one sample of waveform data corresponds to exactly one pixel of the image. Each sample therefore lasts 7.3055555e-8 seconds.
Remember above I said I BELIEVE that the output is correct to the NTSC standard, but because of difficulty finding the information required, I'm not 100% sure that the saved waveform is actually NTSC compatible. To verify that it does in fact comply with NTSC standard, I will need a DECODER software, that will do with a single frame, what an analog TV hardware would do with an entire stream of frames. I need software that will take in my raw waveform file with 64bit double precision floating point values, and decode an image from it, and display that image on the screen. If such a piece of decoder software successfully decodes my NTSC waveform file, then I will know that my encoder software is correct by the NTSC standard. If such a decoder software displays a distorted image, or has bad color, etc (or doesn't display anything at all), then I will know that there is something wrong with encoder software.
Note that such decoder software to test the file output of my software can't be created like I did of just taking stuff off the net and piecing it together. The decoder software I'm looking for will need to be verified by engineers who are intimately familiar with the NTSC standard, so that I can be 100% certain that I'm actually correctly validating the output of my software. Otherwise, the person who wrote the decoder might have made an equivalent mistake to some mistake I made in writing my encoder, and if the 2 mistakes canceled out, it might display an image, and I would come away with the false conclusion that my software did output a correct NTSC frame.
Remember above I said I BELIEVE that the output is correct to the NTSC standard, but because of difficulty finding the information required, I'm not 100% sure that the saved waveform is actually NTSC compatible. To verify that it does in fact comply with NTSC standard, I will need a DECODER software, that will do with a single frame, what an analog TV hardware would do with an entire stream of frames. I need software that will take in my raw waveform file with 64bit double precision floating point values, and decode an image from it, and display that image on the screen. If such a piece of decoder software successfully decodes my NTSC waveform file, then I will know that my encoder software is correct by the NTSC standard. If such a decoder software displays a distorted image, or has bad color, etc (or doesn't display anything at all), then I will know that there is something wrong with encoder software.
Note that such decoder software to test the file output of my software can't be created like I did of just taking stuff off the net and piecing it together. The decoder software I'm looking for will need to be verified by engineers who are intimately familiar with the NTSC standard, so that I can be 100% certain that I'm actually correctly validating the output of my software. Otherwise, the person who wrote the decoder might have made an equivalent mistake to some mistake I made in writing my encoder, and if the 2 mistakes canceled out, it might display an image, and I would come away with the false conclusion that my software did output a correct NTSC frame.