1 /* 2 libltc - en+decode linear timecode 3 4 Copyright (C) 2006-2012 Robin Gareus <robin@gareus.org> 5 6 This program is free software; you can redistribute it and/or modify 7 it under the terms of the GNU Lesser General Public License as 8 published by the Free Software Foundation, either version 3 of the 9 License, or (at your option) any later version. 10 11 This program is distributed in the hope that it will be useful, 12 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 GNU Lesser General Public License for more details. 15 16 You should have received a copy of the GNU Lesser General Public 17 License along with this library. 18 If not, see <http://www.gnu.org/licenses/>. 19 */ 20 21 #include "ltc.h" 22 #ifndef SAMPLE_CENTER // also defined in decoder.h 23 #define SAMPLE_CENTER 128 // unsigned 8 bit. 24 #endif 25 26 struct LTCEncoder { 27 double fps; 28 double sample_rate; 29 double filter_const; 30 int flags; 31 enum LTC_TV_STANDARD standard; 32 ltcsnd_sample_t enc_lo, enc_hi; 33 34 size_t offset; 35 size_t bufsize; 36 ltcsnd_sample_t *buf; 37 38 char state; 39 40 double samples_per_clock; 41 double samples_per_clock_2; 42 double sample_remainder; 43 44 LTCFrame f; 45 }; 46 47 int encode_byte(LTCEncoder *e, int byte, double speed); 48