Lines 1-7
Link Here
|
1 |
https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/04b89e8ae33b |
|
|
2 |
https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/64e2fb3f9d89 |
3 |
https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/0463f5d6d56d |
4 |
https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/c5f314309067 |
5 |
https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/c33b4048859a |
1 |
https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/c33b4048859a |
6 |
https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/a2b090da7932 |
2 |
https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/a2b090da7932 |
7 |
https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/1dddb930aaf0 |
3 |
https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/1dddb930aaf0 |
Lines 15-23
https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/ded0334d214f
Link Here
|
15 |
https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/70887d44ffa3 |
11 |
https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/70887d44ffa3 |
16 |
https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/fe100bc556d7 |
12 |
https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/fe100bc556d7 |
17 |
|
13 |
|
18 |
--- configure.orig 2021-10-24 20:47:11 UTC |
14 |
--- configure.orig 2022-04-04 14:40:22 UTC |
19 |
+++ configure |
15 |
+++ configure |
20 |
@@ -6430,7 +6430,7 @@ enabled libsrt && require_pkg_config libsrt |
16 |
@@ -6611,7 +6611,7 @@ enabled libsrt && require_pkg_config libsrt |
21 |
enabled libssh && require_pkg_config libssh libssh libssh/sftp.h sftp_init |
17 |
enabled libssh && require_pkg_config libssh libssh libssh/sftp.h sftp_init |
22 |
enabled libspeex && require_pkg_config libspeex speex speex/speex.h speex_decoder_init |
18 |
enabled libspeex && require_pkg_config libspeex speex speex/speex.h speex_decoder_init |
23 |
enabled libsrt && require_pkg_config libsrt "srt >= 1.3.0" srt/srt.h srt_socket |
19 |
enabled libsrt && require_pkg_config libsrt "srt >= 1.3.0" srt/srt.h srt_socket |
Lines 26-36
https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/fe100bc556d7
Link Here
|
26 |
enabled libtensorflow && require libtensorflow tensorflow/c/c_api.h TF_Version -ltensorflow |
22 |
enabled libtensorflow && require libtensorflow tensorflow/c/c_api.h TF_Version -ltensorflow |
27 |
enabled libtesseract && require_pkg_config libtesseract tesseract tesseract/capi.h TessBaseAPICreate |
23 |
enabled libtesseract && require_pkg_config libtesseract tesseract tesseract/capi.h TessBaseAPICreate |
28 |
enabled libtheora && require libtheora theora/theoraenc.h th_info_init -ltheoraenc -ltheoradec -logg |
24 |
enabled libtheora && require libtheora theora/theoraenc.h th_info_init -ltheoraenc -ltheoradec -logg |
29 |
--- doc/encoders.texi.orig 2021-10-24 20:47:07 UTC |
25 |
--- doc/encoders.texi.orig 2022-01-14 18:45:39 UTC |
30 |
+++ doc/encoders.texi |
26 |
+++ doc/encoders.texi |
31 |
@@ -1754,28 +1754,15 @@ Set the operating point tier. |
27 |
@@ -1775,28 +1775,15 @@ This is the default. |
32 |
@item tier |
28 |
@item high |
33 |
Set the operating point tier. |
29 |
@end table |
34 |
|
30 |
|
35 |
-@item rc |
31 |
-@item rc |
36 |
-Set the rate control mode to use. |
32 |
-Set the rate control mode to use. |
Lines 60-66
https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/fe100bc556d7
Link Here
|
60 |
@item qp |
56 |
@item qp |
61 |
Set the quantizer used in cqp rate control mode (0-63). |
57 |
Set the quantizer used in cqp rate control mode (0-63). |
62 |
|
58 |
|
63 |
@@ -1786,14 +1773,18 @@ Set number of frames to look ahead (0-120). |
59 |
@@ -1807,14 +1794,18 @@ Set number of frames to look ahead (0-120). |
64 |
Set number of frames to look ahead (0-120). |
60 |
Set number of frames to look ahead (0-120). |
65 |
|
61 |
|
66 |
@item preset |
62 |
@item preset |
Lines 81-87
https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/fe100bc556d7
Link Here
|
81 |
|
77 |
|
82 |
@end table |
78 |
@end table |
83 |
|
79 |
|
84 |
--- libavcodec/libsvtav1.c.orig 2021-10-24 20:47:07 UTC |
80 |
--- libavcodec/libsvtav1.c.orig 2022-01-14 18:45:40 UTC |
85 |
+++ libavcodec/libsvtav1.c |
81 |
+++ libavcodec/libsvtav1.c |
86 |
@@ -60,17 +60,20 @@ typedef struct SvtContext { |
82 |
@@ -60,17 +60,20 @@ typedef struct SvtContext { |
87 |
EOS_STATUS eos_flag; |
83 |
EOS_STATUS eos_flag; |
Lines 248-254
https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/fe100bc556d7
Link Here
|
248 |
if ((param->encoder_color_format == EB_YUV422 || param->encoder_bit_depth > 10) |
244 |
if ((param->encoder_color_format == EB_YUV422 || param->encoder_bit_depth > 10) |
249 |
&& param->profile != FF_PROFILE_AV1_PROFESSIONAL ) { |
245 |
&& param->profile != FF_PROFILE_AV1_PROFESSIONAL ) { |
250 |
av_log(avctx, AV_LOG_WARNING, "Forcing Professional profile\n"); |
246 |
av_log(avctx, AV_LOG_WARNING, "Forcing Professional profile\n"); |
251 |
@@ -184,40 +296,21 @@ static int config_enc_params(EbSvtAv1EncConfiguration |
247 |
@@ -184,42 +296,21 @@ static int config_enc_params(EbSvtAv1EncConfiguration |
252 |
param->profile = FF_PROFILE_AV1_HIGH; |
248 |
param->profile = FF_PROFILE_AV1_HIGH; |
253 |
} |
249 |
} |
254 |
|
250 |
|
Lines 284-295
https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/fe100bc556d7
Link Here
|
284 |
+ cpb_props->avg_bitrate = avctx->bit_rate; |
280 |
+ cpb_props->avg_bitrate = avctx->bit_rate; |
285 |
} |
281 |
} |
286 |
|
282 |
|
|
|
283 |
- param->enable_tpl_la = !!param->rate_control_mode; |
287 |
- if (param->rate_control_mode) { |
284 |
- if (param->rate_control_mode) { |
288 |
- param->max_qp_allowed = avctx->qmax; |
285 |
- param->max_qp_allowed = avctx->qmax; |
289 |
- param->min_qp_allowed = avctx->qmin; |
286 |
- param->min_qp_allowed = avctx->qmin; |
290 |
- } |
287 |
- } |
291 |
- |
288 |
- |
292 |
- param->intra_refresh_type = 2; /* Real keyframes only */ |
289 |
- /* 2 = IDR, closed GOP, 1 = CRA, open GOP */ |
|
|
290 |
- param->intra_refresh_type = avctx->flags & AV_CODEC_FLAG_CLOSED_GOP ? 2 : 1; |
293 |
- |
291 |
- |
294 |
- if (svt_enc->la_depth >= 0) |
292 |
- if (svt_enc->la_depth >= 0) |
295 |
- param->look_ahead_distance = svt_enc->la_depth; |
293 |
- param->look_ahead_distance = svt_enc->la_depth; |
Lines 300-306
https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/fe100bc556d7
Link Here
|
300 |
return 0; |
298 |
return 0; |
301 |
} |
299 |
} |
302 |
|
300 |
|
303 |
@@ -350,6 +443,16 @@ static int eb_send_frame(AVCodecContext *avctx, const |
301 |
@@ -352,6 +443,16 @@ static int eb_send_frame(AVCodecContext *avctx, const |
304 |
headerPtr->p_app_private = NULL; |
302 |
headerPtr->p_app_private = NULL; |
305 |
headerPtr->pts = frame->pts; |
303 |
headerPtr->pts = frame->pts; |
306 |
|
304 |
|
Lines 317-323
https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/fe100bc556d7
Link Here
|
317 |
svt_av1_enc_send_picture(svt_enc->svt_handle, headerPtr); |
315 |
svt_av1_enc_send_picture(svt_enc->svt_handle, headerPtr); |
318 |
|
316 |
|
319 |
return 0; |
317 |
return 0; |
320 |
@@ -472,21 +575,22 @@ static const AVOption options[] = { |
318 |
@@ -474,21 +575,22 @@ static const AVOption options[] = { |
321 |
#define OFFSET(x) offsetof(SvtContext, x) |
319 |
#define OFFSET(x) offsetof(SvtContext, x) |
322 |
#define VE AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM |
320 |
#define VE AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM |
323 |
static const AVOption options[] = { |
321 |
static const AVOption options[] = { |
Lines 349-360
https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/fe100bc556d7
Link Here
|
349 |
|
347 |
|
350 |
FF_AV1_PROFILE_OPTS |
348 |
FF_AV1_PROFILE_OPTS |
351 |
|
349 |
|
352 |
@@ -518,21 +622,20 @@ static const AVOption options[] = { |
350 |
@@ -520,21 +622,20 @@ static const AVOption options[] = { |
353 |
{ LEVEL("7.3", 73) }, |
351 |
{ LEVEL("7.3", 73) }, |
354 |
#undef LEVEL |
352 |
#undef LEVEL |
355 |
|
353 |
|
356 |
- { "rc", "Bit rate control mode", OFFSET(rc_mode), |
354 |
- { "rc", "Bit rate control mode", OFFSET(rc_mode), |
357 |
- AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 3, VE , "rc"}, |
355 |
- AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 2, VE , "rc"}, |
358 |
- { "cqp", "Constant quantizer", 0, AV_OPT_TYPE_CONST, { .i64 = 0 }, INT_MIN, INT_MAX, VE, "rc" }, |
356 |
- { "cqp", "Constant quantizer", 0, AV_OPT_TYPE_CONST, { .i64 = 0 }, INT_MIN, INT_MAX, VE, "rc" }, |
359 |
- { "vbr", "Variable Bit Rate, use a target bitrate for the entire stream", 0, AV_OPT_TYPE_CONST, { .i64 = 1 }, INT_MIN, INT_MAX, VE, "rc" }, |
357 |
- { "vbr", "Variable Bit Rate, use a target bitrate for the entire stream", 0, AV_OPT_TYPE_CONST, { .i64 = 1 }, INT_MIN, INT_MAX, VE, "rc" }, |
360 |
- { "cvbr", "Constrained Variable Bit Rate, use a target bitrate for each GOP", 0, AV_OPT_TYPE_CONST,{ .i64 = 2 }, INT_MIN, INT_MAX, VE, "rc" }, |
358 |
- { "cvbr", "Constrained Variable Bit Rate, use a target bitrate for each GOP", 0, AV_OPT_TYPE_CONST,{ .i64 = 2 }, INT_MIN, INT_MAX, VE, "rc" }, |
Lines 382-422
https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/fe100bc556d7
Link Here
|
382 |
{NULL}, |
380 |
{NULL}, |
383 |
}; |
381 |
}; |
384 |
|
382 |
|
385 |
@@ -544,9 +647,10 @@ static const AVCodecDefault eb_enc_defaults[] = { |
383 |
@@ -546,10 +647,10 @@ static const AVCodecDefault eb_enc_defaults[] = { |
386 |
}; |
384 |
}; |
387 |
|
385 |
|
388 |
static const AVCodecDefault eb_enc_defaults[] = { |
386 |
static const AVCodecDefault eb_enc_defaults[] = { |
389 |
- { "b", "7M" }, |
387 |
- { "b", "7M" }, |
390 |
+ { "b", "0" }, |
388 |
+ { "b", "0" }, |
391 |
+ { "flags", "+cgop" }, |
389 |
{ "flags", "+cgop" }, |
392 |
{ "g", "-1" }, |
390 |
{ "g", "-1" }, |
393 |
- { "qmin", "0" }, |
391 |
- { "qmin", "0" }, |
394 |
+ { "qmin", "1" }, |
392 |
+ { "qmin", "1" }, |
395 |
{ "qmax", "63" }, |
393 |
{ "qmax", "63" }, |
396 |
{ NULL }, |
394 |
{ NULL }, |
397 |
}; |
395 |
}; |
398 |
@@ -561,12 +665,11 @@ AVCodec ff_libsvtav1_encoder = { |
396 |
--- libavcodec/version.h.orig 2022-01-14 18:45:40 UTC |
399 |
.receive_packet = eb_receive_packet, |
|
|
400 |
.close = eb_enc_close, |
401 |
.capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_OTHER_THREADS, |
402 |
- .caps_internal = FF_CODEC_CAP_AUTO_THREADS, |
403 |
+ .caps_internal = FF_CODEC_CAP_AUTO_THREADS | FF_CODEC_CAP_INIT_CLEANUP, |
404 |
.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P, |
405 |
AV_PIX_FMT_YUV420P10, |
406 |
AV_PIX_FMT_NONE }, |
407 |
.priv_class = &class, |
408 |
.defaults = eb_enc_defaults, |
409 |
- .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, |
410 |
.wrapper_name = "libsvtav1", |
411 |
}; |
412 |
--- libavcodec/version.h.orig 2021-10-24 20:47:07 UTC |
413 |
+++ libavcodec/version.h |
397 |
+++ libavcodec/version.h |
414 |
@@ -168,5 +168,8 @@ |
398 |
@@ -63,5 +63,6 @@ |
415 |
#ifndef FF_API_INIT_PACKET |
399 |
#define FF_API_MPEGVIDEO_OPTS (LIBAVCODEC_VERSION_MAJOR < 60) |
416 |
#define FF_API_INIT_PACKET (LIBAVCODEC_VERSION_MAJOR < 60) |
400 |
#define FF_API_FLAG_TRUNCATED (LIBAVCODEC_VERSION_MAJOR < 60) |
417 |
#endif |
401 |
#define FF_API_SUB_TEXT_FORMAT (LIBAVCODEC_VERSION_MAJOR < 60) |
418 |
+#ifndef FF_API_SVTAV1_OPTS |
|
|
419 |
+#define FF_API_SVTAV1_OPTS (LIBAVCODEC_VERSION_MAJOR < 60) |
402 |
+#define FF_API_SVTAV1_OPTS (LIBAVCODEC_VERSION_MAJOR < 60) |
420 |
+#endif |
|
|
421 |
|
403 |
|
422 |
#endif /* AVCODEC_VERSION_H */ |
404 |
#endif /* AVCODEC_VERSION_H */ |