[FFmpeg-cvslog] lavc/qsv_hevc: correct QSV HEVC default plugin on Windows
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
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
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
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
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
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.
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.
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