[FFmpeg-cvslog] lavc/qsv_hevc: correct QSV HEVC default plugin on Windows

2018-12-17 Thread Zhong Li
ffmpeg | branch: master | Zhong Li  | Wed Dec 12 15:03:21 
2018 +0800| [978c935f2f659edf028b9219c7397efdcf4a1260] | committer: Zhong Li

lavc/qsv_hevc: correct QSV HEVC default plugin on Windows

1. Old logic meaned: everywhere, except Windows, ffmpeg has to use HW
acceleration, but on Windows ffmpeg has to use (unavailable) software
HEVC by default
2. Software HEVC is available only if you provide corresponding
software MediaSDK library, which isn't provided with ffmpeg. More
information could be found in
https://github.com/Intel-Media-SDK/MediaSDK/blob/master/doc/samples/readme-encode_linux.pdf
3. HW HEVC decoding/encoding are available on Windows in the driver by default

Note: Default case should be the most common case but this change still has 
potential risk
on windows if HW path is not supported(or doesn't work as expection).
(See the historical disscution: 
https://lists.libav.org/pipermail/libav-devel/2016-November/080419.html).
In such case, two options suggested:
1. Use the option "-load_plugin hevc_sw" to switch SW path manually.
2. Or report bug to Intel windows driver if your GPU can support HEVC HW codec.
  (HEVC decoding is supported since Braswell, and encoding supported since 
Skylake)

Patch started by Landgraph. Add similar change for hevc decoder and bump a new 
version.

Reviewed-by: Mark Thompson 
Reviewed-by: Maxym Dmytrychenko 
Signed-off-by: Landgraph 
Signed-off-by: Zhong Li 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=978c935f2f659edf028b9219c7397efdcf4a1260
---

 libavcodec/qsvdec_h2645.c | 8 +---
 libavcodec/qsvenc_hevc.c  | 8 +---
 libavcodec/version.h  | 2 +-
 3 files changed, 3 insertions(+), 15 deletions(-)

diff --git a/libavcodec/qsvdec_h2645.c b/libavcodec/qsvdec_h2645.c
index b8a78aa81b..9b49f5506e 100644
--- a/libavcodec/qsvdec_h2645.c
+++ b/libavcodec/qsvdec_h2645.c
@@ -178,12 +178,6 @@ static void qsv_decode_flush(AVCodecContext *avctx)
 ff_qsv_decode_flush(avctx, >qsv);
 }
 
-#if defined(_WIN32)
-#define LOAD_PLUGIN_DEFAULT LOAD_PLUGIN_HEVC_SW
-#else
-#define LOAD_PLUGIN_DEFAULT LOAD_PLUGIN_HEVC_HW
-#endif
-
 #define OFFSET(x) offsetof(QSVH2645Context, x)
 #define VD AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_DECODING_PARAM
 
@@ -191,7 +185,7 @@ static void qsv_decode_flush(AVCodecContext *avctx)
 static const AVOption hevc_options[] = {
 { "async_depth", "Internal parallelization depth, the higher the value the 
higher the latency.", OFFSET(qsv.async_depth), AV_OPT_TYPE_INT, { .i64 = 
ASYNC_DEPTH_DEFAULT }, 1, INT_MAX, VD },
 
-{ "load_plugin", "A user plugin to load in an internal session", 
OFFSET(load_plugin), AV_OPT_TYPE_INT, { .i64 = LOAD_PLUGIN_DEFAULT }, 
LOAD_PLUGIN_NONE, LOAD_PLUGIN_HEVC_HW, VD, "load_plugin" },
+{ "load_plugin", "A user plugin to load in an internal session", 
OFFSET(load_plugin), AV_OPT_TYPE_INT, { .i64 = LOAD_PLUGIN_HEVC_HW }, 
LOAD_PLUGIN_NONE, LOAD_PLUGIN_HEVC_HW, VD, "load_plugin" },
 { "none", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = LOAD_PLUGIN_NONE },
0, 0, VD, "load_plugin" },
 { "hevc_sw",  NULL, 0, AV_OPT_TYPE_CONST, { .i64 = LOAD_PLUGIN_HEVC_SW }, 
0, 0, VD, "load_plugin" },
 { "hevc_hw",  NULL, 0, AV_OPT_TYPE_CONST, { .i64 = LOAD_PLUGIN_HEVC_HW }, 
0, 0, VD, "load_plugin" },
diff --git a/libavcodec/qsvenc_hevc.c b/libavcodec/qsvenc_hevc.c
index 4339b316a3..1c615b4e81 100644
--- a/libavcodec/qsvenc_hevc.c
+++ b/libavcodec/qsvenc_hevc.c
@@ -217,12 +217,6 @@ static av_cold int qsv_enc_close(AVCodecContext *avctx)
 return ff_qsv_enc_close(avctx, >qsv);
 }
 
