lavc: Switch bitrate to 64bit unless compatibility with avconv was requested.
This commit is contained in:
		
				
					committed by
					
						
						Carl Eugen Hoyos
					
				
			
			
				
	
			
			
			
						parent
						
							28e023377c
						
					
				
				
					commit
					7404f3bdb9
				
			@@ -15,6 +15,10 @@ libavutil:     2015-08-28
 | 
			
		||||
 | 
			
		||||
API changes, most recent first:
 | 
			
		||||
 | 
			
		||||
2015-09-15 - lavc 57.2.100 - avcodec.h
 | 
			
		||||
  bit_rate/rc_max_rate/rc_min_rate were changed to 64bit, make sure you update
 | 
			
		||||
  any printf() or other type sensitive code
 | 
			
		||||
 | 
			
		||||
2015-xx-xx - lavu 55.0.100 / lavu 55.0.0
 | 
			
		||||
  xxxxxxx - Change type of AVPixFmtDescriptor.flags from uint8_t to uint64_t.
 | 
			
		||||
  xxxxxxx - Change type of AVComponentDescriptor fields from uint16_t to int
 | 
			
		||||
 
 | 
			
		||||
@@ -1787,9 +1787,9 @@ static inline void print_stream_params(AVIOContext *pb, FFServerStream *stream)
 | 
			
		||||
            abort();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        avio_printf(pb, "<tr><td align=right>%d<td>%s<td align=right>%d"
 | 
			
		||||
        avio_printf(pb, "<tr><td align=right>%d<td>%s<td align=right>%"PRId64
 | 
			
		||||
                        "<td>%s<td>%s\n",
 | 
			
		||||
                    i, type, st->codec->bit_rate/1000,
 | 
			
		||||
                    i, type, (int64_t)st->codec->bit_rate/1000,
 | 
			
		||||
                    codec ? codec->name : "", parameters);
 | 
			
		||||
     }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1532,7 +1532,11 @@ typedef struct AVCodecContext {
 | 
			
		||||
     * - decoding: Set by user, may be overwritten by libavcodec
 | 
			
		||||
     *             if this info is available in the stream
 | 
			
		||||
     */
 | 
			
		||||
#if AV_HAVE_INCOMPATIBLE_LIBAV_ABI
 | 
			
		||||
    int bit_rate;
 | 
			
		||||
#else
 | 
			
		||||
    int64_t bit_rate;
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * number of bits the bitstream is allowed to diverge from the reference.
 | 
			
		||||
@@ -2463,14 +2467,22 @@ typedef struct AVCodecContext {
 | 
			
		||||
     * - encoding: Set by user.
 | 
			
		||||
     * - decoding: Set by user, may be overwritten by libavcodec.
 | 
			
		||||
     */
 | 
			
		||||
#if AV_HAVE_INCOMPATIBLE_LIBAV_ABI
 | 
			
		||||
    int rc_max_rate;
 | 
			
		||||
#else
 | 
			
		||||
    int64_t rc_max_rate;
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * minimum bitrate
 | 
			
		||||
     * - encoding: Set by user.
 | 
			
		||||
     * - decoding: unused
 | 
			
		||||
     */
 | 
			
		||||
#if AV_HAVE_INCOMPATIBLE_LIBAV_ABI
 | 
			
		||||
    int rc_min_rate;
 | 
			
		||||
#else
 | 
			
		||||
    int64_t rc_min_rate;
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if FF_API_MPV_OPT
 | 
			
		||||
    /**
 | 
			
		||||
 
 | 
			
		||||
@@ -1028,7 +1028,7 @@ static void dump_cook_context(COOKContext *q)
 | 
			
		||||
    }
 | 
			
		||||
    ff_dlog(q->avctx, "COOKContext\n");
 | 
			
		||||
    PRINT("nb_channels", q->avctx->channels);
 | 
			
		||||
    PRINT("bit_rate", q->avctx->bit_rate);
 | 
			
		||||
    PRINT("bit_rate", (int)q->avctx->bit_rate);
 | 
			
		||||
    PRINT("sample_rate", q->avctx->sample_rate);
 | 
			
		||||
    PRINT("samples_per_channel", q->subpacket[0].samples_per_channel);
 | 
			
		||||
    PRINT("subbands", q->subpacket[0].subbands);
 | 
			
		||||
 
 | 
			
		||||
@@ -145,7 +145,7 @@ static int encode_init(AVCodecContext *avctx)
 | 
			
		||||
    c->samplerate_index = i;
 | 
			
		||||
 | 
			
		||||
    if (avctx->bit_rate < 32000 || avctx->bit_rate > 3840000) {
 | 
			
		||||
        av_log(avctx, AV_LOG_ERROR, "Bit rate %i not supported.", avctx->bit_rate);
 | 
			
		||||
        av_log(avctx, AV_LOG_ERROR, "Bit rate %"PRId64" not supported.", (int64_t)avctx->bit_rate);
 | 
			
		||||
        return AVERROR(EINVAL);
 | 
			
		||||
    }
 | 
			
		||||
    for (i = 0; ff_dca_bit_rates[i] < avctx->bit_rate; i++)
 | 
			
		||||
 
 | 
			
		||||
@@ -215,8 +215,8 @@ static av_cold int aac_encode_init(AVCodecContext *avctx)
 | 
			
		||||
        }
 | 
			
		||||
        if ((err = aacEncoder_SetParam(s->handle, AACENC_BITRATE,
 | 
			
		||||
                                       avctx->bit_rate)) != AACENC_OK) {
 | 
			
		||||
            av_log(avctx, AV_LOG_ERROR, "Unable to set the bitrate %d: %s\n",
 | 
			
		||||
                   avctx->bit_rate, aac_get_error(err));
 | 
			
		||||
            av_log(avctx, AV_LOG_ERROR, "Unable to set the bitrate %"PRId64": %s\n",
 | 
			
		||||
                   (int64_t)avctx->bit_rate, aac_get_error(err));
 | 
			
		||||
            goto error;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
@@ -62,8 +62,8 @@ static av_cold int libgsm_encode_init(AVCodecContext *avctx) {
 | 
			
		||||
    if (avctx->bit_rate != 13000 /* Official */ &&
 | 
			
		||||
        avctx->bit_rate != 13200 /* Very common */ &&
 | 
			
		||||
        avctx->bit_rate != 0 /* Unknown; a.o. mov does not set bitrate when decoding */ ) {
 | 
			
		||||
        av_log(avctx, AV_LOG_ERROR, "Bitrate 13000bps required for GSM, got %dbps\n",
 | 
			
		||||
               avctx->bit_rate);
 | 
			
		||||
        av_log(avctx, AV_LOG_ERROR, "Bitrate 13000bps required for GSM, got %"PRId64"bps\n",
 | 
			
		||||
               (int64_t)avctx->bit_rate);
 | 
			
		||||
        if (avctx->strict_std_compliance > FF_COMPLIANCE_UNOFFICIAL)
 | 
			
		||||
            return -1;
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
@@ -180,12 +180,12 @@ static av_cold int libopus_encode_init(AVCodecContext *avctx)
 | 
			
		||||
        avctx->bit_rate = 64000 * opus->stream_count +
 | 
			
		||||
                          32000 * coupled_stream_count;
 | 
			
		||||
        av_log(avctx, AV_LOG_WARNING,
 | 
			
		||||
               "No bit rate set. Defaulting to %d bps.\n", avctx->bit_rate);
 | 
			
		||||
               "No bit rate set. Defaulting to %"PRId64" bps.\n", (int64_t)avctx->bit_rate);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (avctx->bit_rate < 500 || avctx->bit_rate > 256000 * avctx->channels) {
 | 
			
		||||
        av_log(avctx, AV_LOG_ERROR, "The bit rate %d bps is unsupported. "
 | 
			
		||||
               "Please choose a value between 500 and %d.\n", avctx->bit_rate,
 | 
			
		||||
        av_log(avctx, AV_LOG_ERROR, "The bit rate %"PRId64" bps is unsupported. "
 | 
			
		||||
               "Please choose a value between 500 and %d.\n", (int64_t)avctx->bit_rate,
 | 
			
		||||
               256000 * avctx->channels);
 | 
			
		||||
        return AVERROR(EINVAL);
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
@@ -125,10 +125,10 @@ static av_cold void print_enc_params(AVCodecContext *avctx,
 | 
			
		||||
        av_log(avctx, AV_LOG_DEBUG, "  quality: %f\n", s->vbr_quality);
 | 
			
		||||
    } else if (s->abr) {
 | 
			
		||||
        av_log(avctx, AV_LOG_DEBUG, "rate control: ABR\n");
 | 
			
		||||
        av_log(avctx, AV_LOG_DEBUG, "  bitrate: %d bps\n", avctx->bit_rate);
 | 
			
		||||
        av_log(avctx, AV_LOG_DEBUG, "  bitrate: %"PRId64" bps\n", (int64_t)avctx->bit_rate);
 | 
			
		||||
    } else {
 | 
			
		||||
        av_log(avctx, AV_LOG_DEBUG, "rate control: CBR\n");
 | 
			
		||||
        av_log(avctx, AV_LOG_DEBUG, "  bitrate: %d bps\n", avctx->bit_rate);
 | 
			
		||||
        av_log(avctx, AV_LOG_DEBUG, "  bitrate: %"PRId64" bps\n", (int64_t)avctx->bit_rate);
 | 
			
		||||
    }
 | 
			
		||||
    av_log(avctx, AV_LOG_DEBUG, "complexity: %d\n",
 | 
			
		||||
           avctx->compression_level);
 | 
			
		||||
 
 | 
			
		||||
@@ -486,7 +486,7 @@ FF_ENABLE_DEPRECATION_WARNINGS
 | 
			
		||||
        avctx->bit_rate * av_q2d(avctx->time_base) >
 | 
			
		||||
            avctx->bit_rate_tolerance) {
 | 
			
		||||
        av_log(avctx, AV_LOG_WARNING,
 | 
			
		||||
               "bitrate tolerance %d too small for bitrate %d, overriding\n", avctx->bit_rate_tolerance, avctx->bit_rate);
 | 
			
		||||
               "bitrate tolerance %d too small for bitrate %"PRId64", overriding\n", avctx->bit_rate_tolerance, (int64_t)avctx->bit_rate);
 | 
			
		||||
        avctx->bit_rate_tolerance = 5 * avctx->bit_rate * av_q2d(avctx->time_base);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -42,8 +42,13 @@
 | 
			
		||||
#define AV_CODEC_DEFAULT_BITRATE 200*1000
 | 
			
		||||
 | 
			
		||||
static const AVOption avcodec_options[] = {
 | 
			
		||||
#if AV_HAVE_INCOMPATIBLE_LIBAV_ABI
 | 
			
		||||
{"b", "set bitrate (in bits/s)", OFFSET(bit_rate), AV_OPT_TYPE_INT, {.i64 = AV_CODEC_DEFAULT_BITRATE }, 0, INT_MAX, A|V|E},
 | 
			
		||||
{"ab", "set bitrate (in bits/s)", OFFSET(bit_rate), AV_OPT_TYPE_INT, {.i64 = 128*1000 }, 0, INT_MAX, A|E},
 | 
			
		||||
#else
 | 
			
		||||
{"b", "set bitrate (in bits/s)", OFFSET(bit_rate), AV_OPT_TYPE_INT64, {.i64 = AV_CODEC_DEFAULT_BITRATE }, 0, INT_MAX, A|V|E},
 | 
			
		||||
{"ab", "set bitrate (in bits/s)", OFFSET(bit_rate), AV_OPT_TYPE_INT64, {.i64 = 128*1000 }, 0, INT_MAX, A|E},
 | 
			
		||||
#endif
 | 
			
		||||
{"bt", "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far "
 | 
			
		||||
       "ratecontrol is willing to deviate from the target average bitrate value. This is not related "
 | 
			
		||||
       "to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality.",
 | 
			
		||||
@@ -186,9 +191,15 @@ static const AVOption avcodec_options[] = {
 | 
			
		||||
#if FF_API_MPV_OPT
 | 
			
		||||
{"rc_eq", "deprecated, use encoder private options instead", OFFSET(rc_eq), AV_OPT_TYPE_STRING, {.str = NULL}, CHAR_MIN, CHAR_MAX, V|E},
 | 
			
		||||
#endif
 | 
			
		||||
#if AV_HAVE_INCOMPATIBLE_LIBAV_ABI
 | 
			
		||||
{"maxrate", "maximum bitrate (in bits/s). Used for VBV together with bufsize.", OFFSET(rc_max_rate), AV_OPT_TYPE_INT, {.i64 = DEFAULT }, 0, INT_MAX, V|A|E},
 | 
			
		||||
{"minrate", "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise.",
 | 
			
		||||
            OFFSET(rc_min_rate), AV_OPT_TYPE_INT, {.i64 = DEFAULT }, INT_MIN, INT_MAX, V|A|E},
 | 
			
		||||
#else
 | 
			
		||||
{"maxrate", "maximum bitrate (in bits/s). Used for VBV together with bufsize.", OFFSET(rc_max_rate), AV_OPT_TYPE_INT64, {.i64 = DEFAULT }, 0, INT_MAX, V|A|E},
 | 
			
		||||
{"minrate", "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise.",
 | 
			
		||||
            OFFSET(rc_min_rate), AV_OPT_TYPE_INT64, {.i64 = DEFAULT }, INT_MIN, INT_MAX, V|A|E},
 | 
			
		||||
#endif
 | 
			
		||||
{"bufsize", "set ratecontrol buffer size (in bits)", OFFSET(rc_buffer_size), AV_OPT_TYPE_INT, {.i64 = DEFAULT }, INT_MIN, INT_MAX, A|V|E},
 | 
			
		||||
#if FF_API_MPV_OPT
 | 
			
		||||
{"rc_buf_aggressivity", "deprecated, use encoder private options instead", OFFSET(rc_buffer_aggressivity), AV_OPT_TYPE_FLOAT, {.dbl = 1.0 }, -FLT_MAX, FLT_MAX, V|E},
 | 
			
		||||
 
 | 
			
		||||
@@ -117,9 +117,9 @@ static int pcm_bluray_parse_header(AVCodecContext *avctx,
 | 
			
		||||
 | 
			
		||||
    if (avctx->debug & FF_DEBUG_PICT_INFO)
 | 
			
		||||
        ff_dlog(avctx,
 | 
			
		||||
                "pcm_bluray_parse_header: %d channels, %d bits per sample, %d Hz, %d bit/s\n",
 | 
			
		||||
                "pcm_bluray_parse_header: %d channels, %d bits per sample, %d Hz, %"PRId64" bit/s\n",
 | 
			
		||||
                avctx->channels, avctx->bits_per_coded_sample,
 | 
			
		||||
                avctx->sample_rate, avctx->bit_rate);
 | 
			
		||||
                avctx->sample_rate, (int64_t)avctx->bit_rate);
 | 
			
		||||
    return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -140,9 +140,9 @@ static int pcm_dvd_parse_header(AVCodecContext *avctx, const uint8_t *header)
 | 
			
		||||
 | 
			
		||||
    if (avctx->debug & FF_DEBUG_PICT_INFO)
 | 
			
		||||
        ff_dlog(avctx,
 | 
			
		||||
                "pcm_dvd_parse_header: %d channels, %d bits per sample, %d Hz, %d bit/s\n",
 | 
			
		||||
                "pcm_dvd_parse_header: %d channels, %d bits per sample, %d Hz, %"PRId64" bit/s\n",
 | 
			
		||||
                avctx->channels, avctx->bits_per_coded_sample,
 | 
			
		||||
                avctx->sample_rate, avctx->bit_rate);
 | 
			
		||||
                avctx->sample_rate, (int64_t)avctx->bit_rate);
 | 
			
		||||
 | 
			
		||||
    s->last_header = header_int;
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -493,8 +493,8 @@ static av_cold int sipr_decoder_init(AVCodecContext * avctx)
 | 
			
		||||
        else if (avctx->bit_rate > 5750 ) ctx->mode = MODE_6k5;
 | 
			
		||||
        else                              ctx->mode = MODE_5k0;
 | 
			
		||||
        av_log(avctx, AV_LOG_WARNING,
 | 
			
		||||
               "Invalid block_align: %d. Mode %s guessed based on bitrate: %d\n",
 | 
			
		||||
               avctx->block_align, modes[ctx->mode].mode_name, avctx->bit_rate);
 | 
			
		||||
               "Invalid block_align: %d. Mode %s guessed based on bitrate: %"PRId64"\n",
 | 
			
		||||
               avctx->block_align, modes[ctx->mode].mode_name, (int64_t)avctx->bit_rate);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    av_log(avctx, AV_LOG_DEBUG, "Mode: %s\n", modes[ctx->mode].mode_name);
 | 
			
		||||
 
 | 
			
		||||
@@ -1450,7 +1450,7 @@ FF_ENABLE_DEPRECATION_WARNINGS
 | 
			
		||||
        }
 | 
			
		||||
        if (   (avctx->codec_type == AVMEDIA_TYPE_VIDEO || avctx->codec_type == AVMEDIA_TYPE_AUDIO)
 | 
			
		||||
            && avctx->bit_rate>0 && avctx->bit_rate<1000) {
 | 
			
		||||
            av_log(avctx, AV_LOG_WARNING, "Bitrate %d is extremely low, maybe you mean %dk\n", avctx->bit_rate, avctx->bit_rate);
 | 
			
		||||
            av_log(avctx, AV_LOG_WARNING, "Bitrate %"PRId64" is extremely low, maybe you mean %"PRId64"k\n", (int64_t)avctx->bit_rate, (int64_t)avctx->bit_rate);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (!avctx->rc_initial_buffer_occupancy)
 | 
			
		||||
@@ -2828,7 +2828,7 @@ void avcodec_string(char *buf, int buf_size, AVCodecContext *enc, int encode)
 | 
			
		||||
                 ", %d kb/s", bitrate / 1000);
 | 
			
		||||
    } else if (enc->rc_max_rate > 0) {
 | 
			
		||||
        snprintf(buf + strlen(buf), buf_size - strlen(buf),
 | 
			
		||||
                 ", max. %d kb/s", enc->rc_max_rate / 1000);
 | 
			
		||||
                 ", max. %"PRId64" kb/s", (int64_t)enc->rc_max_rate / 1000);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -29,7 +29,7 @@
 | 
			
		||||
#include "libavutil/version.h"
 | 
			
		||||
 | 
			
		||||
#define LIBAVCODEC_VERSION_MAJOR  57
 | 
			
		||||
#define LIBAVCODEC_VERSION_MINOR   1
 | 
			
		||||
#define LIBAVCODEC_VERSION_MINOR   2
 | 
			
		||||
#define LIBAVCODEC_VERSION_MICRO 100
 | 
			
		||||
 | 
			
		||||
#define LIBAVCODEC_VERSION_INT  AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
 | 
			
		||||
 
 | 
			
		||||
@@ -185,8 +185,8 @@ av_cold int ff_wma_init(AVCodecContext *avctx, int flags2)
 | 
			
		||||
            high_freq = high_freq * 0.5;
 | 
			
		||||
    }
 | 
			
		||||
    ff_dlog(s->avctx, "flags2=0x%x\n", flags2);
 | 
			
		||||
    ff_dlog(s->avctx, "version=%d channels=%d sample_rate=%d bitrate=%d block_align=%d\n",
 | 
			
		||||
            s->version, avctx->channels, avctx->sample_rate, avctx->bit_rate,
 | 
			
		||||
    ff_dlog(s->avctx, "version=%d channels=%d sample_rate=%d bitrate=%"PRId64" block_align=%d\n",
 | 
			
		||||
            s->version, avctx->channels, avctx->sample_rate, (int64_t)avctx->bit_rate,
 | 
			
		||||
            avctx->block_align);
 | 
			
		||||
    ff_dlog(s->avctx, "bps=%f bps1=%f high_freq=%f bitoffset=%d\n",
 | 
			
		||||
            bps, bps1, high_freq, s->byte_offset_bits);
 | 
			
		||||
 
 | 
			
		||||
@@ -50,8 +50,8 @@ static av_cold int encode_init(AVCodecContext *avctx)
 | 
			
		||||
 | 
			
		||||
    if (avctx->bit_rate < 24 * 1000) {
 | 
			
		||||
        av_log(avctx, AV_LOG_ERROR,
 | 
			
		||||
               "bitrate too low: got %i, need 24000 or higher\n",
 | 
			
		||||
               avctx->bit_rate);
 | 
			
		||||
               "bitrate too low: got %"PRId64", need 24000 or higher\n",
 | 
			
		||||
               (int64_t)avctx->bit_rate);
 | 
			
		||||
        return AVERROR(EINVAL);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -136,11 +136,11 @@ static av_cold int fbdev_read_header(AVFormatContext *avctx)
 | 
			
		||||
        fbdev->width * fbdev->height * fbdev->bytes_per_pixel * av_q2d(fbdev->framerate_q) * 8;
 | 
			
		||||
 | 
			
		||||
    av_log(avctx, AV_LOG_INFO,
 | 
			
		||||
           "w:%d h:%d bpp:%d pixfmt:%s fps:%d/%d bit_rate:%d\n",
 | 
			
		||||
           "w:%d h:%d bpp:%d pixfmt:%s fps:%d/%d bit_rate:%"PRId64"\n",
 | 
			
		||||
           fbdev->width, fbdev->height, fbdev->varinfo.bits_per_pixel,
 | 
			
		||||
           av_get_pix_fmt_name(pix_fmt),
 | 
			
		||||
           fbdev->framerate_q.num, fbdev->framerate_q.den,
 | 
			
		||||
           st->codec->bit_rate);
 | 
			
		||||
           (int64_t)st->codec->bit_rate);
 | 
			
		||||
    return 0;
 | 
			
		||||
 | 
			
		||||
