Commit 71b3b88d authored by Ralph Giles's avatar Ralph Giles

List Stan Seibert as the primary contributer for ogg123 and update

Kenneth Arnold's email. Changes made by request of Mr. Arnold.
Closes issue 536.

svn path=/trunk/vorbis-tools/; revision=8422
parent e59564c5
......@@ -5,7 +5,7 @@ oggdec:
Michael Smith <msmith@xiph.org>
ogg123:
Kenneth Arnold <ogg123@arnoldnet.net>
Kenneth Arnold <kcarnold-xiph@arnoldnet.net>
Stan Seibert <volsung@xiph.org>
Segher Boessenkool <segher@xiph.org>
......
......@@ -3,7 +3,7 @@ Tue, 31 Oct 2000 16:38:42 -0600.
It was downloaded from http://www.vorbis.com/download_unix.psp
Upstream Authors: Kenneth Arnold <ogg123@arnoldnet.net>
Upstream Authors: Kenneth Arnold <kcarnold-xiph@arnoldnet.net>
Segher Boessenkool <segher@xiph.org>
Stan Seibert <volsung@xiph.org>
Michael Smith <msmith@xiph.org>
......
......@@ -6,7 +6,7 @@
* PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE Ogg123 SOURCE CODE IS (C) COPYRIGHT 2000-2001 *
* by Kenneth C. Arnold <ogg@arnoldnet.net> AND OTHER CONTRIBUTORS *
* by Stan Seibert <volsung@xiph.org> AND OTHER CONTRIBUTORS *
* http://www.xiph.org/ *
* *
********************************************************************
......
......@@ -6,7 +6,7 @@
* PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE Ogg123 SOURCE CODE IS (C) COPYRIGHT 2000-2001 *
* by Kenneth C. Arnold <ogg@arnoldnet.net> AND OTHER CONTRIBUTORS *
* by Stan Seibert <volsung@xiph.org> AND OTHER CONTRIBUTORS *
* http://www.xiph.org/ *
* *
********************************************************************
......
......@@ -6,7 +6,7 @@
* PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE Ogg123 SOURCE CODE IS (C) COPYRIGHT 2000-2001 *
* by Kenneth C. Arnold <ogg@arnoldnet.net> AND OTHER CONTRIBUTORS *
* by Stan Seibert <volsung@xiph.org> AND OTHER CONTRIBUTORS *
* http://www.xiph.org/ *
* *
********************************************************************
......
......@@ -6,7 +6,7 @@
* PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE Ogg123 SOURCE CODE IS (C) COPYRIGHT 2000-2001 *
* by Kenneth C. Arnold <ogg@arnoldnet.net> AND OTHER CONTRIBUTORS *
* by Stan Seibert <volsung@xiph.org> AND OTHER CONTRIBUTORS *
* http://www.xiph.org/ *
* *
********************************************************************
......
......@@ -6,7 +6,7 @@
* PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE Ogg123 SOURCE CODE IS (C) COPYRIGHT 2000-2001 *
* by Kenneth C. Arnold <ogg@arnoldnet.net> AND OTHER CONTRIBUTORS *
* by Stan Seibert <volsung@xiph.org> AND OTHER CONTRIBUTORS *
* http://www.xiph.org/ *
* *
********************************************************************
......
......@@ -6,7 +6,7 @@
* PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE Ogg123 SOURCE CODE IS (C) COPYRIGHT 2000-2001 *
* by Kenneth C. Arnold <ogg@arnoldnet.net> AND OTHER CONTRIBUTORS *
* by Stan Seibert <volsung@xiph.org> AND OTHER CONTRIBUTORS *
* http://www.xiph.org/ *
* *
********************************************************************
......
......@@ -6,7 +6,7 @@
* PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE Ogg123 SOURCE CODE IS (C) COPYRIGHT 2000-2001 *
* by Kenneth C. Arnold <ogg@arnoldnet.net> AND OTHER CONTRIBUTORS *
* by Stan Seibert <volsung@xiph.org> AND OTHER CONTRIBUTORS *
* http://www.xiph.org/ *
* *
********************************************************************
......
......@@ -6,7 +6,7 @@
* PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE Ogg123 SOURCE CODE IS (C) COPYRIGHT 2000-2001 *
* by Kenneth C. Arnold <ogg@arnoldnet.net> AND OTHER CONTRIBUTORS *
* by Stan Seibert <volsung@xiph.org> AND OTHER CONTRIBUTORS *
* http://www.xiph.org/ *
* *
********************************************************************
......
......@@ -6,7 +6,7 @@
* PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE Ogg123 SOURCE CODE IS (C) COPYRIGHT 2000-2001 *
* by Kenneth C. Arnold <ogg@arnoldnet.net> AND OTHER CONTRIBUTORS *
* by Stan Seibert <volsung@xiph.org> AND OTHER CONTRIBUTORS *
* http://www.xiph.org/ *
* *
********************************************************************
......
......@@ -307,12 +307,12 @@ output driver if you need to use ogg123 in a pipe.
.TP
Program Authors:
.br
Kenneth Arnold <kcarnold@yahoo.com>
Kenneth Arnold <kcarnold-xiph@arnoldnet.net>
.br
Stan Seibert <indigo@aztec.asu.edu>
Stan Seibert <volsung@xiph.org>
.br
.TP
Manpage Author:
.br
Stan Seibert <indigo@aztec.asu.edu>
Stan Seibert <volsung@xiph.org>
/* ogg123.c by Kenneth Arnold <ogg123@arnoldnet.net> */
/* ogg123.c by Kenneth Arnold <kcarnold-xiph@arnoldnet.net> */
/* Maintained by Stan Seibert <volsung@xiph.org> */
/********************************************************************
......@@ -9,7 +9,7 @@
* PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE Ogg123 SOURCE CODE IS (C) COPYRIGHT 2000-2001 *
* by Kenneth C. Arnold <ogg@arnoldnet.net> AND OTHER CONTRIBUTORS *
* by Stan Seibert <volsung@xiph.org> AND OTHER CONTRIBUTORS *
* http://www.xiph.org/ *
* *
********************************************************************
......
......@@ -6,7 +6,7 @@
* PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE Ogg123 SOURCE CODE IS (C) COPYRIGHT 2000-2001 *
* by Kenneth C. Arnold <ogg@arnoldnet.net> AND OTHER CONTRIBUTORS *
* by Stan Seibert <volsung@xiph.org> AND OTHER CONTRIBUTORS *
* http://www.xiph.org/ *
* *
********************************************************************
......
......@@ -6,7 +6,7 @@
* PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE Ogg123 SOURCE CODE IS (C) COPYRIGHT 2000-2002 *
* by Kenneth C. Arnold <ogg@arnoldnet.net> AND OTHER CONTRIBUTORS *
* by Stan Seibert <volsung@xiph.org> AND OTHER CONTRIBUTORS *
* http://www.xiph.org/ *
* *
********************************************************************
......
......@@ -6,7 +6,7 @@
* PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE Ogg123 SOURCE CODE IS (C) COPYRIGHT 2000-2001 *
* by Kenneth C. Arnold <ogg@arnoldnet.net> AND OTHER CONTRIBUTORS *
* by Stan Seibert <volsung@xiph.org> AND OTHER CONTRIBUTORS *
* http://www.xiph.org/ *
* *
********************************************************************
......
......@@ -6,7 +6,7 @@
* PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE Ogg123 SOURCE CODE IS (C) COPYRIGHT 2000-2001 *
* by Kenneth C. Arnold <ogg@arnoldnet.net> AND OTHER CONTRIBUTORS *
* by Stan Seibert <volsung@xiph.org> AND OTHER CONTRIBUTORS *
* http://www.xiph.org/ *
* *
********************************************************************
......
......@@ -5,7 +5,7 @@
**
** Copyright 2000-2002, Michael Smith <msmith@xiph.org>
**
** Portions from Vorbize, (c) Kenneth Arnold <kcarnold@yahoo.com>
** Portions from Vorbize, (c) Kenneth Arnold <kcarnold-xiph@arnoldnet.net>
** and libvorbis examples, (c) Monty <monty@xiph.org>
**/
......
......@@ -5,7 +5,7 @@
*
* Copyright 2000-2002, Michael Smith <msmith@xiph.org>
*
* Portions from Vorbize, (c) Kenneth Arnold <kcarnold@yahoo.com>
* Portions from Vorbize, (c) Kenneth Arnold <kcarnold-xiph@arnoldnet.net>
* and libvorbis examples, (c) Monty <monty@xiph.org>
*/
......
......@@ -5,7 +5,7 @@
**
** Copyright 2000, Michael Smith <msmith@xiph.org>
**
** Portions from Vorbize, (c) Kenneth Arnold <kcarnold@yahoo.com>
** Portions from Vorbize, (c) Kenneth Arnold <kcarnold-xiph@arnoldnet.net>
** and libvorbis examples, (c) Monty <monty@xiph.org>
**/
......
......@@ -13,10 +13,10 @@ bin_PROGRAMS = ogginfo
mandir = @MANDIR@
man_MANS = $(mans)
INCLUDES = @SHARE_CFLAGS@ @OGG_CFLAGS@ @VORBIS_CFLAGS@ @I18N_CFLAGS@
INCLUDES = @SHARE_CFLAGS@ @OGG_CFLAGS@ @VORBIS_CFLAGS@ @I18N_CFLAGS@
ogginfo_LDADD = @SHARE_LIBS@ @VORBIS_LIBS@ @OGG_LIBS@ @LIBICONV@ @I18N_LIBS@
ogginfo_DEPENDENCIES = @SHARE_LIBS@
ogginfo_LDADD = @SHARE_LIBS@ @VORBIS_LIBS@ @OGG_LIBS@ @LIBICONV@ @I18N_LIBS@ -ltheora
ogginfo_DEPENDENCIES = @SHARE_LIBS@ -ltheora
ogginfo_SOURCES = $(ogginfosources)
EXTRA_ogginfo_SOURCES = $(man_MANS)
......
......@@ -16,6 +16,7 @@
#include <ogg/ogg.h>
#include <vorbis/codec.h>
#include <theora/theora.h>
#include <locale.h>
#include "utf8.h"
......@@ -37,6 +38,7 @@ struct vorbis_release {
{"Xiph.Org libVorbis I 20020717", "1.0"},
{"Xiph.Org libVorbis I 20030909", "1.0.1"},
{"Xiph.Org libVorbis I 20040629", "1.1.0"},
{"Xiph.Org libVorbis I 20040629", "1.1.0"},
{NULL, NULL},
};
......@@ -88,6 +90,17 @@ typedef struct {
int doneheaders;
} misc_vorbis_info;
typedef struct {
theora_info ti;
theora_comment tc;
ogg_int64_t bytes;
ogg_int64_t lastgranulepos;
ogg_int64_t firstgranulepos;
int doneheaders;
} misc_theora_info;
static int printinfo = 1;
static int printwarn = 1;
static int verbose = 1;
......@@ -415,6 +428,118 @@ static void vorbis_end(stream_processor *stream)
free(stream->data);
}
static void theora_process(stream_processor *stream, ogg_page *page )
{
ogg_packet packet;
misc_theora_info *inf = stream->data;
int i, header=0;
int k;
ogg_stream_pagein(&stream->os, page);
if(inf->doneheaders < 3)
header = 1;
while(ogg_stream_packetout(&stream->os, &packet) > 0) {
if(inf->doneheaders < 3) {
if(theora_decode_header(&inf->ti,&inf->tc,&packet)){
printf("Error parsing Theora stream headers; corrupt stream?\n");
exit(1);
}
inf->doneheaders++;
if(inf->doneheaders == 3) {
printf("Theora headers parsed for stream %d, information follows...\n\n",stream->num);
printf("Vendor: %s\n",inf->tc.vendor);
printf("Version: %d.%d.%d\n",inf->ti.version_major,inf->ti.version_minor,inf->ti.version_subminor);
printf("Size: %dx%d \n",inf->ti.width,inf->ti.height);
if(inf->ti.aspect_denominator){
printf("Pixel Aspect Ratio: %.2f/1 \n",(float)inf->ti.aspect_numerator/inf->ti.aspect_denominator);
printf("Frame Aspect Ratio: %.2f/1 \n",(float)(inf->ti.aspect_numerator*inf->ti.width)/(inf->ti.aspect_denominator*inf->ti.height));
}
else{
printf("No Aspect Ratio defined.\n");
}
printf("Colorspace: ");
switch(inf->ti.colorspace){
case OC_CS_ITU_REC_470BG:
printf("ITU_REC_470BG");
break;
case OC_CS_ITU_REC_470M:
printf("ITU_REC_470M");
break;
}
printf("\n");
printf("Quality: %.2f\n",(float)inf->ti.quality/6.3);
printf("Target Bitrate: %d \n",inf->ti.target_bitrate);
printf("\n");
}
}
}
if(!header) {
ogg_int64_t gp = ogg_page_granulepos(page);
if(gp >= 0) {
if(gp < inf->lastgranulepos)
#ifdef _WIN32
warn(_("Warning: granulepos in stream %d decreases from %I64d to %I64d" ),
stream->num, inf->lastgranulepos, gp);
#else
warn(_("Warning: granulepos in stream %d decreases from %lld to %lld" ),
stream->num, inf->lastgranulepos, gp);
#endif
inf->lastgranulepos = gp;
}
else {
warn(_("Negative granulepos on theora stream outside of headers. This file was created by a buggy encoder\n"));
}
if(inf->firstgranulepos < 0) {
}
inf->bytes += page->header_len + page->body_len;
}
}
static void theora_end(stream_processor *stream)
{
misc_theora_info *inf = stream->data;
long minutes, seconds, milliseconds;
double bitrate, time;
/* This should be lastgranulepos - startgranulepos, or something like that*/
//no theora stat in misc_theora_info
/*
time = theora_granule_time(&inf->td,inf->lastgranulepos);
minutes = (long)time / 60;
seconds = (long)time - minutes*60;
milliseconds = (long)((time - minutes*60 - seconds)*1000);
bitrate = inf->bytes*8 / time / 1000.0;
#ifdef _WIN32
info(_("Vorbis stream %d:\n"
"\tTotal data length: %I64d bytes\n"
"\tPlayback length: %ldm:%02ld.%03lds\n"
"\tAverage bitrate: %f kbps\n"),
stream->num,inf->bytes, minutes, seconds, milliseconds, bitrate);
#else
info(_("Vorbis stream %d:\n"
"\tTotal data length: %lld bytes\n"
"\tPlayback length: %ldm:%02ld.%03lds\n"
"\tAverage bitrate: %f kbps\n"),
stream->num,inf->bytes, minutes, seconds, milliseconds, bitrate);
#endif
*/
theora_comment_clear(&inf->tc);
theora_info_clear(&inf->ti);
free(stream->data);
}
static void process_null(stream_processor *stream, ogg_page *page)
{
/* This is for invalid streams. */
......@@ -495,6 +620,23 @@ static void vorbis_start(stream_processor *stream)
}
static void theora_start(stream_processor *stream)
{
misc_theora_info *info;
stream->type = "theora";
stream->process_page = theora_process;
stream->process_end = theora_end;
stream->data = calloc(1, sizeof(misc_theora_info));
info = stream->data;
theora_comment_init(&info->tc);
theora_info_init(&info->ti);
}
static stream_processor *find_stream_processor(stream_set *set, ogg_page *page)
{
ogg_uint32_t serial = ogg_page_serialno(page);
......@@ -793,4 +935,3 @@ int main(int argc, char **argv) {
return ret;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment