[xiph-commits] r16477 - branches/theora-monty-post-1-1/examples

xiphmont at svn.xiph.org xiphmont at svn.xiph.org
Wed Aug 12 23:09:28 PDT 2009


Author: xiphmont
Date: 2009-08-12 23:09:28 -0700 (Wed, 12 Aug 2009)
New Revision: 16477

Added:
   branches/theora-monty-post-1-1/examples/y4o.h
Log:
Commit missing include



Added: branches/theora-monty-post-1-1/examples/y4o.h
===================================================================
--- branches/theora-monty-post-1-1/examples/y4o.h	                        (rev 0)
+++ branches/theora-monty-post-1-1/examples/y4o.h	2009-08-13 06:09:28 UTC (rev 16477)
@@ -0,0 +1,106 @@
+/********************************************************************
+ *                                                                  *
+ * THIS FILE IS PART OF THE OggTheora SOFTWARE CODEC SOURCE CODE.   *
+ * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS     *
+ * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
+ * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING.       *
+ *                                                                  *
+ * THE Theora SOURCE CODE IS COPYRIGHT (C) 2002-2009                *
+ * by the Xiph.Org Foundation and contributors http://www.xiph.org/ *
+ *                                                                  *
+ ********************************************************************
+
+  function: yuv4ogg code to be used by example encoder application
+  last mod: $Id: y4o.c 16421 2009-08-05 17:28:35Z gmaxwell $
+
+ ********************************************************************/
+
+static char *y4o_chromaformat_long[]={
+  "monochrome",            //0
+  "4:1:1 [ntscdv chroma]", //1
+  "4:2:0 [jpeg chroma]",   //2 chroma sample is centered vertically and horizontally between luma samples
+  "4:2:0 [mpeg2 chroma]",  //3 chroma sample is centered vertically between lines, cosited horizontally */
+  "4:2:0 [paldv chroma]",  //4 chroma sample is cosited vertically and horizontally */
+  "4:2:0 [unknown chroma]",//5
+  "4:2:2 [jpeg chroma]",   //6 chroma sample is horizontally centered between luma samples */
+  "4:2:2 [smpte chroma]",  //7 chroma sample is cosited horizontally */
+  "4:2:2 [unknown chroma]",//8
+  "4:4:4",                 //9
+  "4:4:4+alpha",           //10
+  NULL
+};
+
+typedef enum {
+  Y4O_Cmono=0,
+  Y4O_C411ntscdv=1,
+  Y4O_C420jpeg=2,
+  Y4O_C420mpeg2=3,
+  Y4O_C420paldv=4,
+  Y4O_C420unknown=5,
+  Y4O_C422jpeg=6,
+  Y4O_C422smpte=7,
+  Y4O_C422unknown=8,
+  Y4O_C444=9,
+  Y4O_C444alpha=10,
+} y4o_chromafmt;
+
+typedef enum {
+  Y4O_STREAM_INVALID=0,
+  Y4O_STREAM_VIDEO=1,
+  Y4O_STREAM_AUDIO=2
+} y4o_stream_type;
+
+typedef enum {
+  Y4O_I_INVALID=-1,
+  Y4O_I_PROGRESSIVE=0,
+  Y4O_I_TOP_FIRST=1,
+  Y4O_I_BOTTOM_FIRST=2
+} y4o_interlace_type;
+
+typedef struct {
+  double pts;
+  size_t len;
+  int streamno;
+  char *data;
+} y4o_frame_t;
+
+typedef struct {
+  y4o_stream_type type;
+  int stream_num;
+
+  union stream_t {
+    struct {
+      int rate;
+      int ch;
+    } audio;
+    struct {
+      int fps_n;
+      int fps_d;
+      int pa_n;
+      int pa_d;
+      int frame_n;
+      int frame_d;
+      int format;
+      int w;
+      int h;
+      y4o_interlace_type i;
+    } video;
+  }m;
+
+} y4o_stream_t;
+
+typedef struct {
+  FILE *f;
+  int eof;
+  y4o_stream_t **streams;
+  int num_streams;
+  int synced;
+  int seekable;
+} y4o_in_t;
+
+y4o_in_t    *y4o_init(FILE *f, char *first);
+void         y4o_free(y4o_in_t *y);
+y4o_frame_t *y4o_read_frame_header(y4o_in_t *y);
+int          y4o_read_frame_data(y4o_in_t *y, y4o_frame_t *p);
+y4o_frame_t *y4o_read_frame(y4o_in_t *y);
+void         y4o_free_frame(y4o_frame_t *p);



More information about the commits mailing list