Additional changes for quality setting.

pull/4/head
Philip Heron 2016-06-30 10:11:20 +01:00
rodzic 6ac66a047f
commit 6ff1a1073a
2 zmienionych plików z 4 dodań i 3 usunięć

3
main.c
Wyświetl plik

@ -139,7 +139,7 @@ int main(int argc, char *argv[])
ssdv_dec_header(&p, pkt);
fprintf(stderr, "Decoded image packet. Callsign: %s, Image ID: %d, Resolution: %dx%d, Packet ID: %d (%d errors corrected)\n"
">> Type: %d, EOI: %d, MCU Mode: %d, MCU Offset: %d, MCU ID: %d/%d\n",
">> Type: %d, Quality: %d, EOI: %d, MCU Mode: %d, MCU Offset: %d, MCU ID: %d/%d\n",
p.callsign_s,
p.image_id,
p.width,
@ -147,6 +147,7 @@ int main(int argc, char *argv[])
p.packet_id,
errors,
p.type,
p.quality,
p.eoi,
p.mcu_mode,
p.mcu_offset,

4
ssdv.c
Wyświetl plik

@ -1244,7 +1244,7 @@ char ssdv_dec_feed(ssdv_t *s, uint8_t *packet)
s->width = packet[9] << 4;
s->height = packet[10] << 4;
s->mcu_count = packet[9] * packet[10];
s->quality = ((((packet[11] >> 3) & 7) ^ 4) - 4) + 4;
s->quality = ((packet[11] >> 3) & 7) ^ 4;
s->mcu_mode = packet[11] & 0x03;
/* Configure the payload size and CRC position */
@ -1468,7 +1468,7 @@ void ssdv_dec_header(ssdv_packet_info_t *info, uint8_t *packet)
info->width = packet[9] << 4;
info->height = packet[10] << 4;
info->eoi = (packet[11] >> 2) & 1;
info->quality = (packet[11] >> 3) & 7;
info->quality = ((packet[11] >> 3) & 7) ^ 4;
info->mcu_mode = packet[11] & 0x03;
info->mcu_offset = packet[12];
info->mcu_id = (packet[13] << 8) | packet[14];