fail:
 | 
			
		||||
 
 | 
			
		||||
@@ -3296,8 +3296,8 @@ static int mov_write_isml_manifest(AVIOContext *pb, MOVMuxContext *mov)
 | 
			
		||||
        } else {
 | 
			
		||||
            continue;
 | 
			
		||||
        }
 | 
			
		||||
        avio_printf(pb, "<%s systemBitrate=\"%d\">\n", type,
 | 
			
		||||
                                                       track->enc->bit_rate);
 | 
			
		||||
        avio_printf(pb, "<%s systemBitrate=\"%"PRId64"\">\n", type,
 | 
			
		||||
                    (int64_t)track->enc->bit_rate);
 | 
			
		||||
        param_write_int(pb, "systemBitrate", track->enc->bit_rate);
 | 
			
		||||
        param_write_int(pb, "trackID", track_id);
 | 
			
		||||
        if (track->enc->codec_type == AVMEDIA_TYPE_VIDEO) {
 | 
			
		||||
 
 | 
			
		||||
@@ -448,7 +448,11 @@ real_parse_asm_rule(AVStream *st, const char *p, const char *end)
 | 
			
		||||
{
 | 
			
		||||
    do {
 | 
			
		||||
        /* can be either averagebandwidth= or AverageBandwidth= */
 | 
			
		||||
#if AV_HAVE_INCOMPATIBLE_LIBAV_ABI
 | 
			
		||||
        if (sscanf(p, " %*1[Aa]verage%*1[Bb]andwidth=%d", &st->codec->bit_rate) == 1)
 | 
			
		||||
#else
 | 
			
		||||
        if (sscanf(p, " %*1[Aa]verage%*1[Bb]andwidth=%"SCNd64, &st->codec->bit_rate) == 1)
 | 
			
		||||
#endif
 | 
			
		||||
            break;
 | 
			
		||||
        if (!(p = strchr(p, ',')) || p > end)
 | 
			
		||||
            p = end;
 | 
			
		||||
 
 | 
			
		||||
@@ -740,7 +740,7 @@ void ff_sdp_write_media(char *buff, int size, AVStream *st, int idx,
 | 
			
		||||
    av_strlcatf(buff, size, "m=%s %d RTP/AVP %d\r\n", type, port, payload_type);
 | 
			
		||||
    sdp_write_address(buff, size, dest_addr, dest_type, ttl);
 | 
			
		||||
    if (c->bit_rate) {
 | 
			
		||||
        av_strlcatf(buff, size, "b=AS:%d\r\n", c->bit_rate / 1000);
 | 
			
		||||
        av_strlcatf(buff, size, "b=AS:%"PRId64"\r\n", (int64_t)c->bit_rate / 1000);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    sdp_write_media_attributes(buff, size, c, payload_type, fmt);
 | 
			
		||||
 
 | 
			
		||||
@@ -260,7 +260,7 @@ static int write_manifest(AVFormatContext *s, int final)
 | 
			
		||||
            if (s->streams[i]->codec->codec_type != AVMEDIA_TYPE_VIDEO)
 | 
			
		||||
                continue;
 | 
			
		||||
            last = i;
 | 
			
		||||
            avio_printf(out, "<QualityLevel Index=\"%d\" Bitrate=\"%d\" FourCC=\"%s\" MaxWidth=\"%d\" MaxHeight=\"%d\" CodecPrivateData=\"%s\" />\n", index, s->streams[i]->codec->bit_rate, os->fourcc, s->streams[i]->codec->width, s->streams[i]->codec->height, os->private_str);
 | 
			
		||||
            avio_printf(out, "<QualityLevel Index=\"%d\" Bitrate=\"%"PRId64"\" FourCC=\"%s\" MaxWidth=\"%d\" MaxHeight=\"%d\" CodecPrivateData=\"%s\" />\n", index, (int64_t)s->streams[i]->codec->bit_rate, os->fourcc, s->streams[i]->codec->width, s->streams[i]->codec->height, os->private_str);
 | 
			
		||||
            index++;
 | 
			
		||||
        }
 | 
			
		||||
        output_chunk_list(&c->streams[last], out, final, c->lookahead_count, c->window_size);
 | 
			
		||||
@@ -274,7 +274,7 @@ static int write_manifest(AVFormatContext *s, int final)
 | 
			
		||||
            if (s->streams[i]->codec->codec_type != AVMEDIA_TYPE_AUDIO)
 | 
			
		||||
                continue;
 | 
			
		||||
            last = i;
 | 
			
		||||
            avio_printf(out, "<QualityLevel Index=\"%d\" Bitrate=\"%d\" FourCC=\"%s\" SamplingRate=\"%d\" Channels=\"%d\" BitsPerSample=\"16\" PacketSize=\"%d\" AudioTag=\"%d\" CodecPrivateData=\"%s\" />\n", index, s->streams[i]->codec->bit_rate, os->fourcc, s->streams[i]->codec->sample_rate, s->streams[i]->codec->channels, os->packet_size, os->audio_tag, os->private_str);
 | 
			
		||||
            avio_printf(out, "<QualityLevel Index=\"%d\" Bitrate=\"%"PRId64"\" FourCC=\"%s\" SamplingRate=\"%d\" Channels=\"%d\" BitsPerSample=\"16\" PacketSize=\"%d\" AudioTag=\"%d\" CodecPrivateData=\"%s\" />\n", index, (int64_t)s->streams[i]->codec->bit_rate, os->fourcc, s->streams[i]->codec->sample_rate, s->streams[i]->codec->channels, os->packet_size, os->audio_tag, os->private_str);
 | 
			
		||||
            index++;
 | 
			
		||||
        }
 | 
			
		||||
        output_chunk_list(&c->streams[last], out, final, c->lookahead_count, c->window_size);
 | 
			
		||||
@@ -321,7 +321,7 @@ static int ism_write_header(AVFormatContext *s)
 | 
			
		||||
            ret = AVERROR(EINVAL);
 | 
			
		||||
            goto fail;
 | 
			
		||||
        }
 | 
			
		||||
        snprintf(os->dirname, sizeof(os->dirname), "%s/QualityLevels(%d)", s->filename, s->streams[i]->codec->bit_rate);
 | 
			
		||||
        snprintf(os->dirname, sizeof(os->dirname), "%s/QualityLevels(%"PRId64")", s->filename, (int64_t)s->streams[i]->codec->bit_rate);
 | 
			
		||||
        if (mkdir(os->dirname, 0777) == -1 && errno != EEXIST) {
 | 
			
		||||
            ret = AVERROR(errno);
 | 
			
		||||
            av_log(s, AV_LOG_ERROR, "mkdir failed\n");
 | 
			
		||||
 
 | 
			
		||||
@@ -211,8 +211,8 @@ static int vqf_read_header(AVFormatContext *s)
 | 
			
		||||
        size = 2048;
 | 
			
		||||
        break;
 | 
			
		||||
    default:
 | 
			
		||||
        av_log(s, AV_LOG_ERROR, "Mode not suported: %d Hz, %d kb/s.\n",
 | 
			
		||||
               st->codec->sample_rate, st->codec->bit_rate);
 | 
			
		||||
        av_log(s, AV_LOG_ERROR, "Mode not suported: %d Hz, %"PRId64" kb/s.\n",
 | 
			
		||||
               st->codec->sample_rate, (int64_t)st->codec->bit_rate);
 | 
			
		||||
        return -1;
 | 
			
		||||
    }
 | 
			
		||||
    c->frame_bit_len = st->codec->bit_rate*size/st->codec->sample_rate;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user