]> git.sesse.net Git - x264/blobdiff - input/input.h
Fix regression in r1450
[x264] / input / input.h
index 220a414e0cb813c9df98a45d32464c91e7d2ac84..6e386f4da43cde9517fe354f101a2ea18b1f4123 100644 (file)
@@ -5,6 +5,7 @@
  *
  * Authors: Laurent Aimar <fenrir@via.ecp.fr>
  *          Loren Merritt <lorenm@u.washington.edu>
+ *          Steven Walters <kemuri9@gmail.com>
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
 #ifndef X264_INPUT_H
 #define X264_INPUT_H
 
+/* options that are used by only some demuxers */
 typedef struct
 {
-    int (*open_file)( char *psz_filename, hnd_t *p_handle, x264_param_t *p_param );
+    char *index;
+    char *resolution; /* resolution string parsed by raw yuv input */
+    int seek;
+} cli_input_opt_t;
+
+/* properties of the source given by the demuxer */
+typedef struct
+{
+    int csp; /* X264_CSP_YV12 or X264_CSP_I420 */
+    int fps_num;
+    int fps_den;
+    int height;
+    int interlaced;
+    int sar_width;
+    int sar_height;
+    int timebase_num;
+    int timebase_den;
+    int vfr;
+    int width;
+} video_info_t;
+
+typedef struct
+{
+    int (*open_file)( char *psz_filename, hnd_t *p_handle, video_info_t *info, cli_input_opt_t *opt );
     int (*get_frame_total)( hnd_t handle );
     int (*picture_alloc)( x264_picture_t *pic, int i_csp, int i_width, int i_height );
     int (*read_frame)( x264_picture_t *p_pic, hnd_t handle, int i_frame );
@@ -35,9 +60,11 @@ typedef struct
     int (*close_file)( hnd_t handle );
 } cli_input_t;
 
-extern cli_input_t yuv_input;
-extern cli_input_t y4m_input;
-extern cli_input_t avs_input;
+extern const cli_input_t yuv_input;
+extern const cli_input_t y4m_input;
+extern const cli_input_t avs_input;
 extern cli_input_t thread_input;
+extern const cli_input_t lavf_input;
+extern const cli_input_t ffms_input;
 
 #endif