-#if defined(_WIN32)
-#define LOAD_PLUGIN_DEFAULT LOAD_PLUGIN_HEVC_SW
-#else
-#define LOAD_PLUGIN_DEFAULT LOAD_PLUGIN_HEVC_HW
-#endif
-
 #define OFFSET(x) offsetof(QSVHEVCEncContext, x)
 #define VE AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM
 static const AVOption options[] = {
@@ -230,7 +224,7 @@ static const AVOption options[] = {
 
 { "idr_interval", "Distance (in I-frames) between IDR frames", 
OFFSET(qsv.idr_interval), AV_OPT_TYPE_INT, { .i64 = 0 }, -1, INT_MAX, VE, 
"idr_interval" },
 { "begin_only", "Output an IDR-frame only at the beginning of the stream", 
0, AV_OPT_TYPE_CONST, { .i64 = -1 }, 0, 0, VE, "idr_interval" },
-{ "load_plugin", "A user plugin to load in an internal session", 
OFFSET(load_plugin), AV_OPT_TYPE_INT, { .i64 = LOAD_PLUGIN_DEFAULT }, 
LOAD_PLUGIN_NONE, LOAD_PLUGIN_HEVC_HW, VE, "load_plugin" },
+{ "load_plugin", "A user plugin to load in an internal session", 
OFFSET(load_plugin), AV_OPT_TYPE_INT, { .i64 = LOAD_PLUGIN_HEVC_HW }, 
LOAD_PLUGIN_NONE, LOAD_PLUGIN_HEVC_HW, VE, "load_plugin" },
 { "none", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = LOAD_PLUGIN_NONE },
0, 0, VE, "load_plugin" },
 { "hevc_sw",  NULL, 0, AV_OPT_TYPE_CONST, { .i64 = LOAD_PLUGIN_HEVC_SW }, 
0, 0, VE, "load_plugin" },
 { "hevc_hw",  NULL, 0, AV_OPT_TYPE_CONST, { .i64 = LOAD_PLUGIN_HEVC_HW }, 
0, 0, VE, "load_plugin" },
diff --git a/libavcodec/version.h b/libavcodec/version.h

[FFmpeg-cvslog] lavf/mov: document the dvh1 codec switch based on hvcC availability

2018-12-17 Thread Jan Ekström
ffmpeg | branch: master | Jan Ekström  | Mon Dec  3 03:15:29 
2018 +0200| [a1f0dd24f62532ff82ac87fbcb01244e6cdfa424] | committer: Jan Ekström

lavf/mov: document the dvh1 codec switch based on hvcC availability

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=a1f0dd24f62532ff82ac87fbcb01244e6cdfa424
---

 libavformat/mov.c | 5 +
 1 file changed, 5 insertions(+)

diff --git a/libavformat/mov.c b/libavformat/mov.c
index 6f92742e23..fb95fd2fef 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -1907,6 +1907,11 @@ static int mov_read_glbl(MOVContext *c, AVIOContext *pb, 
MOVAtom atom)
 if (ret < 0)
 return ret;
 if (atom.type == MKTAG('h','v','c','C') && st->codecpar->codec_tag == 
MKTAG('d','v','h','1'))
+/* HEVC-based Dolby Vision derived from hvc1.
+   Happens to match with an identifier
+   previously utilized for DV. Thus, if we have
+   the hvcC extradata box available as specified,
+   set codec to HEVC */
 st->codecpar->codec_id = AV_CODEC_ID_HEVC;
 
 return 0;

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] lavf/isom: add Dolby Vision sample entry codes for HEVC and H.264

2018-12-17 Thread Rodger Combs
ffmpeg | branch: master | Rodger Combs  | Mon Nov  5 
10:26:24 2018 -0600| [6ebe88f3a4c427511eba7495896f4a57a2b4b529] | committer: 
Jan Ekström

