Skip to content
Snippets Groups Projects
Commit a0fa523a authored by Vipin Thomas's avatar Vipin Thomas
Browse files

Update pixel.cpp

parent 480cff9e
No related branches found
No related tags found
No related merge requests found
#include <iostream>
#include <hls_stream.h>
#include <ap_axi_sdata.h>
#include <math.h>
#include<math.h>
using namespace std;
......@@ -13,29 +13,27 @@ static int decrpyt=0;
static long long asciiNum=0;
static int asciiVal=0;
long long convert(int n);
long long convert(int n);
long long toAscii(chr number);
int convertBinInt(long long n);
char stegnoDcrypt(int data);
void stegno(char c);
void stegnoDcrypt(int data);
int stegno(int c,int data,int position1,int position2);
void pixel(
ap_int<32> position1,
ap_int<32> position2,
ap_int<32> w,
ap_int<32> h,
ap_int<32> stream_count,
ap_int<32> character,
ap_int<32> selector,
ap_int<32> selector,
hls::stream< pkt_t > &din,
hls::stream< pkt_t > &dout
) {
#pragma HLS INTERFACE ap_ctrl_none port=return
#pragma HLS INTERFACE s_axilite port=position1
#pragma HLS INTERFACE s_axilite port=position2
#pragma HLS INTERFACE s_axilite port=w
#pragma HLS INTERFACE s_axilite port=h
#pragma HLS INTERFACE s_axilite port=stream_count
#pragma HLS INTERFACE s_axilite port=character
#pragma HLS INTERFACE s_axilite port=selector //switch for encrypt and decrypt
#pragma HLS INTERFACE s_axilite port=selector
#pragma HLS INTERFACE axis port=din
#pragma HLS INTERFACE axis port=dout
......@@ -44,7 +42,7 @@ void pixel(
switch(selector)
{
case 0:
stegno(character);
pkt.data=stegno(character,pkt.data,position1,position2);
break;
case 1:
......@@ -57,10 +55,10 @@ void pixel(
count_streams++;
if (count_streams == w*h*3){
if (count_streams == stream_count){
count_streams = 0;
asciiVal= convertBinInt(asciiNum);
pkt.data=asciiVal
pkt.data=asciiVal;
dout.write(pkt);
}
......@@ -71,27 +69,27 @@ void pixel(
dout.write(pkt);
}
void stegno(char c){
// to check
charIn=toAscii(c);
if(count_streams > 3 * (position1 - 1) && count_streams < 3 * (position2)){
int stegno(int c,int data,int position1,int position2){
charIn=toAscii((char)c);
if((count_streams > 3 * (position1 - 1)) && (count_streams < 3 * (position2))){
addNum=charIn%10;
charIn=(int)charIn/10;
pkt.data=convertBinInt((convert(pkt.data)/10)*10+addNum);
}
return convertBinInt((convert(data)/10)*10+addNum);
}
long long stegnoDcrypt(int data){
void stegnoDcrypt(int data){
decrpyt=convert(data)%10;
asciiNum=asciiNum*10+decrpyt;
}
long long convert(int n) {
long long bin = 0;
......@@ -119,5 +117,5 @@ int convertBinInt(long long n) {
long long toAscii(char c) {
int n=(int)c;
long long bin = convert(n);
return bin;
return bin;
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment