Re: [MP3 ENCODER] Vorbis

2000-08-08 Thread Christopher Wise


On Tue, 8 Aug 2000, Ivo wrote:
> Playing it in XMMS, though, hinted that my P133 is not fast enough to 
> play ogg, since CPU load was 100% and playback awful.
> Does decoding really take so much CPU power on a P133 or should it be more
> reasonable?

Decoding really does take that much power on a pentium.
The vorbis playback code is not optimised. Hopefully someone will optimise
the playback. The hints I have seen on the vorbis mailing list suggest
that vorbis playback is not inherently much more complex than mp3 playback
and that large improvements are possible.

Chris Wise

--
MP3 ENCODER mailing list ( http://geek.rcc.se/mp3encoder/ )



[MP3 ENCODER] Vorbis

2000-08-08 Thread David Bridson

Speaking of Vorbis, when (if) will Vorbis support (with no extra 
downloads & no 
extra hassle) be built into the downloadable source code?

Cheers,
David
--
MP3 ENCODER mailing list ( http://geek.rcc.se/mp3encoder/ )



[MP3 ENCODER] Vorbis

2000-08-08 Thread Ivo

Apologizing for offtopicness beforehand, I'd like to ask something about
Vorbis. I've compiled Vorbis support into LAME and the XMMS plugin from a
nightly build. I've tried encoding an ogg file and it went file. Playing it
in XMMS, though, hinted that my P133 is not fast enough to play ogg, since
CPU load was 100% and playback awful.
Does decoding really take so much CPU power on a P133 or should it be more
reasonable?

Ivo

--
MP3 ENCODER mailing list ( http://geek.rcc.se/mp3encoder/ )



Re: [MP3 ENCODER] vorbis comment header patch

2000-07-06 Thread Don Melton

Cool!  I didn't even think to add vorbis support when I landed the id3v2
stuff this week.  Nice idea, Ralph!

The "tag_spec" is supposed to be a private data structure so I don't
want us to be reading it directly for the long term, but this will
method work fine for now. :-)

I'll try the patch out tonight when I get home and see if I can land it
in the tree.  Stay tuned.

On Thu, Jul 06, 2000 at 04:41:59PM -0700, Ralph Giles wrote:
> Here's a rough patch to make the --t* options work with the vorbis
> encoder. I just read the id3tag_spec structure directly, but the vorbis
> comment header is a lot more flexible than the id3 stuff, so I'd really
> want to write a general token-value interface to the metadata if I were
> "doing it right." Maybe some other time.

This is probably a stupid question, but are there docs online about the
comment header (he asks without even looking at the vorbis site first)?

> bugs: 
> 
> Doesn't support track number of genre. The second is easy to add; the
> first requires that the vorbis people settle on a standard form for it.

Let me see if I can contact them about their plans for this.  If you
find out anything, let us all know.  Maybe I can hack in the genre. :-)

> Ogg encoding doesn't actually work for me; it prints a lot of:
> 
> *
> decoded bytes=0  16384
> 
> And generates a 128 byte file. This happens without my patch as well.
> 
> Oops, on further investigation those 128 bytes are an id3 tag, so we need
> an interlock of some sort. I'll take a look at this later.

Cool.  Just send another patch.

> Cheers, 
>  -ralph
> 
> --
> [EMAIL PROTECTED]
> Ahh, the joys of tracking cvs!
> 

> Index: parse.c
> ===
> RCS file: /cvsroot/lame/lame/parse.c,v
> retrieving revision 1.68
> diff -u -r1.68 parse.c
> --- parse.c   2000/07/04 03:28:43 1.68
> +++ parse.c   2000/07/06 23:34:44
> @@ -180,6 +180,9 @@
>PRINTF1("characters), or the `--add-id3v2' or `--id3v2-only' options are 
>used,\n");
>PRINTF1("or output is redirected to stdout.\n");
>PRINTF1("\n");
> +  PRINTF1("The --t* options will work with the Ogg encoder, but the 
>id3-specific\n");
> +  PRINTF1("features will be ignored. Genre and tracknumber are currently 
>ignored.\n");
> +  PRINTF1("\n");
>  #ifdef HAVEGTK
>PRINTF1("-g  run graphical analysis on \n");
>  #endif
> @@ -832,6 +835,3 @@
>}
>  
>  }
> -
> -
> -
> Index: vorbis_interface.c
> ===
> RCS file: /cvsroot/lame/lame/vorbis_interface.c,v
> retrieving revision 1.10
> diff -u -r1.10 vorbis_interface.c
> --- vorbis_interface.c2000/06/30 14:25:53 1.10
> +++ vorbis_interface.c2000/07/06 23:34:50
> @@ -93,7 +93,7 @@
>   set up the Vorbis decoder */
>
>/* The next two packets in order are the comment and codebook headers.
> - They're likely large and may span multiple pages.  Thus we reead
> + They're likely large and may span multiple pages.  Thus we read
>   and submit data until we get our two pacakets, watching that no
>   pages are missing.  If a page is missing, error out; losing a
>   header page is the only place where missing data is fatal. */
> @@ -225,11 +225,6 @@
>break;
>  }
>  
> -
> -
> -
> -
> -
>  result=ogg_sync_pageout(&oy,&og);
>
>  if(result==0) {
> @@ -300,15 +295,6 @@
>  
>  
>  
> -
> -
> -
> -
> -
> -
> -
> -
> -
>  ogg_stream_state os2; /* take physical pages, weld into a logical
>   stream of packets */
>  ogg_page og2; /* one Ogg bitstream page.  Vorbis packets are inside */
> @@ -320,13 +306,13 @@
>  vorbis_dsp_state vd2; /* central working state for the packet->PCM decoder */
>  vorbis_block vb2; /* local working space for packet->PCM decode */
>  
> -
>  
> +#define vorbis_comment_size 256
>  
>  int lame_encode_ogg_init(lame_global_flags *gfp)
>  {
>lame_internal_flags *gfc=gfp->internal_flags;
> -
> +  char comment[vorbis_comment_size];
>
>/** Encode setup /
>
> @@ -337,10 +323,43 @@
>vi2.rate = gfp->out_samplerate;
>  
>
> -  /* add a comment */
> +  /* fill out the comments header */
>vorbis_comment_init(&vc2);
>vorbis_comment_add(&vc2,"Track encoded using L.A.M.E. libvorbis interface.");
> -  
> +
> +  /* these fields are marked "private data members" in the header, so
> + 'twould be better to add id3tag_get_*() functions instead. However,
> + the vorbis comment fields are much more flexible than the id3 stuff
> + so I'll just do this in anticipation of (another) metatag rewrite */
> +  
> +  if(gfp->tag_spec.title) {
> + snprintf(comment,vorbis_comment_size,
> + "TITLE=%s",gfp->tag_spec.title);
> + vorbis_comment_add(&vc2,comment);
> +  }
> +  if(gfp->tag_spec.artist) {
> + snprintf(comment,vorbis_comment_size,
> + "ARTIST=%s",gf

[MP3 ENCODER] vorbis comment header patch

2000-07-06 Thread Ralph Giles

Here's a rough patch to make the --t* options work with the vorbis
encoder. I just read the id3tag_spec structure directly, but the vorbis
comment header is a lot more flexible than the id3 stuff, so I'd really
want to write a general token-value interface to the metadata if I were
"doing it right." Maybe some other time.

bugs: 

Doesn't support track number of genre. The second is easy to add; the
first requires that the vorbis people settle on a standard form for it.

Ogg encoding doesn't actually work for me; it prints a lot of:

*
decoded bytes=0  16384

And generates a 128 byte file. This happens without my patch as well.

Oops, on further investigation those 128 bytes are an id3 tag, so we need
an interlock of some sort. I'll take a look at this later.

Cheers, 
 -ralph

--
[EMAIL PROTECTED]
Ahh, the joys of tracking cvs!



Index: parse.c
===
RCS file: /cvsroot/lame/lame/parse.c,v
retrieving revision 1.68
diff -u -r1.68 parse.c
--- parse.c 2000/07/04 03:28:43 1.68
+++ parse.c 2000/07/06 23:34:44
@@ -180,6 +180,9 @@
   PRINTF1("characters), or the `--add-id3v2' or `--id3v2-only' options are 
used,\n");
   PRINTF1("or output is redirected to stdout.\n");
   PRINTF1("\n");
+  PRINTF1("The --t* options will work with the Ogg encoder, but the 
+id3-specific\n");
+  PRINTF1("features will be ignored. Genre and tracknumber are currently 
+ignored.\n");
+  PRINTF1("\n");
 #ifdef HAVEGTK
   PRINTF1("-g  run graphical analysis on \n");
 #endif
@@ -832,6 +835,3 @@
   }
 
 }
-
-
-
Index: vorbis_interface.c
===
RCS file: /cvsroot/lame/lame/vorbis_interface.c,v
retrieving revision 1.10
diff -u -r1.10 vorbis_interface.c
--- vorbis_interface.c  2000/06/30 14:25:53 1.10
+++ vorbis_interface.c  2000/07/06 23:34:50
@@ -93,7 +93,7 @@
  set up the Vorbis decoder */
   
   /* The next two packets in order are the comment and codebook headers.
- They're likely large and may span multiple pages.  Thus we reead
+ They're likely large and may span multiple pages.  Thus we read
  and submit data until we get our two pacakets, watching that no
  pages are missing.  If a page is missing, error out; losing a
  header page is the only place where missing data is fatal. */
@@ -225,11 +225,6 @@
   break;
 }
 
-
-
-
-
-
 result=ogg_sync_pageout(&oy,&og);
   
 if(result==0) {
@@ -300,15 +295,6 @@
 
 
 
-
-
-
-
-
-
-
-
-
 ogg_stream_state os2; /* take physical pages, weld into a logical
stream of packets */
 ogg_page og2; /* one Ogg bitstream page.  Vorbis packets are inside */
@@ -320,13 +306,13 @@
 vorbis_dsp_state vd2; /* central working state for the packet->PCM decoder */
 vorbis_block vb2; /* local working space for packet->PCM decode */
 
-
 
+#define vorbis_comment_size 256
 
 int lame_encode_ogg_init(lame_global_flags *gfp)
 {
   lame_internal_flags *gfc=gfp->internal_flags;
-
+  char comment[vorbis_comment_size];
   
   /** Encode setup /
   
@@ -337,10 +323,43 @@
   vi2.rate = gfp->out_samplerate;
 
   
-  /* add a comment */
+  /* fill out the comments header */
   vorbis_comment_init(&vc2);
   vorbis_comment_add(&vc2,"Track encoded using L.A.M.E. libvorbis interface.");
-  
+
+  /* these fields are marked "private data members" in the header, so
+ 'twould be better to add id3tag_get_*() functions instead. However,
+ the vorbis comment fields are much more flexible than the id3 stuff
+ so I'll just do this in anticipation of (another) metatag rewrite */
+  
+  if(gfp->tag_spec.title) {
+   snprintf(comment,vorbis_comment_size,
+   "TITLE=%s",gfp->tag_spec.title);
+   vorbis_comment_add(&vc2,comment);
+  }
+  if(gfp->tag_spec.artist) {
+   snprintf(comment,vorbis_comment_size,
+   "ARTIST=%s",gfp->tag_spec.artist);
+   vorbis_comment_add(&vc2,comment);
+  }
+  if(gfp->tag_spec.album) {
+   snprintf(comment,vorbis_comment_size,
+   "ALBUM=%s",gfp->tag_spec.album);
+   vorbis_comment_add(&vc2,comment);
+  }
+  /* pretend these are equivalent */
+  if(gfp->tag_spec.comment) {
+   snprintf(comment,vorbis_comment_size,
+   "DESCRIPTION=%s",gfp->tag_spec.comment);
+   vorbis_comment_add(&vc2,comment);
+  }
+  if(gfp->tag_spec.year) {
+   snprintf(comment,vorbis_comment_size,
+   "DATE=%d",gfp->tag_spec.year);
+   vorbis_comment_add(&vc2,comment);
+  }
+  /* FIXME: we drop the track number and genre for now */
+
   /* set up the analysis state and auxiliary encoding storage */
   vorbis_analysis_init(&vd2,&vi2);
   vorbis_block_init(&vd2,&vb2);
@@ -375,6 +394,7 @@
   return 0;
 }
 
+#undef vorbis_comment_

Re: [MP3 ENCODER] vorbis -> mp3

2000-06-09 Thread David Balazic

Mark Taylor wrote:
> 
> >
> >
> > can  somebody  help  me?  i  want  to  test vorbis->mp3 encoding of my
> > compile, where i can get vorbis files (file)?
> >
> >
> >
> >
> > Best regards,
> >  Dmitrymail to: [EMAIL PROTECTED]
> >
> >
> 
> ftp.sulaco.org/pub
> 
> I just put a few .ogg files there.  These are just examples that I used to
> debug the .ogg file reading capabilities in LAME.  The were made with
> the vorbis decoder_example, and probably not the latest version of
> libvorbis.
> 
> I've also started to add a "--ogg" option so that LAME can produce
> .ogg files, but it is not working yet.
>
> Mark

So the there will be ogg ( vorbis ? ) support in lame ?
Input, output or both ?

Isn't this bloat ?
After all lame is supposed to be an MP3 encoder ... 

David Balazic
--
MP3 ENCODER mailing list ( http://geek.rcc.se/mp3encoder/ )



RE: [MP3 ENCODER] vorbis -> mp3

2000-06-08 Thread Slavo Kopinec

> can  somebody  help  me?  i  want  to  test vorbis->mp3 encoding of my
> compile, where i can get vorbis files (file)?
>
>
> Best regards,
>  Dmitrymail to: [EMAIL PROTECTED]
>


cut from vorbis-dev mailing list:

Michael Smith wrote:
MS> Finally, I've put up copies of the windows encoder, and the winamp
plugin at
MS> http://www.labyrinth.net.au/~msmith/in_vorbis.dll
MS> http://www.labyrinth.net.au/~msmith/example_encoder.exe
MS> for anyone who wants to try this stuff out but doesn't have appropriate
MS> tools, like a compiler.
MS>
MS> Michael


--
MP3 ENCODER mailing list ( http://geek.rcc.se/mp3encoder/ )



Re: [MP3 ENCODER] vorbis -> mp3

2000-06-08 Thread Mark Taylor

> 
> 
> can  somebody  help  me?  i  want  to  test vorbis->mp3 encoding of my
> compile, where i can get vorbis files (file)?
> 
> 
> 
> 
> Best regards,
>  Dmitrymail to: [EMAIL PROTECTED]
> 
> 


ftp.sulaco.org/pub

I just put a few .ogg files there.  These are just examples that I used to
debug the .ogg file reading capabilities in LAME.  The were made with
the vorbis decoder_example, and probably not the latest version of
libvorbis.

I've also started to add a "--ogg" option so that LAME can produce
.ogg files, but it is not working yet.   

Mark
--
MP3 ENCODER mailing list ( http://geek.rcc.se/mp3encoder/ )



[MP3 ENCODER] vorbis -> mp3

2000-06-08 Thread Dmitry


can  somebody  help  me?  i  want  to  test vorbis->mp3 encoding of my
compile, where i can get vorbis files (file)?




Best regards,
 Dmitrymail to: [EMAIL PROTECTED]


--
MP3 ENCODER mailing list ( http://geek.rcc.se/mp3encoder/ )