lavf/isom: add Dolby Vision sample entry codes for HEVC and H.264

These are registered identifiers at the MPEG-4 RA, which are
defined as to be utilized for Dolby Vision AVC/HEVC streams that
are not correctly presentable by standards-compliant AVC/HEVC players.

According to the Dolby Vision specification for ISOBMFF, these sample
entry codes are specified to have the standard AVC or HEVC decoder
configuration box in addition to the Dolby custom DOVIConfigurationBox.
This is what enables us to decode the streams without custom parsing.

For correct presentation information from the DOVIConfigurationBox
is required (YCbCr or modified ICtCP, SDR or HDR, base or enhancement
layer).

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=6ebe88f3a4c427511eba7495896f4a57a2b4b529
---

 libavformat/isom.c | 4 
 1 file changed, 4 insertions(+)

diff --git a/libavformat/isom.c b/libavformat/isom.c
index ca9d22e4f7..0a4d901be5 100644
--- a/libavformat/isom.c
+++ b/libavformat/isom.c
@@ -163,6 +163,8 @@ const AVCodecTag ff_codec_movvideo_tags[] = {
 
 { AV_CODEC_ID_HEVC, MKTAG('h', 'e', 'v', '1') }, /* HEVC/H.265 which 
indicates parameter sets may be in ES */
 { AV_CODEC_ID_HEVC, MKTAG('h', 'v', 'c', '1') }, /* HEVC/H.265 which 
indicates parameter sets shall not be in ES */
+{ AV_CODEC_ID_HEVC, MKTAG('d', 'v', 'h', 'e') }, /* HEVC-based Dolby 
Vision derived from hev1 */
+ /* dvh1 is handled within 
mov.c */
 
 { AV_CODEC_ID_H264, MKTAG('a', 'v', 'c', '1') }, /* AVC-1/H.264 */
 { AV_CODEC_ID_H264, MKTAG('a', 'v', 'c', '2') },
@@ -185,6 +187,8 @@ const AVCodecTag ff_codec_movvideo_tags[] = {
 { AV_CODEC_ID_H264, MKTAG('r', 'v', '6', '4') }, /* X-Com Radvision */
 { AV_CODEC_ID_H264, MKTAG('x', 'a', 'l', 'g') }, /* XAVC-L HD422 produced 
by FCP */
 { AV_CODEC_ID_H264, MKTAG('a', 'v', 'l', 'g') }, /* Panasonic P2 AVC-LongG 
*/
+{ AV_CODEC_ID_H264, MKTAG('d', 'v', 'a', '1') }, /* AVC-based Dolby Vision 
derived from avc1 */
+{ AV_CODEC_ID_H264, MKTAG('d', 'v', 'a', 'v') }, /* AVC-based Dolby Vision 
derived from avc3 */
 
 { AV_CODEC_ID_VP8,  MKTAG('v', 'p', '0', '8') }, /* VP8 */
 { AV_CODEC_ID_VP9,  MKTAG('v', 'p', '0', '9') }, /* VP9 */

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] avformat/mxfenc: fix typo

2018-12-17 Thread Paul B Mahol
ffmpeg | branch: master | Paul B Mahol  | Mon Dec 17 21:06:36 
2018 +0100| [7b2a9aaa0b784244f6112dbb4b756ca6c4b374d1] | committer: Paul B Mahol

avformat/mxfenc: fix typo

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=7b2a9aaa0b784244f6112dbb4b756ca6c4b374d1
---

 libavformat/mxfenc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavformat/mxfenc.c b/libavformat/mxfenc.c
index 4f9f353ffc..5e7bd212dc 100644
--- a/libavformat/mxfenc.c
+++ b/libavformat/mxfenc.c
@@ -3040,7 +3040,7 @@ static int mxf_interleave(AVFormatContext *s, AVPacket 
*out, AVPacket *pkt, int
 }
 
 #define MXF_COMMON_OPTIONS \
-{ "signal_standard", "Force/set Sigal Standard",\
+{ "signal_standard", "Force/set Signal Standard",\
   offsetof(MXFContext, signal_standard), AV_OPT_TYPE_INT, {.i64 = -1}, -1, 
7, AV_OPT_FLAG_ENCODING_PARAM, "signal_standard"},\
 { "bt601", "ITU-R BT.601 and BT.656, also SMPTE 125M (525 and 625 line 
interlaced)",\
   0, AV_OPT_TYPE_CONST, {.i64 = 1}, -1, 7, AV_OPT_FLAG_ENCODING_PARAM, 
"signal_standard"},\

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] avfilter/af_apad: add pad_dur and whole_dur options

