|
|
|
@ -677,6 +677,29 @@ static void avcodec_get_subtitle_defaults(AVSubtitle *sub) |
|
|
|
|
sub->pts = AV_NOPTS_VALUE; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static int get_bit_rate(AVCodecContext *ctx) |
|
|
|
|
{ |
|
|
|
|
int bit_rate; |
|
|
|
|
int bits_per_sample; |
|
|
|
|
|
|
|
|
|
switch(ctx->codec_type) { |
|
|
|
|
case AVMEDIA_TYPE_VIDEO: |
|
|
|
|
case AVMEDIA_TYPE_DATA: |
|
|
|
|
case AVMEDIA_TYPE_SUBTITLE: |
|
|
|
|
case AVMEDIA_TYPE_ATTACHMENT: |
|
|
|
|
bit_rate = ctx->bit_rate; |
|
|
|
|
break; |
|
|
|
|
case AVMEDIA_TYPE_AUDIO: |
|
|
|
|
bits_per_sample = av_get_bits_per_sample(ctx->codec_id); |
|
|
|
|
bit_rate = bits_per_sample ? ctx->sample_rate * ctx->channels * bits_per_sample : ctx->bit_rate; |
|
|
|
|
break; |
|
|
|
|
default: |
|
|
|
|
bit_rate = 0; |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
return bit_rate; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
#if FF_API_AVCODEC_OPEN |
|
|
|
|
int attribute_align_arg avcodec_open(AVCodecContext *avctx, AVCodec *codec) |
|
|
|
|
{ |
|
|
|
@ -889,6 +912,9 @@ int attribute_align_arg avcodec_open2(AVCodecContext *avctx, AVCodec *codec, AVD |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (codec_is_decoder(avctx->codec) && !avctx->bit_rate) |
|
|
|
|
avctx->bit_rate = get_bit_rate(avctx); |
|
|
|
|
|
|
|
|
|
ret=0; |
|
|
|
|
end: |
|
|
|
|
entangled_thread_counter--; |
|
|
|
@ -1602,29 +1628,6 @@ AVCodec *avcodec_find_decoder_by_name(const char *name) |
|
|
|
|
return NULL; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static int get_bit_rate(AVCodecContext *ctx) |
|
|
|
|
{ |
|
|
|
|
int bit_rate; |
|
|
|
|
int bits_per_sample; |
|
|
|
|
|
|
|
|
|
switch(ctx->codec_type) { |
|
|
|
|
case AVMEDIA_TYPE_VIDEO: |
|
|
|
|
case AVMEDIA_TYPE_DATA: |
|
|
|
|
case AVMEDIA_TYPE_SUBTITLE: |
|
|
|
|
case AVMEDIA_TYPE_ATTACHMENT: |
|
|
|
|
bit_rate = ctx->bit_rate; |
|
|
|
|
break; |
|
|
|
|
case AVMEDIA_TYPE_AUDIO: |
|
|
|
|
bits_per_sample = av_get_bits_per_sample(ctx->codec_id); |
|
|
|
|
bit_rate = bits_per_sample ? ctx->sample_rate * ctx->channels * bits_per_sample : ctx->bit_rate; |
|
|
|
|
break; |
|
|
|
|
default: |
|
|
|
|
bit_rate = 0; |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
return bit_rate; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
const char *avcodec_get_name(enum CodecID id) |
|
|
|
|
{ |
|
|
|
|
AVCodec *codec; |
|
|
|
|