]> git.sesse.net Git - nageru/blobdiff - nageru/defs.h
IWYU-fix nageru/*.h.
[nageru] / nageru / defs.h
index 7b8cc696de1120de66ce04a1b2d29138089d024c..09743a5abe5e72a9a8c12487c28d4fd756daeb5f 100644 (file)
@@ -1,21 +1,12 @@
 #ifndef _DEFS_H
 #define _DEFS_H
 
-#include <libavformat/version.h>
-
-// This flag is only supported in FFmpeg 3.3 and up, and we only require 3.1.
-#if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(57, 71, 100)
-#define MUX_SKIP_TRAILER "+skip_trailer"
-#else
-#define MUX_SKIP_TRAILER ""
-#endif
-
-#define OUTPUT_FREQUENCY 48000  // Currently needs to be exactly 48000, since bmusb outputs in that.
-#define MAX_FPS 60
+#define TYPICAL_FPS 60
 #define FAKE_FPS 25  // Must be an integer.
-#define MAX_VIDEO_CARDS 16
+// #define MAX_VIDEO_CARDS 16  // defined in shared_defs.h.
 #define MAX_ALSA_CARDS 16
 #define MAX_BUSES 256  // Audio buses.
+#define FRAME_SIZE (8 << 20)  // 8 MB. (FIXME: Not enough for a 2160p frame!)
 
 // For deinterlacing. See also comments on InputState.
 #define FRAME_HISTORY_LENGTH 5
 #define AUDIO_OUTPUT_CODEC_NAME "pcm_s32le"
 #define DEFAULT_AUDIO_OUTPUT_BIT_RATE 0
 #define DEFAULT_X264_OUTPUT_BIT_RATE 4500  // 5 Mbit after making room for some audio and TCP overhead.
+#define DEFAULT_AV1_OUTPUT_BIT_RATE 4500  // Same.
 
 #define LOCAL_DUMP_PREFIX "record-"
 #define LOCAL_DUMP_SUFFIX ".nut"
 #define DEFAULT_STREAM_MUX_NAME "nut"  // Only for HTTP. Local dump guesses from LOCAL_DUMP_SUFFIX.
 #define DEFAULT_HTTPD_PORT 9095
-#define MUX_OPTS { \
-       /* Make seekable .mov files, and keep MP4 muxer from using unlimited amounts of memory. */ \
-       { "movflags", "empty_moov+frag_keyframe+default_base_moof" MUX_SKIP_TRAILER }, \
-       \
-       /* Make for somewhat less bursty stream output when using .mov. */ \
-       { "frag_duration", "125000" }, \
-       \
-       /* Keep nut muxer from using unlimited amounts of memory. */ \
-       { "write_index", "0" } \
-}
-
-// In bytes. Beware, if too small, stream clients will start dropping data.
-// For mov, you want this at 10MB or so (for the reason mentioned above),
-// but for nut, there's no flushing, so such a large mux buffer would cause
-// the output to be very uneven.
-#define MUX_BUFFER_SIZE 10485760
+#define DEFAULT_SRT_PORT 9710
+#define DEFAULT_SRT_OUTPUT_LATENCY_MS 2000
 
 // In number of frames. Comes in addition to any internal queues in x264
 // (frame threading, lookahead, etc.).
 #define X264_QUEUE_LENGTH 50
+#define AV1_QUEUE_LENGTH 50
 
 #define X264_DEFAULT_PRESET "ultrafast"
 #define X264_DEFAULT_TUNE "film"
 
+#define DEFAULT_AV1_PRESET 12
+#define DEFAULT_AV1_FPS_NUM 60000
+#define DEFAULT_AV1_FPS_DEN 1001
+
 #endif  // !defined(_DEFS_H)