2018-12-17 Thread Paul B Mahol
ffmpeg | branch: master | Paul B Mahol  | Sun Dec 16 17:00:56 
2018 +0100| [d54276f9def8049c5354822d25663d86d524b026] | committer: Paul B Mahol

avfilter/af_apad: add pad_dur and whole_dur options

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=d54276f9def8049c5354822d25663d86d524b026
---

 doc/filters.texi  | 18 +++---
 libavfilter/af_apad.c | 23 +--
 2 files changed, 36 insertions(+), 5 deletions(-)

diff --git a/doc/filters.texi b/doc/filters.texi
index e3415630ec..ac4c9b44d8 100644
--- a/doc/filters.texi
+++ b/doc/filters.texi
@@ -1776,11 +1776,23 @@ Set the minimum total number of samples in the output 
audio stream. If
 the value is longer than the input audio length, silence is added to
 the end, until the value is reached. This option is mutually exclusive
 with @option{pad_len}.
+
+@item pad_dur
+Specify the duration of samples of silence to add. See
+@ref{time duration syntax,,the Time duration section in the ffmpeg-utils(1) 
manual,ffmpeg-utils}
+for the accepted syntax. Used only if set to non-zero value.
+
+@item whole_dur
+Specify the minimum total duration in the output audio stream. See
+@ref{time duration syntax,,the Time duration section in the ffmpeg-utils(1) 
manual,ffmpeg-utils}
+for the accepted syntax. Used only if set to non-zero value. If the value is 
longer than
+the input audio length, silence is added to the end, until the value is 
reached.
+This option is mutually exclusive with @option{pad_dur}
 @end table
 
-If neither the @option{pad_len} nor the @option{whole_len} option is
-set, the filter will add silence to the end of the input stream
-indefinitely.
+If neither the @option{pad_len} nor the @option{whole_len} nor @option{pad_dur}
+nor @option{whole_dur} option is set, the filter will add silence to the end of
+the input stream indefinitely.
 
 @subsection Examples
 
diff --git a/libavfilter/af_apad.c b/libavfilter/af_apad.c
index f7a4199c64..fbcf6d1349 100644
--- a/libavfilter/af_apad.c
+++ b/libavfilter/af_apad.c
@@ -41,6 +41,8 @@ typedef struct APadContext {
 int packet_size;
 int64_t pad_len, pad_len_left;
 int64_t whole_len, whole_len_left;
+int64_t pad_dur;
+int64_t whole_dur;
 } APadContext;
 
 #define OFFSET(x) offsetof(APadContext, x)
@@ -50,6 +52,8 @@ static const AVOption apad_options[] = {
 { "packet_size", "set silence packet size",
  OFFSET(packet_size), AV_OPT_TYPE_INT,   { .i64 = 4096 }, 0, INT_MAX, A },
 { "pad_len", "set number of samples of silence to add",
  OFFSET(pad_len), AV_OPT_TYPE_INT64, { .i64 = -1 }, -1, INT64_MAX, A },
 { "whole_len",   "set minimum target number of samples in the audio 
stream", OFFSET(whole_len),   AV_OPT_TYPE_INT64, { .i64 = -1 }, -1, INT64_MAX, 
A },
+{ "pad_dur", "set duration of silence to add", 
  OFFSET(pad_dur), AV_OPT_TYPE_DURATION, { .i64 = 0 }, 0, INT64_MAX, A },
+{ "whole_dur",   "set minimum target duration in the audio stream",
  OFFSET(whole_dur),   AV_OPT_TYPE_DURATION, { .i64 = 0 }, 0, INT64_MAX, A },
 { NULL }
 };
 
@@ -64,8 +68,6 @@ static av_cold int init(AVFilterContext *ctx)
 av_log(ctx, AV_LOG_ERROR, "Both whole and pad length are set, this is 
not possible\n");
 return AVERROR(EINVAL);
 }
-s->pad_len_left   = s->pad_len;
-s->whole_len_left = s->whole_len;
 
 return 0;
 }
@@ -131,6 +133,22 @@ static int request_frame(AVFilterLink *outlink)
 return ret;
 }
 
