diff --git a/video_encoder/lib/libtavenc/tav_encoder_lib.c b/video_encoder/lib/libtavenc/tav_encoder_lib.c index 3acfeed..abcc6ff 100644 --- a/video_encoder/lib/libtavenc/tav_encoder_lib.c +++ b/video_encoder/lib/libtavenc/tav_encoder_lib.c @@ -282,7 +282,7 @@ void tav_encoder_params_init(tav_encoder_params_t *params, int width, int height // GOP settings params->enable_temporal_dwt = 1; // Enable 3D DWT GOP encoding - params->gop_size = 0; // Auto (8 for 60fps, 16 for 30fps) + params->gop_size = 24; // always 24 params->enable_two_pass = 1; // Enable scene change detection // Quality defaults (level 3 = balanced) @@ -394,16 +394,8 @@ tav_encoder_context_t *tav_encoder_create(const tav_encoder_params_t *params) { ctx->decomp_levels = (levels > 6) ? 6 : levels; } - // Calculate GOP size if auto (0) - if (ctx->gop_size == 0) { - int fps = ctx->fps_num / ctx->fps_den; - if (fps >= 50) { - ctx->gop_size = 8; // High frame rate: smaller GOPs - } else if (fps >= 25) { - ctx->gop_size = 16; // Medium frame rate - } else { - ctx->gop_size = 24; // Low frame rate: larger GOPs - } + if (ctx->gop_size <= 0) { + ctx->gop_size = 24; } // Auto-select temporal wavelet if still at default (255=Haar) and temporal DWT enabled diff --git a/video_encoder/src/encoder_tav.c b/video_encoder/src/encoder_tav.c index 4ac2590..e0a04eb 100644 --- a/video_encoder/src/encoder_tav.c +++ b/video_encoder/src/encoder_tav.c @@ -159,7 +159,7 @@ static void print_usage(const char *program) { printf("\nGOP Options:\n"); printf(" --temporal-dwt Enable 3D DWT GOP encoding (default)\n"); printf(" --intra-only Disable temporal compression (I-frames only)\n"); - printf(" --gop-size N GOP size 8/16/24 (default: auto-calculated)\n"); + printf(" --gop-size N GOP size 8/16/24 (default: 24)\n"); printf(" --single-pass Disable scene change detection\n"); printf("\nCompression:\n"); printf(" --zstd-level N Zstd level 3-22 (default: 7)\n");