diff options
author | Gregory Maxwell <greg@xiph.org> | 2009-02-27 01:05:37 +0300 |
---|---|---|
committer | Gregory Maxwell <greg@xiph.org> | 2009-02-27 01:05:37 +0300 |
commit | dd91338b0a7ec2a7675a9aaf22a9377c34a10674 (patch) | |
tree | ebe3b07c3a23c9774e71ad73919e6ab23fed83db /tools | |
parent | f0d6e319031ceee8300a7f3b37c316011b9cb973 (diff) |
Add version info to celtenc/celtdec output as suggested on the
mailing list by Rob Til Freedmen. Also add a bitstream version
check to these applications.
Diffstat (limited to 'tools')
-rw-r--r-- | tools/celtdec.c | 11 | ||||
-rw-r--r-- | tools/celtenc.c | 20 |
2 files changed, 21 insertions, 10 deletions
diff --git a/tools/celtdec.c b/tools/celtdec.c index 2a5eb7e..396aaf7 100644 --- a/tools/celtdec.c +++ b/tools/celtdec.c @@ -276,13 +276,13 @@ void usage(void) void version(void) { - printf ("celtenc (CELT encoder)\n"); + printf ("celtenc (CELT %s encoder)\n",CELT_VERSION); printf ("Copyright (C) 2008 Jean-Marc Valin\n"); } void version_short(void) { - printf ("celtenc (CELT encoder)\n"); + printf ("celtenc (CELT %s encoder)\n",CELT_VERSION); printf ("Copyright (C) 2008 Jean-Marc Valin\n"); } @@ -290,6 +290,7 @@ static CELTDecoder *process_header(ogg_packet *op, celt_int32_t enh_enabled, cel { CELTDecoder *st; CELTHeader header; + int bitstream; celt_header_from_packet(op->packet, op->bytes, &header); @@ -304,6 +305,12 @@ static CELTDecoder *process_header(ogg_packet *op, celt_int32_t enh_enabled, cel fprintf (stderr, "Mode initialization failed.\n"); return NULL; } + + + celt_mode_info(*mode, CELT_GET_BITSTREAM_VERSION, &bitstream); + if (bitstream!=header.version_id) + fprintf(stderr, "WARNING: Input was encoded with a CELT bitstream version %d. This decoder uses %d. Output will probably be corrupted.\n",header.version_id,bitstream); + *channels = header.nb_channels; *overlap=header.overlap; st = celt_decoder_create(*mode); diff --git a/tools/celtenc.c b/tools/celtenc.c index 8cbb58c..0ffcf47 100644 --- a/tools/celtenc.c +++ b/tools/celtenc.c @@ -185,13 +185,13 @@ void add_fisbone_packet (ogg_stream_state *os, celt_int32_t serialno, CELTHeader void version(void) { - printf ("celtenc (CELT encoder)\n"); + printf ("celtenc (CELT %s encoder)\n",CELT_VERSION); printf ("Copyright (C) 2008 Jean-Marc Valin\n"); } void version_short(void) { - printf ("celtenc (CELT encoder)\n"); + printf ("celtenc (CELT %s encoder)\n",CELT_VERSION); printf ("Copyright (C) 2008 Jean-Marc Valin\n"); } @@ -295,10 +295,8 @@ int main(int argc, char **argv) celt_int32_t lookahead = 0; int bytes_per_packet=48; int complexity=-127; - - snprintf(vendor_string, sizeof(vendor_string), "Encoded with CELT\n"); - - comment_init(&comments, &comments_length, vendor_string); + int bitstream; + /*Process command-line options*/ while(1) @@ -469,6 +467,12 @@ int main(int argc, char **argv) mode = celt_mode_create(rate, chan, frame_size, NULL); if (!mode) return 1; + + celt_mode_info(mode,CELT_GET_BITSTREAM_VERSION,&bitstream); + + snprintf(vendor_string, sizeof(vendor_string), "Encoded with CELT %s (bitstream: %d)\n",CELT_VERSION,bitstream); + comment_init(&comments, &comments_length, vendor_string); + celt_mode_info(mode, CELT_GET_FRAME_SIZE, &frame_size); celt_header_init(&header, mode); @@ -479,8 +483,8 @@ int main(int argc, char **argv) if (chan==2) st_string="stereo"; if (!quiet) - fprintf (stderr, "Encoding %d Hz %s audio in %d sample packets at %0.3fkbit/sec (%d bytes per packet)\n", - header.sample_rate, st_string, frame_size, bitrate, bytes_per_packet); + fprintf (stderr, "Encoding %d Hz %s audio in %d sample packets at %0.3fkbit/sec (%d bytes per packet) with bitstream version %d\n", + header.sample_rate, st_string, frame_size, bitrate, bytes_per_packet,bitstream); } /*Initialize CELT encoder*/ |