+static int config_output(AVFilterLink *outlink)
+{
+AVFilterContext *ctx = outlink->src;
+APadContext *s  = ctx->priv;
+
+if (s->pad_dur)
+s->pad_len = av_rescale(s->pad_dur, outlink->sample_rate, 
AV_TIME_BASE);
+if (s->whole_dur)
+s->whole_len = av_rescale(s->whole_dur, outlink->sample_rate, 
AV_TIME_BASE);
+
+s->pad_len_left   = s->pad_len;
+s->whole_len_left = s->whole_len;
+
+return 0;
+}
+
 static const AVFilterPad apad_inputs[] = {
 {
 .name = "default",
@@ -144,6 +162,7 @@ static const AVFilterPad apad_outputs[] = {
 {
 .name  = "default",
 .request_frame = request_frame,
+.config_props  = config_output,
 .type  = AVMEDIA_TYPE_AUDIO,
 },
 { NULL }

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] lavf/id3v2: fail read_apic on EOF reading mimetype

2018-12-17 Thread chcunningham
ffmpeg | branch: master | chcunningham  | Fri Dec 14 
13:44:07 2018 -0800| [ee1e39a576977fd38c3b94fc56125d31d38833e9] | committer: 
Michael Niedermayer

lavf/id3v2: fail read_apic on EOF reading mimetype

avio_read may return EOF, leaving the mimetype array unitialized. fail
early when this occurs to avoid using the array in an unitialized state.

Reviewed-by: Tomas Härdin 
Signed-off-by: Michael Niedermayer 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=ee1e39a576977fd38c3b94fc56125d31d38833e9
---

 libavformat/id3v2.c | 6 --
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/libavformat/id3v2.c b/libavformat/id3v2.c
index bb5c3f8119..b43ab1745f 100644
--- a/libavformat/id3v2.c
+++ b/libavformat/id3v2.c
@@ -591,7 +591,7 @@ static void read_apic(AVFormatContext *s, AVIOContext *pb, 
int taglen,
   int isv34)
 {
 int enc, pic_type;
-char mimetype[64];
+char mimetype[64] = {0};
 const CodecMime *mime = ff_id3v2_mime_tags;
 enum AVCodecID id = AV_CODEC_ID_NONE;
 ID3v2ExtraMetaAPIC *apic  = NULL;
@@ -613,7 +613,9 @@ static void read_apic(AVFormatContext *s, AVIOContext *pb, 
int taglen,
 if (isv34) {
 taglen -= avio_get_str(pb, taglen, mimetype, sizeof(mimetype));
 } else {
-avio_read(pb, mimetype, 3);
+if (avio_read(pb, mimetype, 3) < 0)
+goto fail;
+
 mimetype[3] = 0;
 taglen-= 3;
 }

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] lavfi/program_opencl: Do not use format specifier "z" on Windows.

2018-12-17 Thread Carl Eugen Hoyos
ffmpeg | branch: master | Carl Eugen Hoyos  | Mon Dec 17 
14:44:10 2018 +0100| [826655d8d11749f521f517a8091eccbf2d516c34] | committer: 
Carl Eugen Hoyos

lavfi/program_opencl: Do not use format specifier "z" on Windows.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=826655d8d11749f521f517a8091eccbf2d516c34
---

 libavfilter/vf_program_opencl.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/libavfilter/vf_program_opencl.c b/libavfilter/vf_program_opencl.c
index dfb25652bc..ec25e931f5 100644
--- a/libavfilter/vf_program_opencl.c
+++ b/libavfilter/vf_program_opencl.c
@@ -144,7 +144,8 @@ static int program_opencl_run(AVFilterContext *avctx)
 goto fail;
 
 av_log(avctx, AV_LOG_DEBUG, "Run kernel on plane %d "
-   "(%zux%zu).\n", plane, global_work[0], global_work[1]);
+   "(%"SIZE_SPECIFIER"x%"SIZE_SPECIFIER").\n",
+   plane, global_work[0], global_work[1]);
 
 cle = clEnqueueNDRangeKernel(ctx->command_queue, ctx->kernel, 2, NULL,
  global_work, NULL, 0, NULL, NULL);

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] lavc/cbs: Do not use format specifier "z" on Windows.

2018-12-17 Thread Carl Eugen Hoyos
ffmpeg | branch: master | Carl Eugen Hoyos  | Mon Dec 17 
14:39:41 2018 +0100| [0b7269e62d0345fec5f1ee9ee7b960e8d25c5dd1] | committer: 
Carl Eugen Hoyos

lavc/cbs: Do not use format specifier "z" on Windows.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=0b7269e62d0345fec5f1ee9ee7b960e8d25c5dd1
---

 libavcodec/cbs_av1.c | 10 +-
 libavcodec/cbs_vp9.c |  4 ++--
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/libavcodec/cbs_av1.c b/libavcodec/cbs_av1.c
index e02bc7027a..b3f81ae93a 100644
--- a/libavcodec/cbs_av1.c
+++ b/libavcodec/cbs_av1.c
@@ -773,7 +773,7 @@ static int cbs_av1_split_fragment(CodedBitstreamContext 
*ctx,
 
 if (INT_MAX / 8 < size) {
 av_log(ctx->log_ctx, AV_LOG_ERROR, "Invalid fragment: "
-   "too large (%zu bytes).\n", size);
+   "too large (%"SIZE_SPECIFIER" bytes).\n", size);
 err = AVERROR_INVALIDDATA;
 goto fail;
 }
@@ -790,7 +790,7 @@ static int cbs_av1_split_fragment(CodedBitstreamContext 
*ctx,
 
 if (get_bits_left() < 8) {
 av_log(ctx->log_ctx, AV_LOG_ERROR, "Invalid OBU: fragment "
-   "too short (%zu bytes).\n", size);
+   "too short (%"SIZE_SPECIFIER" bytes).\n", size);
 err = AVERROR_INVALIDDATA;
 goto fail;
 }
@@ -809,7 +809,7 @@ static int cbs_av1_split_fragment(CodedBitstreamContext 
*ctx,
 
 if (size < obu_length) {
 av_log(ctx->log_ctx, AV_LOG_ERROR, "Invalid OBU length: "
-   "%"PRIu64", but only %zu bytes remaining in fragment.\n",
+   "%"PRIu64", but only %"SIZE_SPECIFIER" bytes remaining in 
fragment.\n",
obu_length, size);
 err = AVERROR_INVALIDDATA;
 goto fail;
@@ -924,7 +924,7 @@ static int cbs_av1_read_unit(CodedBitstreamContext *ctx,
 } else {
 if (unit->data_size < 1 + obu->header.obu_extension_flag) {
 av_log(ctx->log_ctx, AV_LOG_ERROR, "Invalid OBU length: "
-   "unit too short (%zu).\n", unit->data_size);
+   "unit too short (%"SIZE_SPECIFIER").\n", unit->data_size);
 return AVERROR_INVALIDDATA;
 }
 obu->obu_size = unit->data_size - 1 - obu->header.obu_extension_flag;
@@ -1226,7 +1226,7 @@ static int cbs_av1_write_unit(CodedBitstreamContext *ctx,
 if (err < 0) {
 av_log(ctx->log_ctx, AV_LOG_ERROR, "Unable to allocate a "
"sufficiently large write buffer (last attempt "
-   "%zu bytes).\n", priv->write_buffer_size);
+   "%"SIZE_SPECIFIER" bytes).\n", priv->write_buffer_size);
 return err;
 }
 }
diff --git a/libavcodec/cbs_vp9.c b/libavcodec/cbs_vp9.c
index f145694e22..0b5f137ed8 100644
--- a/libavcodec/cbs_vp9.c
+++ b/libavcodec/cbs_vp9.c
@@ -457,7 +457,7 @@ static int cbs_vp9_split_fragment(CodedBitstreamContext 
*ctx,
 }
 if (pos + index_size != frag->data_size) {
 av_log(ctx->log_ctx, AV_LOG_WARNING, "Extra padding at "
-   "end of superframe: %zu bytes.\n",
+   "end of superframe: %"SIZE_SPECIFIER" bytes.\n",
frag->data_size - (pos + index_size));
 }
 
@@ -538,7 +538,7 @@ static int cbs_vp9_write_unit(CodedBitstreamContext *ctx,
 if (err < 0) {
 av_log(ctx->log_ctx, AV_LOG_ERROR, "Unable to allocate a "
"sufficiently large write buffer (last attempt "
-   "%zu bytes).\n", priv->write_buffer_size);
+   "%"SIZE_SPECIFIER" bytes).\n", priv->write_buffer_size);
 return err;
 }
 }

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog