avformat/asfenc, mux, utils: Use smaller scope for variables
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
This commit is contained in:
parent
8ab5bf512a
commit
eaacb5c513
@ -329,10 +329,9 @@ static int64_t unix_to_file_time(int64_t ti)
|
||||
|
||||
static int32_t get_send_time(ASFContext *asf, int64_t pres_time, uint64_t *offset)
|
||||
{
|
||||
int i;
|
||||
int32_t send_time = 0;
|
||||
*offset = asf->data_offset + DATA_HEADER_SIZE;
|
||||
for (i = 0; i < asf->next_start_sec; i++) {
|
||||
for (int i = 0; i < asf->next_start_sec; i++) {
|
||||
if (pres_time <= asf->index_ptr[i].send_time)
|
||||
break;
|
||||
send_time = asf->index_ptr[i].send_time;
|
||||
@ -346,7 +345,6 @@ static int asf_write_markers(AVFormatContext *s)
|
||||
{
|
||||
ASFContext *asf = s->priv_data;
|
||||
AVIOContext *pb = s->pb;
|
||||
int i;
|
||||
AVRational scale = {1, 10000000};
|
||||
int64_t hpos = put_header(pb, &ff_asf_marker_header);
|
||||
|
||||
@ -355,7 +353,7 @@ static int asf_write_markers(AVFormatContext *s)
|
||||
avio_wl16(pb, 0); // ASF spec mandates 0 for this
|
||||
avio_wl16(pb, 0); // name length 0, no name given
|
||||
|
||||
for (i = 0; i < s->nb_chapters; i++) {
|
||||
for (unsigned i = 0; i < s->nb_chapters; i++) {
|
||||
AVChapter *c = s->chapters[i];
|
||||
AVDictionaryEntry *t = av_dict_get(c->metadata, "title", NULL, 0);
|
||||
int64_t pres_time = av_rescale_q(c->start, c->time_base, scale);
|
||||
@ -392,10 +390,9 @@ static int asf_write_header1(AVFormatContext *s, int64_t file_size,
|
||||
ASFContext *asf = s->priv_data;
|
||||
AVIOContext *pb = s->pb;
|
||||
AVDictionaryEntry *tags[5];
|
||||
int header_size, n, extra_size, extra_size2, wav_extra_size;
|
||||
int header_size, extra_size, extra_size2, wav_extra_size;
|
||||
int has_title, has_aspect_ratio = 0;
|
||||
int metadata_count;
|
||||
AVCodecParameters *par;
|
||||
int64_t header_offset, cur_pos, hpos;
|
||||
int bit_rate;
|
||||
int64_t duration;
|
||||
@ -420,9 +417,10 @@ static int asf_write_header1(AVFormatContext *s, int64_t file_size,
|
||||
metadata_count = av_dict_count(s->metadata);
|
||||
|
||||
bit_rate = 0;
|
||||
for (n = 0; n < s->nb_streams; n++) {
|
||||
for (unsigned n = 0; n < s->nb_streams; n++) {
|
||||
AVStream *const st = s->streams[n];
|
||||
AVCodecParameters *const par = st->codecpar;
|
||||
AVDictionaryEntry *entry;
|
||||
par = s->streams[n]->codecpar;
|
||||
|
||||
avpriv_set_pts_info(s->streams[n], 32, 1, 1000); /* 32 bit pts in ms */
|
||||
|
||||
@ -489,18 +487,17 @@ static int asf_write_header1(AVFormatContext *s, int64_t file_size,
|
||||
avio_wl32(pb, 0); /* length, to be filled later */
|
||||
if (asf->nb_languages) {
|
||||
int64_t hpos2;
|
||||
int i;
|
||||
int nb_audio_languages = 0;
|
||||
|
||||
hpos2 = put_header(pb, &ff_asf_language_guid);
|
||||
avio_wl16(pb, asf->nb_languages);
|
||||
for (i = 0; i < asf->nb_languages; i++) {
|
||||
for (int i = 0; i < asf->nb_languages; i++) {
|
||||
avio_w8(pb, 6);
|
||||
avio_put_str16le(pb, asf->languages[i]);
|
||||
}
|
||||
end_header(pb, hpos2);
|
||||
|
||||
for (i = 0; i < asf->nb_languages; i++)
|
||||
for (int i = 0; i < asf->nb_languages; i++)
|
||||
if (audio_language_counts[i])
|
||||
nb_audio_languages++;
|
||||
|
||||
@ -508,10 +505,10 @@ static int asf_write_header1(AVFormatContext *s, int64_t file_size,
|
||||
hpos2 = put_header(pb, &ff_asf_group_mutual_exclusion_object);
|
||||
ff_put_guid(pb, &ff_asf_mutex_language);
|
||||
avio_wl16(pb, nb_audio_languages);
|
||||
for (i = 0; i < asf->nb_languages; i++) {
|
||||
for (int i = 0; i < asf->nb_languages; i++) {
|
||||
if (audio_language_counts[i]) {
|
||||
avio_wl16(pb, audio_language_counts[i]);
|
||||
for (n = 0; n < s->nb_streams; n++)
|
||||
for (unsigned n = 0; n < s->nb_streams; n++)
|
||||
if (asf->streams[n].stream_language_index == i && s->streams[n]->codecpar->codec_type == AVMEDIA_TYPE_AUDIO)
|
||||
avio_wl16(pb, n + 1);
|
||||
}
|
||||
@ -519,7 +516,7 @@ static int asf_write_header1(AVFormatContext *s, int64_t file_size,
|
||||
end_header(pb, hpos2);
|
||||
}
|
||||
|
||||
for (n = 0; n < s->nb_streams; n++) {
|
||||
for (unsigned n = 0; n < s->nb_streams; n++) {
|
||||
int64_t es_pos;
|
||||
if (asf->streams[n].stream_language_index > 127)
|
||||
continue;
|
||||
@ -546,8 +543,8 @@ static int asf_write_header1(AVFormatContext *s, int64_t file_size,
|
||||
int64_t hpos2;
|
||||
hpos2 = put_header(pb, &ff_asf_metadata_header);
|
||||
avio_wl16(pb, 2 * has_aspect_ratio);
|
||||
for (n = 0; n < s->nb_streams; n++) {
|
||||
par = s->streams[n]->codecpar;
|
||||
for (unsigned n = 0; n < s->nb_streams; n++) {
|
||||
AVCodecParameters *const par = s->streams[n]->codecpar;
|
||||
if ( par->codec_type == AVMEDIA_TYPE_VIDEO
|
||||
&& par->sample_aspect_ratio.num > 0
|
||||
&& par->sample_aspect_ratio.den > 0) {
|
||||
@ -592,7 +589,7 @@ static int asf_write_header1(AVFormatContext *s, int64_t file_size,
|
||||
|
||||
hpos = put_header(pb, &ff_asf_comment_header);
|
||||
|
||||
for (n = 0; n < FF_ARRAY_ELEMS(tags); n++) {
|
||||
for (size_t n = 0; n < FF_ARRAY_ELEMS(tags); n++) {
|
||||
len = tags[n] ? avio_put_str16le(dyn_buf, tags[n]->value) : 0;
|
||||
avio_wl16(pb, len);
|
||||
}
|
||||
@ -619,11 +616,11 @@ static int asf_write_header1(AVFormatContext *s, int64_t file_size,
|
||||
return ret;
|
||||
}
|
||||
/* stream headers */
|
||||
for (n = 0; n < s->nb_streams; n++) {
|
||||
for (unsigned n = 0; n < s->nb_streams; n++) {
|
||||
AVCodecParameters *const par = s->streams[n]->codecpar;
|
||||
int64_t es_pos;
|
||||
// ASFStream *stream = &asf->streams[n];
|
||||
|
||||
par = s->streams[n]->codecpar;
|
||||
asf->streams[n].num = n + 1;
|
||||
asf->streams[n].seq = 1;
|
||||
|
||||
@ -696,13 +693,11 @@ static int asf_write_header1(AVFormatContext *s, int64_t file_size,
|
||||
hpos = put_header(pb, &ff_asf_codec_comment_header);
|
||||
ff_put_guid(pb, &ff_asf_codec_comment1_header);
|
||||
avio_wl32(pb, s->nb_streams);
|
||||
for (n = 0; n < s->nb_streams; n++) {
|
||||
const AVCodecDescriptor *codec_desc;
|
||||
for (unsigned n = 0; n < s->nb_streams; n++) {
|
||||
AVCodecParameters *const par = s->streams[n]->codecpar;
|
||||
const AVCodecDescriptor *const codec_desc = avcodec_descriptor_get(par->codec_id);
|
||||
const char *desc;
|
||||
|
||||
par = s->streams[n]->codecpar;
|
||||
codec_desc = avcodec_descriptor_get(par->codec_id);
|
||||
|
||||
if (par->codec_type == AVMEDIA_TYPE_AUDIO)
|
||||
avio_wl16(pb, 2);
|
||||
else if (par->codec_type == AVMEDIA_TYPE_VIDEO)
|
||||
@ -832,7 +827,7 @@ static int put_payload_parsing_info(AVFormatContext *s,
|
||||
{
|
||||
ASFContext *asf = s->priv_data;
|
||||
AVIOContext *pb = s->pb;
|
||||
int ppi_size, i;
|
||||
int ppi_size;
|
||||
int64_t start = avio_tell(pb);
|
||||
|
||||
int iLengthTypeFlags = ASF_PPI_LENGTH_TYPE_FLAGS;
|
||||
@ -843,7 +838,7 @@ static int put_payload_parsing_info(AVFormatContext *s,
|
||||
av_assert0(padsize >= 0);
|
||||
|
||||
avio_w8(pb, ASF_PACKET_ERROR_CORRECTION_FLAGS);
|
||||
for (i = 0; i < ASF_PACKET_ERROR_CORRECTION_DATA_SIZE; i++)
|
||||
for (int i = 0; i < ASF_PACKET_ERROR_CORRECTION_DATA_SIZE; i++)
|
||||
avio_w8(pb, 0x0);
|
||||
|
||||
if (asf->multi_payloads_present)
|
||||
@ -1015,8 +1010,6 @@ static int update_index(AVFormatContext *s, int start_sec,
|
||||
ASFContext *asf = s->priv_data;
|
||||
|
||||
if (start_sec > asf->next_start_sec) {
|
||||
int i;
|
||||
|
||||
if (!asf->next_start_sec) {
|
||||
asf->next_packet_number = packet_number;
|
||||
asf->next_packet_count = packet_count;
|
||||
@ -1033,7 +1026,7 @@ static int update_index(AVFormatContext *s, int start_sec,
|
||||
return err;
|
||||
}
|
||||
}
|
||||
for (i = asf->next_start_sec; i < start_sec; i++) {
|
||||
for (int i = asf->next_start_sec; i < start_sec; i++) {
|
||||
asf->index_ptr[i].packet_number = asf->next_packet_number;
|
||||
asf->index_ptr[i].packet_count = asf->next_packet_count;
|
||||
asf->index_ptr[i].send_time = asf->next_start_sec * INT64_C(10000000);
|
||||
@ -1102,7 +1095,6 @@ static int asf_write_index(AVFormatContext *s, const ASFIndex *index,
|
||||
uint16_t max, uint32_t count)
|
||||
{
|
||||
AVIOContext *pb = s->pb;
|
||||
int i;
|
||||
|
||||
ff_put_guid(pb, &ff_asf_simple_index_header);
|
||||
avio_wl64(pb, 24 + 16 + 8 + 4 + 4 + (4 + 2) * count);
|
||||
@ -1110,7 +1102,7 @@ static int asf_write_index(AVFormatContext *s, const ASFIndex *index,
|
||||
avio_wl64(pb, ASF_INDEXED_INTERVAL);
|
||||
avio_wl32(pb, max);
|
||||
avio_wl32(pb, count);
|
||||
for (i = 0; i < count; i++) {
|
||||
for (uint32_t i = 0; i < count; i++) {
|
||||
avio_wl32(pb, index[i].packet_number);
|
||||
avio_wl16(pb, index[i].packet_count);
|
||||
}
|
||||
|
@ -91,11 +91,10 @@ static void frac_add(FFFrac *f, int64_t incr)
|
||||
AVRational ff_choose_timebase(AVFormatContext *s, AVStream *st, int min_precision)
|
||||
{
|
||||
AVRational q;
|
||||
int j;
|
||||
|
||||
q = st->time_base;
|
||||
|
||||
for (j=2; j<14; j+= 1+(j>2))
|
||||
for (int j = 2; j < 14; j += 1 + (j > 2))
|
||||
while (q.den / q.num < min_precision && q.num % j == 0)
|
||||
q.num /= j;
|
||||
while (q.den / q.num < min_precision && q.den < (1<<24))
|
||||
@ -193,7 +192,6 @@ error:
|
||||
static int validate_codec_tag(AVFormatContext *s, AVStream *st)
|
||||
{
|
||||
const AVCodecTag *avctag;
|
||||
int n;
|
||||
enum AVCodecID id = AV_CODEC_ID_NONE;
|
||||
int64_t tag = -1;
|
||||
|
||||
@ -203,7 +201,7 @@ static int validate_codec_tag(AVFormatContext *s, AVStream *st)
|
||||
* If tag is in the table with another id -> FAIL
|
||||
* If id is in the table with another tag -> FAIL unless strict < normal
|
||||
*/
|
||||
for (n = 0; s->oformat->codec_tag[n]; n++) {
|
||||
for (int n = 0; s->oformat->codec_tag[n]; n++) {
|
||||
avctag = s->oformat->codec_tag[n];
|
||||
while (avctag->id != AV_CODEC_ID_NONE) {
|
||||
if (avpriv_toupper4(avctag->tag) == avpriv_toupper4(st->codecpar->codec_tag)) {
|
||||
@ -226,13 +224,10 @@ static int validate_codec_tag(AVFormatContext *s, AVStream *st)
|
||||
|
||||
static int init_muxer(AVFormatContext *s, AVDictionary **options)
|
||||
{
|
||||
int ret = 0, i;
|
||||
AVStream *st;
|
||||
AVDictionary *tmp = NULL;
|
||||
AVCodecParameters *par = NULL;
|
||||
const AVOutputFormat *of = s->oformat;
|
||||
const AVCodecDescriptor *desc;
|
||||
AVDictionaryEntry *e;
|
||||
int ret = 0;
|
||||
|
||||
if (options)
|
||||
av_dict_copy(&tmp, *options, 0);
|
||||
@ -255,9 +250,10 @@ static int init_muxer(AVFormatContext *s, AVDictionary **options)
|
||||
goto fail;
|
||||
}
|
||||
|
||||
for (i = 0; i < s->nb_streams; i++) {
|
||||
st = s->streams[i];
|
||||
par = st->codecpar;
|
||||
for (unsigned i = 0; i < s->nb_streams; i++) {
|
||||
AVStream *const st = s->streams[i];
|
||||
AVCodecParameters *const par = st->codecpar;
|
||||
const AVCodecDescriptor *desc;
|
||||
|
||||
if (!st->time_base.num) {
|
||||
/* fall back on the default timebase values */
|
||||
@ -385,13 +381,10 @@ fail:
|
||||
|
||||
static int init_pts(AVFormatContext *s)
|
||||
{
|
||||
int i;
|
||||
AVStream *st;
|
||||
|
||||
/* init PTS generation */
|
||||
for (i = 0; i < s->nb_streams; i++) {
|
||||
for (unsigned i = 0; i < s->nb_streams; i++) {
|
||||
AVStream *const st = s->streams[i];
|
||||
int64_t den = AV_NOPTS_VALUE;
|
||||
st = s->streams[i];
|
||||
|
||||
switch (st->codecpar->codec_type) {
|
||||
case AVMEDIA_TYPE_AUDIO:
|
||||
@ -510,7 +503,6 @@ FF_DISABLE_DEPRECATION_WARNINGS
|
||||
static int compute_muxer_pkt_fields(AVFormatContext *s, AVStream *st, AVPacket *pkt)
|
||||
{
|
||||
int delay = st->codecpar->video_delay;
|
||||
int i;
|
||||
int frame_size;
|
||||
|
||||
if (!s->internal->missing_ts_warning &&
|
||||
@ -546,9 +538,9 @@ static int compute_muxer_pkt_fields(AVFormatContext *s, AVStream *st, AVPacket *
|
||||
//calculate dts from pts
|
||||
if (pkt->pts != AV_NOPTS_VALUE && pkt->dts == AV_NOPTS_VALUE && delay <= MAX_REORDER_DELAY) {
|
||||
st->internal->pts_buffer[0] = pkt->pts;
|
||||
for (i = 1; i < delay + 1 && st->internal->pts_buffer[i] == AV_NOPTS_VALUE; i++)
|
||||
for (int i = 1; i < delay + 1 && st->internal->pts_buffer[i] == AV_NOPTS_VALUE; i++)
|
||||
st->internal->pts_buffer[i] = pkt->pts + (i - delay - 1) * pkt->duration;
|
||||
for (i = 0; i<delay && st->internal->pts_buffer[i] > st->internal->pts_buffer[i + 1]; i++)
|
||||
for (int i = 0; i<delay && st->internal->pts_buffer[i] > st->internal->pts_buffer[i + 1]; i++)
|
||||
FFSWAP(int64_t, st->internal->pts_buffer[i], st->internal->pts_buffer[i + 1]);
|
||||
|
||||
pkt->dts = st->internal->pts_buffer[0];
|
||||
@ -894,10 +886,9 @@ static int interleave_compare_dts(AVFormatContext *s, const AVPacket *next,
|
||||
int ff_interleave_packet_per_dts(AVFormatContext *s, AVPacket *out,
|
||||
AVPacket *pkt, int flush)
|
||||
{
|
||||
PacketList *pktl;
|
||||
int stream_count = 0;
|
||||
int noninterleaved_count = 0;
|
||||
int i, ret;
|
||||
int ret;
|
||||
int eof = flush;
|
||||
|
||||
if (pkt) {
|
||||
@ -905,7 +896,7 @@ int ff_interleave_packet_per_dts(AVFormatContext *s, AVPacket *out,
|
||||
return ret;
|
||||
}
|
||||
|
||||
for (i = 0; i < s->nb_streams; i++) {
|
||||
for (unsigned i = 0; i < s->nb_streams; i++) {
|
||||
if (s->streams[i]->internal->last_in_packet_buffer) {
|
||||
++stream_count;
|
||||
} else if (s->streams[i]->codecpar->codec_type != AVMEDIA_TYPE_ATTACHMENT &&
|
||||
@ -929,7 +920,7 @@ int ff_interleave_packet_per_dts(AVFormatContext *s, AVPacket *out,
|
||||
s->streams[top_pkt->stream_index]->time_base,
|
||||
AV_TIME_BASE_Q);
|
||||
|
||||
for (i = 0; i < s->nb_streams; i++) {
|
||||
for (unsigned i = 0; i < s->nb_streams; i++) {
|
||||
int64_t last_dts;
|
||||
const PacketList *last = s->streams[i]->internal->last_in_packet_buffer;
|
||||
|
||||
@ -964,18 +955,15 @@ int ff_interleave_packet_per_dts(AVFormatContext *s, AVPacket *out,
|
||||
|
||||
if (s->internal->shortest_end != AV_NOPTS_VALUE) {
|
||||
while (s->internal->packet_buffer) {
|
||||
AVPacket *top_pkt = &s->internal->packet_buffer->pkt;
|
||||
AVStream *st;
|
||||
int64_t top_dts = av_rescale_q(top_pkt->dts,
|
||||
s->streams[top_pkt->stream_index]->time_base,
|
||||
PacketList *pktl = s->internal->packet_buffer;
|
||||
AVPacket *const top_pkt = &pktl->pkt;
|
||||
AVStream *const st = s->streams[top_pkt->stream_index];
|
||||
int64_t top_dts = av_rescale_q(top_pkt->dts, st->time_base,
|
||||
AV_TIME_BASE_Q);
|
||||
|
||||
if (s->internal->shortest_end + 1 >= top_dts)
|
||||
break;
|
||||
|
||||
pktl = s->internal->packet_buffer;
|
||||
st = s->streams[pktl->pkt.stream_index];
|
||||
|
||||
s->internal->packet_buffer = pktl->next;
|
||||
if (!s->internal->packet_buffer)
|
||||
s->internal->packet_buffer_end = NULL;
|
||||
@ -990,10 +978,10 @@ int ff_interleave_packet_per_dts(AVFormatContext *s, AVPacket *out,
|
||||
}
|
||||
|
||||
if (stream_count && flush) {
|
||||
AVStream *st;
|
||||
pktl = s->internal->packet_buffer;
|
||||
PacketList *pktl = s->internal->packet_buffer;
|
||||
AVStream *const st = s->streams[pktl->pkt.stream_index];
|
||||
|
||||
*out = pktl->pkt;
|
||||
st = s->streams[out->stream_index];
|
||||
|
||||
s->internal->packet_buffer = pktl->next;
|
||||
if (!s->internal->packet_buffer)
|
||||
@ -1236,11 +1224,11 @@ int av_interleaved_write_frame(AVFormatContext *s, AVPacket *pkt)
|
||||
|
||||
int av_write_trailer(AVFormatContext *s)
|
||||
{
|
||||
int i, ret1, ret = 0;
|
||||
AVPacket *pkt = s->internal->pkt;
|
||||
int ret1, ret = 0;
|
||||
|
||||
av_packet_unref(pkt);
|
||||
for (i = 0; i < s->nb_streams; i++) {
|
||||
for (unsigned i = 0; i < s->nb_streams; i++) {
|
||||
if (s->streams[i]->internal->bsfc) {
|
||||
ret1 = write_packets_from_bsfs(s, s->streams[i], pkt, 1/*interleaved*/);
|
||||
if (ret1 < 0)
|
||||
@ -1269,7 +1257,7 @@ int av_write_trailer(AVFormatContext *s)
|
||||
avio_flush(s->pb);
|
||||
if (ret == 0)
|
||||
ret = s->pb ? s->pb->error : 0;
|
||||
for (i = 0; i < s->nb_streams; i++) {
|
||||
for (unsigned i = 0; i < s->nb_streams; i++) {
|
||||
av_freep(&s->streams[i]->priv_data);
|
||||
av_freep(&s->streams[i]->internal->index_entries);
|
||||
}
|
||||
|
@ -135,9 +135,8 @@ void avpriv_stream_set_need_parsing(AVStream *st, enum AVStreamParseType type)
|
||||
|
||||
void av_format_inject_global_side_data(AVFormatContext *s)
|
||||
{
|
||||
int i;
|
||||
s->internal->inject_global_side_data = 1;
|
||||
for (i = 0; i < s->nb_streams; i++) {
|
||||
for (unsigned i = 0; i < s->nb_streams; i++) {
|
||||
AVStream *st = s->streams[i];
|
||||
st->internal->inject_global_side_data = 1;
|
||||
}
|
||||
@ -313,12 +312,11 @@ static int set_codec_from_probe_data(AVFormatContext *s, AVStream *st,
|
||||
const AVInputFormat *fmt = av_probe_input_format3(pd, 1, &score);
|
||||
|
||||
if (fmt) {
|
||||
int i;
|
||||
av_log(s, AV_LOG_DEBUG,
|
||||
"Probe with size=%d, packets=%d detected %s with score=%d\n",
|
||||
pd->buf_size, s->max_probe_packets - st->internal->probe_packets,
|
||||
fmt->name, score);
|
||||
for (i = 0; fmt_id_type[i].name; i++) {
|
||||
for (int i = 0; fmt_id_type[i].name; i++) {
|
||||
if (!strcmp(fmt->name, fmt_id_type[i].name)) {
|
||||
if (fmt_id_type[i].type != AVMEDIA_TYPE_AUDIO &&
|
||||
st->codecpar->sample_rate)
|
||||
@ -373,8 +371,8 @@ static int init_input(AVFormatContext *s, const char *filename,
|
||||
|
||||
int avformat_queue_attached_pictures(AVFormatContext *s)
|
||||
{
|
||||
int i, ret;
|
||||
for (i = 0; i < s->nb_streams; i++)
|
||||
int ret;
|
||||
for (unsigned i = 0; i < s->nb_streams; i++)
|
||||
if (s->streams[i]->disposition & AV_DISPOSITION_ATTACHED_PIC &&
|
||||
s->streams[i]->discard < AVDISCARD_ALL) {
|
||||
if (s->streams[i]->attached_pic.size <= 0) {
|
||||
@ -431,8 +429,8 @@ fail:
|
||||
|
||||
static int update_stream_avctx(AVFormatContext *s)
|
||||
{
|
||||
int i, ret;
|
||||
for (i = 0; i < s->nb_streams; i++) {
|
||||
int ret;
|
||||
for (unsigned i = 0; i < s->nb_streams; i++) {
|
||||
AVStream *st = s->streams[i];
|
||||
|
||||
if (!st->internal->need_context_update)
|
||||
@ -678,7 +676,7 @@ no_packet:
|
||||
static int update_wrap_reference(AVFormatContext *s, AVStream *st, int stream_index, AVPacket *pkt)
|
||||
{
|
||||
int64_t ref = pkt->dts;
|
||||
int i, pts_wrap_behavior;
|
||||
int pts_wrap_behavior;
|
||||
int64_t pts_wrap_reference;
|
||||
AVProgram *first_program;
|
||||
|
||||
@ -700,7 +698,7 @@ static int update_wrap_reference(AVFormatContext *s, AVStream *st, int stream_in
|
||||
if (!first_program) {
|
||||
int default_stream_index = av_find_default_stream_index(s);
|
||||
if (s->streams[default_stream_index]->internal->pts_wrap_reference == AV_NOPTS_VALUE) {
|
||||
for (i = 0; i < s->nb_streams; i++) {
|
||||
for (unsigned i = 0; i < s->nb_streams; i++) {
|
||||
if (av_find_program_from_stream(s, NULL, i))
|
||||
continue;
|
||||
s->streams[i]->internal->pts_wrap_reference = pts_wrap_reference;
|
||||
@ -727,7 +725,7 @@ static int update_wrap_reference(AVFormatContext *s, AVStream *st, int stream_in
|
||||
program = first_program;
|
||||
while (program) {
|
||||
if (program->pts_wrap_reference != pts_wrap_reference) {
|
||||
for (i = 0; i<program->nb_stream_indexes; i++) {
|
||||
for (unsigned i = 0; i < program->nb_stream_indexes; i++) {
|
||||
s->streams[program->stream_index[i]]->internal->pts_wrap_reference = pts_wrap_reference;
|
||||
s->streams[program->stream_index[i]]->internal->pts_wrap_behavior = pts_wrap_behavior;
|
||||
}
|
||||
@ -743,8 +741,8 @@ static int update_wrap_reference(AVFormatContext *s, AVStream *st, int stream_in
|
||||
|
||||
int ff_read_packet(AVFormatContext *s, AVPacket *pkt)
|
||||
{
|
||||
int err, i;
|
||||
AVStream *st;
|
||||
int err;
|
||||
|
||||
#if FF_API_INIT_PACKET
|
||||
FF_DISABLE_DEPRECATION_WARNINGS
|
||||
@ -784,8 +782,8 @@ FF_ENABLE_DEPRECATION_WARNINGS
|
||||
continue;
|
||||
if (!pktl || err == AVERROR(EAGAIN))
|
||||
return err;
|
||||
for (i = 0; i < s->nb_streams; i++) {
|
||||
st = s->streams[i];
|
||||
for (unsigned i = 0; i < s->nb_streams; i++) {
|
||||
AVStream *const st = s->streams[i];
|
||||
if (st->internal->probe_packets || st->internal->request_probe > 0)
|
||||
if ((err = probe_codec(s, st, NULL)) < 0)
|
||||
return err;
|
||||
@ -972,11 +970,10 @@ static int64_t select_from_pts_buffer(AVStream *st, int64_t *pts_buffer, int64_t
|
||||
|
||||
if(!onein_oneout) {
|
||||
int delay = st->internal->avctx->has_b_frames;
|
||||
int i;
|
||||
|
||||
if (dts == AV_NOPTS_VALUE) {
|
||||
int64_t best_score = INT64_MAX;
|
||||
for (i = 0; i<delay; i++) {
|
||||
for (int i = 0; i < delay; i++) {
|
||||
if (st->internal->pts_reorder_error_count[i]) {
|
||||
int64_t score = st->internal->pts_reorder_error[i] / st->internal->pts_reorder_error_count[i];
|
||||
if (score < best_score) {
|
||||
@ -986,7 +983,7 @@ static int64_t select_from_pts_buffer(AVStream *st, int64_t *pts_buffer, int64_t
|
||||
}
|
||||
}
|
||||
} else {
|
||||
for (i = 0; i<delay; i++) {
|
||||
for (int i = 0; i < delay; i++) {
|
||||
if (pts_buffer[i] != AV_NOPTS_VALUE) {
|
||||
int64_t diff = FFABS(pts_buffer[i] - dts)
|
||||
+ (uint64_t)st->internal->pts_reorder_error[i];
|
||||
@ -1017,11 +1014,10 @@ static void update_dts_from_pts(AVFormatContext *s, int stream_index,
|
||||
{
|
||||
AVStream *st = s->streams[stream_index];
|
||||
int delay = st->internal->avctx->has_b_frames;
|
||||
int i;
|
||||
|
||||
int64_t pts_buffer[MAX_REORDER_DELAY+1];
|
||||
|
||||
for (i = 0; i<MAX_REORDER_DELAY+1; i++)
|
||||
for (int i = 0; i < MAX_REORDER_DELAY + 1; i++)
|
||||
pts_buffer[i] = AV_NOPTS_VALUE;
|
||||
|
||||
for (; pkt_buffer; pkt_buffer = get_next_pkt(s, st, pkt_buffer)) {
|
||||
@ -1030,7 +1026,7 @@ static void update_dts_from_pts(AVFormatContext *s, int stream_index,
|
||||
|
||||
if (pkt_buffer->pkt.pts != AV_NOPTS_VALUE && delay <= MAX_REORDER_DELAY) {
|
||||
pts_buffer[0] = pkt_buffer->pkt.pts;
|
||||
for (i = 0; i<delay && pts_buffer[i] > pts_buffer[i + 1]; i++)
|
||||
for (int i = 0; i < delay && pts_buffer[i] > pts_buffer[i + 1]; i++)
|
||||
FFSWAP(int64_t, pts_buffer[i], pts_buffer[i + 1]);
|
||||
|
||||
pkt_buffer->pkt.dts = select_from_pts_buffer(st, pts_buffer, pkt_buffer->pkt.dts);
|
||||
@ -1152,7 +1148,7 @@ static void compute_pkt_fields(AVFormatContext *s, AVStream *st,
|
||||
AVCodecParserContext *pc, AVPacket *pkt,
|
||||
int64_t next_dts, int64_t next_pts)
|
||||
{
|
||||
int num, den, presentation_delayed, delay, i;
|
||||
int num, den, presentation_delayed, delay;
|
||||
int64_t offset;
|
||||
AVRational duration;
|
||||
int onein_oneout = st->codecpar->codec_id != AV_CODEC_ID_H264 &&
|
||||
@ -1311,7 +1307,7 @@ static void compute_pkt_fields(AVFormatContext *s, AVStream *st,
|
||||
|
||||
if (pkt->pts != AV_NOPTS_VALUE && delay <= MAX_REORDER_DELAY) {
|
||||
st->internal->pts_buffer[0] = pkt->pts;
|
||||
for (i = 0; i<delay && st->internal->pts_buffer[i] > st->internal->pts_buffer[i + 1]; i++)
|
||||
for (int i = 0; i < delay && st->internal->pts_buffer[i] > st->internal->pts_buffer[i + 1]; i++)
|
||||
FFSWAP(int64_t, st->internal->pts_buffer[i], st->internal->pts_buffer[i + 1]);
|
||||
|
||||
if(has_decode_delay_been_guessed(st))
|
||||
@ -1455,7 +1451,7 @@ static int64_t ts_to_samples(AVStream *st, int64_t ts)
|
||||
|
||||
static int read_frame_internal(AVFormatContext *s, AVPacket *pkt)
|
||||
{
|
||||
int ret, i, got_packet = 0;
|
||||
int ret, got_packet = 0;
|
||||
AVDictionary *metadata = NULL;
|
||||
|
||||
while (!got_packet && !s->internal->parse_queue) {
|
||||
@ -1467,8 +1463,8 @@ static int read_frame_internal(AVFormatContext *s, AVPacket *pkt)
|
||||
if (ret == AVERROR(EAGAIN))
|
||||
return ret;
|
||||
/* flush the parsers */
|
||||
for (i = 0; i < s->nb_streams; i++) {
|
||||
st = s->streams[i];
|
||||
for (unsigned i = 0; i < s->nb_streams; i++) {
|
||||
AVStream *const st = s->streams[i];
|
||||
if (st->internal->parser && st->internal->need_parsing)
|
||||
parse_packet(s, pkt, st->index, 1);
|
||||
}
|
||||
@ -1596,7 +1592,7 @@ static int read_frame_internal(AVFormatContext *s, AVPacket *pkt)
|
||||
}
|
||||
|
||||
if (st->internal->inject_global_side_data) {
|
||||
for (i = 0; i < st->nb_side_data; i++) {
|
||||
for (int i = 0; i < st->nb_side_data; i++) {
|
||||
AVPacketSideData *src_sd = &st->side_data[i];
|
||||
uint8_t *dst_data;
|
||||
|
||||
@ -1753,16 +1749,14 @@ static void flush_packet_queue(AVFormatContext *s)
|
||||
|
||||
int av_find_default_stream_index(AVFormatContext *s)
|
||||
{
|
||||
int i;
|
||||
AVStream *st;
|
||||
int best_stream = 0;
|
||||
int best_score = INT_MIN;
|
||||
|
||||
if (s->nb_streams <= 0)
|
||||
return -1;
|
||||
for (i = 0; i < s->nb_streams; i++) {
|
||||
for (unsigned i = 0; i < s->nb_streams; i++) {
|
||||
const AVStream *const st = s->streams[i];
|
||||
int score = 0;
|
||||
st = s->streams[i];
|
||||
if (st->codecpar->codec_type == AVMEDIA_TYPE_VIDEO) {
|
||||
if (st->disposition & AV_DISPOSITION_ATTACHED_PIC)
|
||||
score -= 400;
|
||||
@ -1791,14 +1785,12 @@ int av_find_default_stream_index(AVFormatContext *s)
|
||||
/** Flush the frame reader. */
|
||||
void ff_read_frame_flush(AVFormatContext *s)
|
||||
{
|
||||
AVStream *st;
|
||||
int i, j;
|
||||
|
||||
flush_packet_queue(s);
|
||||
|
||||
/* Reset read state for each stream. */
|
||||
for (i = 0; i < s->nb_streams; i++) {
|
||||
st = s->streams[i];
|
||||
for (unsigned i = 0; i < s->nb_streams; i++) {
|
||||
AVStream *const st = s->streams[i];
|
||||
|
||||
if (st->internal->parser) {
|
||||
av_parser_close(st->internal->parser);
|
||||
@ -1814,7 +1806,7 @@ void ff_read_frame_flush(AVFormatContext *s)
|
||||
|
||||
st->internal->probe_packets = s->max_probe_packets;
|
||||
|
||||
for (j = 0; j < MAX_REORDER_DELAY + 1; j++)
|
||||
for (int j = 0; j < MAX_REORDER_DELAY + 1; j++)
|
||||
st->internal->pts_buffer[j] = AV_NOPTS_VALUE;
|
||||
|
||||
if (s->internal->inject_global_side_data)
|
||||
@ -1826,9 +1818,7 @@ void ff_read_frame_flush(AVFormatContext *s)
|
||||
|
||||
void avpriv_update_cur_dts(AVFormatContext *s, AVStream *ref_st, int64_t timestamp)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < s->nb_streams; i++) {
|
||||
for (unsigned i = 0; i < s->nb_streams; i++) {
|
||||
AVStream *st = s->streams[i];
|
||||
|
||||
st->internal->cur_dts =
|
||||
@ -1964,7 +1954,6 @@ int ff_index_search_timestamp(const AVIndexEntry *entries, int nb_entries,
|
||||
|
||||
void ff_configure_buffers_for_index(AVFormatContext *s, int64_t time_tolerance)
|
||||
{
|
||||
int ist1, ist2;
|
||||
int64_t pos_delta = 0;
|
||||
int64_t skip = 0;
|
||||
//We could use URLProtocol flags here but as many user applications do not use URLProtocols this would be unreliable
|
||||
@ -1983,16 +1972,15 @@ void ff_configure_buffers_for_index(AVFormatContext *s, int64_t time_tolerance)
|
||||
if (proto && !(strcmp(proto, "file") && strcmp(proto, "pipe") && strcmp(proto, "cache")))
|
||||
return;
|
||||
|
||||
for (ist1 = 0; ist1 < s->nb_streams; ist1++) {
|
||||
for (unsigned ist1 = 0; ist1 < s->nb_streams; ist1++) {
|
||||
AVStream *st1 = s->streams[ist1];
|
||||
for (ist2 = 0; ist2 < s->nb_streams; ist2++) {
|
||||
for (unsigned ist2 = 0; ist2 < s->nb_streams; ist2++) {
|
||||
AVStream *st2 = s->streams[ist2];
|
||||
int i1, i2;
|
||||
|
||||
if (ist1 == ist2)
|
||||
continue;
|
||||
|
||||
for (i1 = i2 = 0; i1 < st1->internal->nb_index_entries; i1++) {
|
||||
for (int i1 = 0, i2 = 0; i1 < st1->internal->nb_index_entries; i1++) {
|
||||
AVIndexEntry *e1 = &st1->internal->index_entries[i1];
|
||||
int64_t e1_pts = av_rescale_q(e1->timestamp, st1->time_base, AV_TIME_BASE_Q);
|
||||
|
||||
@ -2513,11 +2501,8 @@ int avformat_flush(AVFormatContext *s)
|
||||
*/
|
||||
static int has_duration(AVFormatContext *ic)
|
||||
{
|
||||
int i;
|
||||
AVStream *st;
|
||||
|
||||
for (i = 0; i < ic->nb_streams; i++) {
|
||||
st = ic->streams[i];
|
||||
for (unsigned i = 0; i < ic->nb_streams; i++) {
|
||||
const AVStream *const st = ic->streams[i];
|
||||
if (st->duration != AV_NOPTS_VALUE)
|
||||
return 1;
|
||||
}
|
||||
@ -2535,8 +2520,6 @@ static void update_stream_timings(AVFormatContext *ic)
|
||||
{
|
||||
int64_t start_time, start_time1, start_time_text, end_time, end_time1, end_time_text;
|
||||
int64_t duration, duration1, duration_text, filesize;
|
||||
int i;
|
||||
AVProgram *p;
|
||||
|
||||
start_time = INT64_MAX;
|
||||
start_time_text = INT64_MAX;
|
||||
@ -2545,10 +2528,11 @@ static void update_stream_timings(AVFormatContext *ic)
|
||||
duration = INT64_MIN;
|
||||
duration_text = INT64_MIN;
|
||||
|
||||
for (i = 0; i < ic->nb_streams; i++) {
|
||||
for (unsigned i = 0; i < ic->nb_streams; i++) {
|
||||
AVStream *st = ic->streams[i];
|
||||
int is_text = st->codecpar->codec_type == AVMEDIA_TYPE_SUBTITLE ||
|
||||
st->codecpar->codec_type == AVMEDIA_TYPE_DATA;
|
||||
|
||||
if (st->start_time != AV_NOPTS_VALUE && st->time_base.den) {
|
||||
start_time1 = av_rescale_q(st->start_time, st->time_base,
|
||||
AV_TIME_BASE_Q);
|
||||
@ -2566,7 +2550,7 @@ static void update_stream_timings(AVFormatContext *ic)
|
||||
else
|
||||
end_time = FFMAX(end_time, end_time1);
|
||||
}
|
||||
for (p = NULL; (p = av_find_program_from_stream(ic, p, i)); ) {
|
||||
for (AVProgram *p = NULL; (p = av_find_program_from_stream(ic, p, i)); ) {
|
||||
if (p->start_time == AV_NOPTS_VALUE || p->start_time > start_time1)
|
||||
p->start_time = start_time1;
|
||||
if (p->end_time < end_time1)
|
||||
@ -2601,8 +2585,9 @@ static void update_stream_timings(AVFormatContext *ic)
|
||||
ic->start_time = start_time;
|
||||
if (end_time != INT64_MIN) {
|
||||
if (ic->nb_programs > 1) {
|
||||
for (i = 0; i < ic->nb_programs; i++) {
|
||||
p = ic->programs[i];
|
||||
for (unsigned i = 0; i < ic->nb_programs; i++) {
|
||||
AVProgram *const p = ic->programs[i];
|
||||
|
||||
if (p->start_time != AV_NOPTS_VALUE &&
|
||||
p->end_time > p->start_time &&
|
||||
p->end_time - (uint64_t)p->start_time <= INT64_MAX)
|
||||
@ -2627,12 +2612,10 @@ static void update_stream_timings(AVFormatContext *ic)
|
||||
|
||||
static void fill_all_stream_timings(AVFormatContext *ic)
|
||||
{
|
||||
int i;
|
||||
AVStream *st;
|
||||
|
||||
update_stream_timings(ic);
|
||||
for (i = 0; i < ic->nb_streams; i++) {
|
||||
st = ic->streams[i];
|
||||
for (unsigned i = 0; i < ic->nb_streams; i++) {
|
||||
AVStream *const st = ic->streams[i];
|
||||
|
||||
if (st->start_time == AV_NOPTS_VALUE) {
|
||||
if (ic->start_time != AV_NOPTS_VALUE)
|
||||
st->start_time = av_rescale_q(ic->start_time, AV_TIME_BASE_Q,
|
||||
@ -2646,15 +2629,14 @@ static void fill_all_stream_timings(AVFormatContext *ic)
|
||||
|
||||
static void estimate_timings_from_bit_rate(AVFormatContext *ic)
|
||||
{
|
||||
int64_t filesize, duration;
|
||||
int i, show_warning = 0;
|
||||
AVStream *st;
|
||||
int show_warning = 0;
|
||||
|
||||
/* if bit_rate is already set, we believe it */
|
||||
if (ic->bit_rate <= 0) {
|
||||
int64_t bit_rate = 0;
|
||||
for (i = 0; i < ic->nb_streams; i++) {
|
||||
st = ic->streams[i];
|
||||
for (unsigned i = 0; i < ic->nb_streams; i++) {
|
||||
const AVStream *const st = ic->streams[i];
|
||||
|
||||
if (st->codecpar->bit_rate <= 0 && st->internal->avctx->bit_rate > 0)
|
||||
st->codecpar->bit_rate = st->internal->avctx->bit_rate;
|
||||
if (st->codecpar->bit_rate > 0) {
|
||||
@ -2676,17 +2658,17 @@ static void estimate_timings_from_bit_rate(AVFormatContext *ic)
|
||||
/* if duration is already set, we believe it */
|
||||
if (ic->duration == AV_NOPTS_VALUE &&
|
||||
ic->bit_rate != 0) {
|
||||
filesize = ic->pb ? avio_size(ic->pb) : 0;
|
||||
int64_t filesize = ic->pb ? avio_size(ic->pb) : 0;
|
||||
if (filesize > ic->internal->data_offset) {
|
||||
filesize -= ic->internal->data_offset;
|
||||
for (i = 0; i < ic->nb_streams; i++) {
|
||||
st = ic->streams[i];
|
||||
for (unsigned i = 0; i < ic->nb_streams; i++) {
|
||||
AVStream *const st = ic->streams[i];
|
||||
|
||||
if ( st->time_base.num <= INT64_MAX / ic->bit_rate
|
||||
&& st->duration == AV_NOPTS_VALUE) {
|
||||
duration = av_rescale(filesize, 8LL * st->time_base.den,
|
||||
st->duration = av_rescale(filesize, 8LL * st->time_base.den,
|
||||
ic->bit_rate *
|
||||
(int64_t) st->time_base.num);
|
||||
st->duration = duration;
|
||||
show_warning = 1;
|
||||
}
|
||||
}
|
||||
@ -2704,8 +2686,7 @@ static void estimate_timings_from_bit_rate(AVFormatContext *ic)
|
||||
static void estimate_timings_from_pts(AVFormatContext *ic, int64_t old_offset)
|
||||
{
|
||||
AVPacket *pkt = ic->internal->pkt;
|
||||
AVStream *st;
|
||||
int num, den, read_size, i, ret;
|
||||
int num, den, read_size, ret;
|
||||
int found_duration = 0;
|
||||
int is_end;
|
||||
int64_t filesize, offset, duration;
|
||||
@ -2714,8 +2695,9 @@ static void estimate_timings_from_pts(AVFormatContext *ic, int64_t old_offset)
|
||||
/* flush packet queue */
|
||||
flush_packet_queue(ic);
|
||||
|
||||
for (i = 0; i < ic->nb_streams; i++) {
|
||||
st = ic->streams[i];
|
||||
for (unsigned i = 0; i < ic->nb_streams; i++) {
|
||||
AVStream *const st = ic->streams[i];
|
||||
|
||||
if (st->start_time == AV_NOPTS_VALUE &&
|
||||
st->internal->first_dts == AV_NOPTS_VALUE &&
|
||||
st->codecpar->codec_type != AVMEDIA_TYPE_UNKNOWN)
|
||||
@ -2746,6 +2728,7 @@ static void estimate_timings_from_pts(AVFormatContext *ic, int64_t old_offset)
|
||||
avio_seek(ic->pb, offset, SEEK_SET);
|
||||
read_size = 0;
|
||||
for (;;) {
|
||||
AVStream *st;
|
||||
if (read_size >= DURATION_MAX_READ_SIZE << (FFMAX(retry - 1, 0)))
|
||||
break;
|
||||
|
||||
@ -2787,8 +2770,8 @@ static void estimate_timings_from_pts(AVFormatContext *ic, int64_t old_offset)
|
||||
/* check if all audio/video streams have valid duration */
|
||||
if (!is_end) {
|
||||
is_end = 1;
|
||||
for (i = 0; i < ic->nb_streams; i++) {
|
||||
st = ic->streams[i];
|
||||
for (unsigned i = 0; i < ic->nb_streams; i++) {
|
||||
const AVStream *const st = ic->streams[i];
|
||||
switch (st->codecpar->codec_type) {
|
||||
case AVMEDIA_TYPE_VIDEO:
|
||||
case AVMEDIA_TYPE_AUDIO:
|
||||
@ -2804,8 +2787,9 @@ static void estimate_timings_from_pts(AVFormatContext *ic, int64_t old_offset)
|
||||
av_opt_set(ic, "skip_changes", "0", AV_OPT_SEARCH_CHILDREN);
|
||||
|
||||
/* warn about audio/video streams which duration could not be estimated */
|
||||
for (i = 0; i < ic->nb_streams; i++) {
|
||||
st = ic->streams[i];
|
||||
for (unsigned i = 0; i < ic->nb_streams; i++) {
|
||||
const AVStream *const st = ic->streams[i];
|
||||
|
||||
if (st->duration == AV_NOPTS_VALUE) {
|
||||
switch (st->codecpar->codec_type) {
|
||||
case AVMEDIA_TYPE_VIDEO:
|
||||
@ -2821,14 +2805,13 @@ skip_duration_calc:
|
||||
fill_all_stream_timings(ic);
|
||||
|
||||
avio_seek(ic->pb, old_offset, SEEK_SET);
|
||||
for (i = 0; i < ic->nb_streams; i++) {
|
||||
int j;
|
||||
for (unsigned i = 0; i < ic->nb_streams; i++) {
|
||||
AVStream *const st = ic->streams[i];
|
||||
|
||||
st = ic->streams[i];
|
||||
st->internal->cur_dts = st->internal->first_dts;
|
||||
st->internal->last_IP_pts = AV_NOPTS_VALUE;
|
||||
st->internal->last_dts_for_order_check = AV_NOPTS_VALUE;
|
||||
for (j = 0; j < MAX_REORDER_DELAY + 1; j++)
|
||||
for (int j = 0; j < MAX_REORDER_DELAY + 1; j++)
|
||||
st->internal->pts_buffer[j] = AV_NOPTS_VALUE;
|
||||
}
|
||||
}
|
||||
@ -3058,11 +3041,10 @@ unsigned int ff_codec_get_tag(const AVCodecTag *tags, enum AVCodecID id)
|
||||
|
||||
enum AVCodecID ff_codec_get_id(const AVCodecTag *tags, unsigned int tag)
|
||||
{
|
||||
int i;
|
||||
for (i = 0; tags[i].id != AV_CODEC_ID_NONE; i++)
|
||||
for (int i = 0; tags[i].id != AV_CODEC_ID_NONE; i++)
|
||||
if (tag == tags[i].tag)
|
||||
return tags[i].id;
|
||||
for (i = 0; tags[i].id != AV_CODEC_ID_NONE; i++)
|
||||
for (int i = 0; tags[i].id != AV_CODEC_ID_NONE; i++)
|
||||
if (avpriv_toupper4(tag) == avpriv_toupper4(tags[i].tag))
|
||||
return tags[i].id;
|
||||
return AV_CODEC_ID_NONE;
|
||||
@ -3128,8 +3110,7 @@ unsigned int av_codec_get_tag(const AVCodecTag *const *tags, enum AVCodecID id)
|
||||
int av_codec_get_tag2(const AVCodecTag * const *tags, enum AVCodecID id,
|
||||
unsigned int *tag)
|
||||
{
|
||||
int i;
|
||||
for (i = 0; tags && tags[i]; i++) {
|
||||
for (int i = 0; tags && tags[i]; i++) {
|
||||
const AVCodecTag *codec_tags = tags[i];
|
||||
while (codec_tags->id != AV_CODEC_ID_NONE) {
|
||||
if (codec_tags->id == id) {
|
||||
@ -3144,8 +3125,7 @@ int av_codec_get_tag2(const AVCodecTag * const *tags, enum AVCodecID id,
|
||||
|
||||
enum AVCodecID av_codec_get_id(const AVCodecTag *const *tags, unsigned int tag)
|
||||
{
|
||||
int i;
|
||||
for (i = 0; tags && tags[i]; i++) {
|
||||
for (int i = 0; tags && tags[i]; i++) {
|
||||
enum AVCodecID id = ff_codec_get_id(tags[i], tag);
|
||||
if (id != AV_CODEC_ID_NONE)
|
||||
return id;
|
||||
@ -3165,7 +3145,6 @@ static int chapter_start_cmp(const void *p1, const void *p2)
|
||||
|
||||
static int compute_chapters_end(AVFormatContext *s)
|
||||
{
|
||||
unsigned int i;
|
||||
int64_t max_time = 0;
|
||||
AVChapter **timetable;
|
||||
|
||||
@ -3181,7 +3160,7 @@ static int compute_chapters_end(AVFormatContext *s)
|
||||
return AVERROR(ENOMEM);
|
||||
qsort(timetable, s->nb_chapters, sizeof(*timetable), chapter_start_cmp);
|
||||
|
||||
for (i = 0; i < s->nb_chapters; i++)
|
||||
for (unsigned i = 0; i < s->nb_chapters; i++)
|
||||
if (timetable[i]->end == AV_NOPTS_VALUE) {
|
||||
AVChapter *ch = timetable[i];
|
||||
int64_t end = max_time ? av_rescale_q(max_time, AV_TIME_BASE_Q,
|
||||
@ -3276,7 +3255,6 @@ int ff_get_extradata(AVFormatContext *s, AVCodecParameters *par, AVIOContext *pb
|
||||
|
||||
int ff_rfps_add_frame(AVFormatContext *ic, AVStream *st, int64_t ts)
|
||||
{
|
||||
int i, j;
|
||||
int64_t last = st->internal->info->last_dts;
|
||||
|
||||
if ( ts != AV_NOPTS_VALUE && last != AV_NOPTS_VALUE && ts > last
|
||||
@ -3291,11 +3269,11 @@ int ff_rfps_add_frame(AVFormatContext *ic, AVStream *st, int64_t ts)
|
||||
|
||||
// if (st->codec->codec_type == AVMEDIA_TYPE_VIDEO)
|
||||
// av_log(NULL, AV_LOG_ERROR, "%f\n", dts);
|
||||
for (i = 0; i<MAX_STD_TIMEBASES; i++) {
|
||||
for (int i = 0; i < MAX_STD_TIMEBASES; i++) {
|
||||
if (st->internal->info->duration_error[0][1][i] < 1e10) {
|
||||
int framerate = get_std_framerate(i);
|
||||
double sdts = dts*framerate/(1001*12);
|
||||
for (j= 0; j<2; j++) {
|
||||
for (int j = 0; j < 2; j++) {
|
||||
int64_t ticks = llrint(sdts+j*0.5);
|
||||
double error= sdts - ticks + j*0.5;
|
||||
st->internal->info->duration_error[j][0][i] += error;
|
||||
@ -3310,7 +3288,7 @@ int ff_rfps_add_frame(AVFormatContext *ic, AVStream *st, int64_t ts)
|
||||
|
||||
if (st->internal->info->duration_count % 10 == 0) {
|
||||
int n = st->internal->info->duration_count;
|
||||
for (i = 0; i<MAX_STD_TIMEBASES; i++) {
|
||||
for (int i = 0; i < MAX_STD_TIMEBASES; i++) {
|
||||
if (st->internal->info->duration_error[0][1][i] < 1e10) {
|
||||
double a0 = st->internal->info->duration_error[0][0][i] / n;
|
||||
double error0 = st->internal->info->duration_error[0][1][i] / n - a0*a0;
|
||||
@ -3336,9 +3314,7 @@ int ff_rfps_add_frame(AVFormatContext *ic, AVStream *st, int64_t ts)
|
||||
|
||||
void ff_rfps_calculate(AVFormatContext *ic)
|
||||
{
|
||||
int i, j;
|
||||
|
||||
for (i = 0; i < ic->nb_streams; i++) {
|
||||
for (unsigned i = 0; i < ic->nb_streams; i++) {
|
||||
AVStream *st = ic->streams[i];
|
||||
|
||||
if (st->codecpar->codec_type != AVMEDIA_TYPE_VIDEO)
|
||||
@ -3355,8 +3331,7 @@ void ff_rfps_calculate(AVFormatContext *ic)
|
||||
double best_error= 0.01;
|
||||
AVRational ref_rate = st->r_frame_rate.num ? st->r_frame_rate : av_inv_q(st->time_base);
|
||||
|
||||
for (j= 0; j<MAX_STD_TIMEBASES; j++) {
|
||||
int k;
|
||||
for (int j = 0; j < MAX_STD_TIMEBASES; j++) {
|
||||
|
||||
if (st->internal->info->codec_info_duration &&
|
||||
st->internal->info->codec_info_duration*av_q2d(st->time_base) < (1001*11.5)/get_std_framerate(j))
|
||||
@ -3367,7 +3342,7 @@ void ff_rfps_calculate(AVFormatContext *ic)
|
||||
if (av_q2d(st->time_base) * st->internal->info->rfps_duration_sum / st->internal->info->duration_count < (1001*12.0 * 0.8)/get_std_framerate(j))
|
||||
continue;
|
||||
|
||||
for (k= 0; k<2; k++) {
|
||||
for (int k = 0; k < 2; k++) {
|
||||
int n = st->internal->info->duration_count;
|
||||
double a= st->internal->info->duration_error[k][0][j] / n;
|
||||
double error= st->internal->info->duration_error[k][1][j]/n - a*a;
|
||||
@ -3509,9 +3484,7 @@ static int extract_extradata(AVFormatContext *s, AVStream *st, const AVPacket *p
|
||||
|
||||
static int add_coded_side_data(AVStream *st, AVCodecContext *avctx)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < avctx->nb_coded_side_data; i++) {
|
||||
for (int i = 0; i < avctx->nb_coded_side_data; i++) {
|
||||
const AVPacketSideData *sd_src = &avctx->coded_side_data[i];
|
||||
uint8_t *dst_data;
|
||||
dst_data = av_stream_new_side_data(st, sd_src->type, sd_src->size);
|
||||
@ -3524,10 +3497,8 @@ static int add_coded_side_data(AVStream *st, AVCodecContext *avctx)
|
||||
|
||||
int avformat_find_stream_info(AVFormatContext *ic, AVDictionary **options)
|
||||
{
|
||||
int i, count = 0, ret = 0, j;
|
||||
int count = 0, ret = 0;
|
||||
int64_t read_size;
|
||||
AVStream *st;
|
||||
AVCodecContext *avctx;
|
||||
AVPacket *pkt1 = ic->internal->pkt;
|
||||
int64_t old_offset = avio_tell(ic->pb);
|
||||
// new streams might appear, no options for those
|
||||
@ -3562,11 +3533,12 @@ int avformat_find_stream_info(AVFormatContext *ic, AVDictionary **options)
|
||||
avio_tell(ic->pb), ctx->bytes_read, ctx->seek_count, ic->nb_streams);
|
||||
}
|
||||
|
||||
for (i = 0; i < ic->nb_streams; i++) {
|
||||
for (unsigned i = 0; i < ic->nb_streams; i++) {
|
||||
const AVCodec *codec;
|
||||
AVDictionary *thread_opt = NULL;
|
||||
st = ic->streams[i];
|
||||
avctx = st->internal->avctx;
|
||||
AVStream *const st = ic->streams[i];
|
||||
AVStreamInternal *const sti = st->internal;
|
||||
AVCodecContext *const avctx = sti->avctx;
|
||||
|
||||
if (st->codecpar->codec_type == AVMEDIA_TYPE_VIDEO ||
|
||||
st->codecpar->codec_type == AVMEDIA_TYPE_SUBTITLE) {
|
||||
@ -3628,7 +3600,10 @@ int avformat_find_stream_info(AVFormatContext *ic, AVDictionary **options)
|
||||
read_size = 0;
|
||||
for (;;) {
|
||||
const AVPacket *pkt;
|
||||
AVStream *st;
|
||||
AVCodecContext *avctx;
|
||||
int analyzed_all_streams;
|
||||
unsigned i;
|
||||
if (ff_check_interrupt(&ic->interrupt_callback)) {
|
||||
ret = AVERROR_EXIT;
|
||||
av_log(ic, AV_LOG_DEBUG, "interrupted\n");
|
||||
@ -3637,10 +3612,10 @@ int avformat_find_stream_info(AVFormatContext *ic, AVDictionary **options)
|
||||
|
||||
/* check if one codec still needs to be handled */
|
||||
for (i = 0; i < ic->nb_streams; i++) {
|
||||
AVStream *const st = ic->streams[i];
|
||||
int fps_analyze_framecount = 20;
|
||||
int count;
|
||||
|
||||
st = ic->streams[i];
|
||||
if (!has_codec_parameters(st, NULL))
|
||||
break;
|
||||
/* If the timebase is coarse (like the usual millisecond precision
|
||||
@ -3698,7 +3673,7 @@ int avformat_find_stream_info(AVFormatContext *ic, AVDictionary **options)
|
||||
ret = count;
|
||||
av_log(ic, AV_LOG_DEBUG,
|
||||
"Probe buffer size limit of %"PRId64" bytes reached\n", probesize);
|
||||
for (i = 0; i < ic->nb_streams; i++)
|
||||
for (unsigned i = 0; i < ic->nb_streams; i++)
|
||||
if (!ic->streams[i]->r_frame_rate.num &&
|
||||
ic->streams[i]->internal->info->duration_count <= 1 &&
|
||||
ic->streams[i]->codecpar->codec_type == AVMEDIA_TYPE_VIDEO &&
|
||||
@ -3857,10 +3832,9 @@ int avformat_find_stream_info(AVFormatContext *ic, AVDictionary **options)
|
||||
}
|
||||
|
||||
if (eof_reached) {
|
||||
int stream_index;
|
||||
for (stream_index = 0; stream_index < ic->nb_streams; stream_index++) {
|
||||
st = ic->streams[stream_index];
|
||||
avctx = st->internal->avctx;
|
||||
for (unsigned stream_index = 0; stream_index < ic->nb_streams; stream_index++) {
|
||||
AVStream *const st = ic->streams[stream_index];
|
||||
AVCodecContext *const avctx = st->internal->avctx;
|
||||
if (!has_codec_parameters(st, NULL)) {
|
||||
const AVCodec *codec = find_probe_decoder(ic, st, st->codecpar->codec_id);
|
||||
if (codec && !avctx->codec) {
|
||||
@ -3887,9 +3861,8 @@ int avformat_find_stream_info(AVFormatContext *ic, AVDictionary **options)
|
||||
int err = 0;
|
||||
av_packet_unref(empty_pkt);
|
||||
|
||||
for (i = 0; i < ic->nb_streams; i++) {
|
||||
|
||||
st = ic->streams[i];
|
||||
for (unsigned i = 0; i < ic->nb_streams; i++) {
|
||||
AVStream *const st = ic->streams[i];
|
||||
|
||||
/* flush the decoders */
|
||||
if (st->internal->info->found_decoder == 1) {
|
||||
@ -3909,9 +3882,11 @@ int avformat_find_stream_info(AVFormatContext *ic, AVDictionary **options)
|
||||
|
||||
ff_rfps_calculate(ic);
|
||||
|
||||
for (i = 0; i < ic->nb_streams; i++) {
|
||||
st = ic->streams[i];
|
||||
avctx = st->internal->avctx;
|
||||
for (unsigned i = 0; i < ic->nb_streams; i++) {
|
||||
AVStream *const st = ic->streams[i];
|
||||
AVStreamInternal *const sti = st->internal;
|
||||
AVCodecContext *const avctx = sti->avctx;
|
||||
|
||||
if (avctx->codec_type == AVMEDIA_TYPE_VIDEO) {
|
||||
if (avctx->codec_id == AV_CODEC_ID_RAWVIDEO && !avctx->codec_tag && !avctx->bits_per_coded_sample) {
|
||||
uint32_t tag= avcodec_pix_fmt_to_codec_tag(avctx->pix_fmt);
|
||||
@ -3937,7 +3912,7 @@ int avformat_find_stream_info(AVFormatContext *ic, AVDictionary **options)
|
||||
|
||||
/* Round guessed framerate to a "standard" framerate if it's
|
||||
* within 1% of the original estimate. */
|
||||
for (j = 0; j < MAX_STD_TIMEBASES; j++) {
|
||||
for (int j = 0; j < MAX_STD_TIMEBASES; j++) {
|
||||
AVRational std_fps = { get_std_framerate(j), 12 * 1001 };
|
||||
double error = fabs(av_q2d(st->avg_frame_rate) /
|
||||
av_q2d(std_fps) - 1);
|
||||
@ -4009,9 +3984,9 @@ int avformat_find_stream_info(AVFormatContext *ic, AVDictionary **options)
|
||||
if (ret >= 0 && ic->nb_streams)
|
||||
/* We could not have all the codec parameters before EOF. */
|
||||
ret = -1;
|
||||
for (i = 0; i < ic->nb_streams; i++) {
|
||||
for (unsigned i = 0; i < ic->nb_streams; i++) {
|
||||
AVStream *const st = ic->streams[i];
|
||||
const char *errmsg;
|
||||
st = ic->streams[i];
|
||||
|
||||
/* if no packet was ever seen, update context now for has_codec_parameters */
|
||||
if (!st->internal->avctx_inited) {
|
||||
@ -4039,8 +4014,8 @@ int avformat_find_stream_info(AVFormatContext *ic, AVDictionary **options)
|
||||
goto find_stream_info_err;
|
||||
|
||||
/* update the stream parameters from the internal codec contexts */
|
||||
for (i = 0; i < ic->nb_streams; i++) {
|
||||
st = ic->streams[i];
|
||||
for (unsigned i = 0; i < ic->nb_streams; i++) {
|
||||
AVStream *const st = ic->streams[i];
|
||||
|
||||
if (st->internal->avctx_inited) {
|
||||
ret = avcodec_parameters_from_context(st->codecpar, st->internal->avctx);
|
||||
@ -4055,8 +4030,8 @@ int avformat_find_stream_info(AVFormatContext *ic, AVDictionary **options)
|
||||
}
|
||||
|
||||
find_stream_info_err:
|
||||
for (i = 0; i < ic->nb_streams; i++) {
|
||||
st = ic->streams[i];
|
||||
for (unsigned i = 0; i < ic->nb_streams; i++) {
|
||||
AVStream *const st = ic->streams[i];
|
||||
if (st->internal->info)
|
||||
av_freep(&st->internal->info->duration_error);
|
||||
avcodec_close(ic->streams[i]->internal->avctx);
|
||||
@ -4077,14 +4052,12 @@ unref_then_goto_end:
|
||||
|
||||
AVProgram *av_find_program_from_stream(AVFormatContext *ic, AVProgram *last, int s)
|
||||
{
|
||||
int i, j;
|
||||
|
||||
for (i = 0; i < ic->nb_programs; i++) {
|
||||
for (unsigned i = 0; i < ic->nb_programs; i++) {
|
||||
if (ic->programs[i] == last) {
|
||||
last = NULL;
|
||||
} else {
|
||||
if (!last)
|
||||
for (j = 0; j < ic->programs[i]->nb_stream_indexes; j++)
|
||||
for (unsigned j = 0; j < ic->programs[i]->nb_stream_indexes; j++)
|
||||
if (ic->programs[i]->stream_index[j] == s)
|
||||
return ic->programs[i];
|
||||
}
|
||||
@ -4096,7 +4069,7 @@ int av_find_best_stream(AVFormatContext *ic, enum AVMediaType type,
|
||||
int wanted_stream_nb, int related_stream,
|
||||
const AVCodec **decoder_ret, int flags)
|
||||
{
|
||||
int i, nb_streams = ic->nb_streams;
|
||||
int nb_streams = ic->nb_streams;
|
||||
int ret = AVERROR_STREAM_NOT_FOUND;
|
||||
int best_count = -1, best_multiframe = -1, best_disposition = -1;
|
||||
int count, multiframe, disposition;
|
||||
@ -4112,7 +4085,7 @@ int av_find_best_stream(AVFormatContext *ic, enum AVMediaType type,
|
||||
nb_streams = p->nb_stream_indexes;
|
||||
}
|
||||
}
|
||||
for (i = 0; i < nb_streams; i++) {
|
||||
for (unsigned i = 0; i < nb_streams; i++) {
|
||||
int real_stream_index = program ? program[i] : i;
|
||||
AVStream *st = ic->streams[real_stream_index];
|
||||
AVCodecParameters *par = st->codecpar;
|
||||
@ -4180,7 +4153,7 @@ int av_read_pause(AVFormatContext *s)
|
||||
|
||||
int ff_stream_encode_params_copy(AVStream *dst, const AVStream *src)
|
||||
{
|
||||
int ret, i;
|
||||
int ret;
|
||||
|
||||
dst->id = src->id;
|
||||
dst->time_base = src->time_base;
|
||||
@ -4200,7 +4173,7 @@ int ff_stream_encode_params_copy(AVStream *dst, const AVStream *src)
|
||||
return ret;
|
||||
|
||||
/* Free existing side data*/
|
||||
for (i = 0; i < dst->nb_side_data; i++)
|
||||
for (int i = 0; i < dst->nb_side_data; i++)
|
||||
av_free(dst->side_data[i].data);
|
||||
av_freep(&dst->side_data);
|
||||
dst->nb_side_data = 0;
|
||||
@ -4213,7 +4186,7 @@ int ff_stream_encode_params_copy(AVStream *dst, const AVStream *src)
|
||||
return AVERROR(ENOMEM);
|
||||
dst->nb_side_data = src->nb_side_data;
|
||||
|
||||
for (i = 0; i < src->nb_side_data; i++) {
|
||||
for (int i = 0; i < src->nb_side_data; i++) {
|
||||
uint8_t *data = av_memdup(src->side_data[i].data,
|
||||
src->side_data[i].size);
|
||||
if (!data)
|
||||
@ -4230,12 +4203,11 @@ int ff_stream_encode_params_copy(AVStream *dst, const AVStream *src)
|
||||
static void free_stream(AVStream **pst)
|
||||
{
|
||||
AVStream *st = *pst;
|
||||
int i;
|
||||
|
||||
if (!st)
|
||||
return;
|
||||
|
||||
for (i = 0; i < st->nb_side_data; i++)
|
||||
for (int i = 0; i < st->nb_side_data; i++)
|
||||
av_freep(&st->side_data[i].data);
|
||||
av_freep(&st->side_data);
|
||||
|
||||
@ -4275,8 +4247,6 @@ void ff_free_stream(AVFormatContext *s, AVStream *st)
|
||||
|
||||
void avformat_free_context(AVFormatContext *s)
|
||||
{
|
||||
int i;
|
||||
|
||||
if (!s)
|
||||
return;
|
||||
|
||||
@ -4289,11 +4259,11 @@ void avformat_free_context(AVFormatContext *s)
|
||||
if (s->oformat && s->oformat->priv_class && s->priv_data)
|
||||
av_opt_free(s->priv_data);
|
||||
|
||||
for (i = 0; i < s->nb_streams; i++)
|
||||
for (unsigned i = 0; i < s->nb_streams; i++)
|
||||
free_stream(&s->streams[i]);
|
||||
s->nb_streams = 0;
|
||||
|
||||
for (i = 0; i < s->nb_programs; i++) {
|
||||
for (unsigned i = 0; i < s->nb_programs; i++) {
|
||||
av_dict_free(&s->programs[i]->metadata);
|
||||
av_freep(&s->programs[i]->stream_index);
|
||||
av_freep(&s->programs[i]);
|
||||
@ -4347,7 +4317,6 @@ void avformat_close_input(AVFormatContext **ps)
|
||||
AVStream *avformat_new_stream(AVFormatContext *s, const AVCodec *c)
|
||||
{
|
||||
AVStream *st;
|
||||
int i;
|
||||
AVStream **streams;
|
||||
|
||||
if (s->nb_streams >= s->max_streams) {
|
||||
@ -4409,7 +4378,7 @@ AVStream *avformat_new_stream(AVFormatContext *s, const AVCodec *c)
|
||||
|
||||
st->internal->last_IP_pts = AV_NOPTS_VALUE;
|
||||
st->internal->last_dts_for_order_check = AV_NOPTS_VALUE;
|
||||
for (i = 0; i < MAX_REORDER_DELAY + 1; i++)
|
||||
for (int i = 0; i < MAX_REORDER_DELAY + 1; i++)
|
||||
st->internal->pts_buffer[i] = AV_NOPTS_VALUE;
|
||||
|
||||
st->sample_aspect_ratio = (AVRational) { 0, 1 };
|
||||
@ -4428,11 +4397,11 @@ fail:
|
||||
AVProgram *av_new_program(AVFormatContext *ac, int id)
|
||||
{
|
||||
AVProgram *program = NULL;
|
||||
int i, ret;
|
||||
int ret;
|
||||
|
||||
av_log(ac, AV_LOG_TRACE, "new_program: id=0x%04x\n", id);
|
||||
|
||||
for (i = 0; i < ac->nb_programs; i++)
|
||||
for (unsigned i = 0; i < ac->nb_programs; i++)
|
||||
if (ac->programs[i]->id == id)
|
||||
program = ac->programs[i];
|
||||
|
||||
@ -4460,7 +4429,7 @@ AVChapter *avpriv_new_chapter(AVFormatContext *s, int64_t id, AVRational time_ba
|
||||
int64_t start, int64_t end, const char *title)
|
||||
{
|
||||
AVChapter *chapter = NULL;
|
||||
int i, ret;
|
||||
int ret;
|
||||
|
||||
if (end != AV_NOPTS_VALUE && start > end) {
|
||||
av_log(s, AV_LOG_ERROR, "Chapter end time %"PRId64" before start %"PRId64"\n", end, start);
|
||||
@ -4471,7 +4440,7 @@ AVChapter *avpriv_new_chapter(AVFormatContext *s, int64_t id, AVRational time_ba
|
||||
s->internal->chapter_ids_monotonic = 1;
|
||||
} else if (!s->internal->chapter_ids_monotonic || s->chapters[s->nb_chapters-1]->id >= id) {
|
||||
s->internal->chapter_ids_monotonic = 0;
|
||||
for (i = 0; i < s->nb_chapters; i++)
|
||||
for (unsigned i = 0; i < s->nb_chapters; i++)
|
||||
if (s->chapters[i]->id == id)
|
||||
chapter = s->chapters[i];
|
||||
}
|
||||
@ -4497,7 +4466,6 @@ AVChapter *avpriv_new_chapter(AVFormatContext *s, int64_t id, AVRational time_ba
|
||||
|
||||
void av_program_add_stream_index(AVFormatContext *ac, int progid, unsigned idx)
|
||||
{
|
||||
int i, j;
|
||||
AVProgram *program = NULL;
|
||||
void *tmp;
|
||||
|
||||
@ -4506,11 +4474,11 @@ void av_program_add_stream_index(AVFormatContext *ac, int progid, unsigned idx)
|
||||
return;
|
||||
}
|
||||
|
||||
for (i = 0; i < ac->nb_programs; i++) {
|
||||
for (unsigned i = 0; i < ac->nb_programs; i++) {
|
||||
if (ac->programs[i]->id != progid)
|
||||
continue;
|
||||
program = ac->programs[i];
|
||||
for (j = 0; j < program->nb_stream_indexes; j++)
|
||||
for (unsigned j = 0; j < program->nb_stream_indexes; j++)
|
||||
if (program->stream_index[j] == idx)
|
||||
return;
|
||||
|
||||
@ -4721,7 +4689,6 @@ int ff_mkdir_p(const char *path)
|
||||
|
||||
char *ff_data_to_hex(char *buff, const uint8_t *src, int s, int lowercase)
|
||||
{
|
||||
int i;
|
||||
static const char hex_table_uc[16] = { '0', '1', '2', '3',
|
||||
'4', '5', '6', '7',
|
||||
'8', '9', 'A', 'B',
|
||||
@ -4732,7 +4699,7 @@ char *ff_data_to_hex(char *buff, const uint8_t *src, int s, int lowercase)
|
||||
'c', 'd', 'e', 'f' };
|
||||
const char *hex_table = lowercase ? hex_table_lc : hex_table_uc;
|
||||
|
||||
for (i = 0; i < s; i++) {
|
||||
for (int i = 0; i < s; i++) {
|
||||
buff[i * 2] = hex_table[src[i] >> 4];
|
||||
buff[i * 2 + 1] = hex_table[src[i] & 0xF];
|
||||
}
|
||||
@ -4849,8 +4816,7 @@ void ff_parse_key_value(const char *str, ff_parse_key_val_cb callback_get_buf,
|
||||
|
||||
int ff_find_stream_index(AVFormatContext *s, int id)
|
||||
{
|
||||
int i;
|
||||
for (i = 0; i < s->nb_streams; i++)
|
||||
for (unsigned i = 0; i < s->nb_streams; i++)
|
||||
if (s->streams[i]->id == id)
|
||||
return i;
|
||||
return -1;
|
||||
@ -5021,7 +4987,7 @@ static int match_stream_specifier(AVFormatContext *s, AVStream *st,
|
||||
if (nopic && (st->disposition & AV_DISPOSITION_ATTACHED_PIC))
|
||||
match = 0;
|
||||
} else if (*spec == 'p' && *(spec + 1) == ':') {
|
||||
int prog_id, i, j;
|
||||
int prog_id;
|
||||
int found = 0;
|
||||
char *endptr;
|
||||
spec += 2;
|
||||
@ -5031,11 +4997,11 @@ static int match_stream_specifier(AVFormatContext *s, AVStream *st,
|
||||
return AVERROR(EINVAL);
|
||||
spec = endptr;
|
||||
if (match) {
|
||||
for (i = 0; i < s->nb_programs; i++) {
|
||||
for (unsigned i = 0; i < s->nb_programs; i++) {
|
||||
if (s->programs[i]->id != prog_id)
|
||||
continue;
|
||||
|
||||
for (j = 0; j < s->programs[i]->nb_stream_indexes; j++) {
|
||||
for (unsigned j = 0; j < s->programs[i]->nb_stream_indexes; j++) {
|
||||
if (st->index == s->programs[i]->stream_index[j]) {
|
||||
found = 1;
|
||||
if (p)
|
||||
@ -5295,9 +5261,7 @@ int ff_generate_avci_extradata(AVStream *st)
|
||||
uint8_t *av_stream_get_side_data(const AVStream *st,
|
||||
enum AVPacketSideDataType type, size_t *size)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < st->nb_side_data; i++) {
|
||||
for (int i = 0; i < st->nb_side_data; i++) {
|
||||
if (st->side_data[i].type == type) {
|
||||
if (size)
|
||||
*size = st->side_data[i].size;
|
||||
@ -5313,9 +5277,8 @@ int av_stream_add_side_data(AVStream *st, enum AVPacketSideDataType type,
|
||||
uint8_t *data, size_t size)
|
||||
{
|
||||
AVPacketSideData *sd, *tmp;
|
||||
int i;
|
||||
|
||||
for (i = 0; i < st->nb_side_data; i++) {
|
||||
for (int i = 0; i < st->nb_side_data; i++) {
|
||||
sd = &st->side_data[i];
|
||||
|
||||
if (sd->type == type) {
|
||||
@ -5475,8 +5438,7 @@ int ff_get_packet_palette(AVFormatContext *s, AVPacket *pkt, int ret, uint32_t *
|
||||
}
|
||||
|
||||
if (ret == CONTAINS_PAL) {
|
||||
int i;
|
||||
for (i = 0; i < AVPALETTE_COUNT; i++)
|
||||
for (int i = 0; i < AVPALETTE_COUNT; i++)
|
||||
palette[i] = AV_RL32(pkt->data + pkt->size - AVPALETTE_SIZE + i*4);
|
||||
return 1;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user