void SVC_input_null::init(int codec,int color_mode, int buffer_size, int rtp_flag, char* addr, int port, char* output_addr, int output_port) { //setting network configuration m_input_addr = addr; m_input_port = port; m_output_addr = output_addr; m_output_port = output_port; m_color_mode = color_mode; m_codec = codec; m_byte_pixel = convert_format2pixelbyte(m_color_mode); m_buffer_size = buffer_size; //setting decoder configuration select_decoder(codec); }
unsigned int read_decoder(int index){ unsigned char lowbyte; unsigned int highbyte; select_decoder(index); // select decoder to read using mux selects // set OE low and set SEL low to enable inhibit logic PORTK &= ~0b11; delayMicroseconds(10); //wait for edge highbyte = read_decoder_byte(); //set select high PORTK |= 1; delayMicroseconds(10); // wait for edge lowbyte = read_decoder_byte(); //set OE high PORTK |= (1<<1); // invert number (mux outputs inverted signals) return ~((highbyte << 8) | lowbyte); }