History

tools: Port to codec parameters API

Diego Biurrun committed 10 years ago

Commit b8de14b1 parent 393596f2 files · +47 −46Browse files

Unified · Split

2 files
  1. tools/ismindex.c +30 −30
  2. tools/sidxindex.c +17 −16
tools/ismindex.c+30−30
@@ -450,40 +450,40 @@ fail: · 449 unmodified lines
450450 return err;
451451 }
452452
453−static int get_private_data(struct Track *track, AVCodecContext *codec)
453+static int get_private_data(struct Track *track, AVCodecParameters *codecpar)
454454 {
455− track->codec_private_size = codec->extradata_size;
456− track->codec_private = av_mallocz(codec->extradata_size);
455+ track->codec_private_size = codecpar->extradata_size;
456+ track->codec_private = av_mallocz(codecpar->extradata_size);
457457 if (!track->codec_private)
458458 return AVERROR(ENOMEM);
459− memcpy(track->codec_private, codec->extradata, codec->extradata_size);
459+ memcpy(track->codec_private, codecpar->extradata, codecpar->extradata_size);
460460 return 0;
461461 }
462462
463−static int get_video_private_data(struct Track *track, AVCodecContext *codec)
463+static int get_video_private_data(struct Track *track, AVCodecParameters *codecpar)
464464 {
465465 AVIOContext *io = NULL;
466466 uint16_t sps_size, pps_size;
467467 int err;
468468
469− if (codec->codec_id == AV_CODEC_ID_VC1)
470− return get_private_data(track, codec);
469+ if (codecpar->codec_id == AV_CODEC_ID_VC1)
470+ return get_private_data(track, codecpar);
471471
472472 if ((err = avio_open_dyn_buf(&io)) < 0)
473473 goto fail;
474474 err = AVERROR(EINVAL);
475− if (codec->extradata_size < 11 || codec->extradata[0] != 1)
475+ if (codecpar->extradata_size < 11 || codecpar->extradata[0] != 1)
476476 goto fail;
477− sps_size = AV_RB16(&codec->extradata[6]);
478− if (11 + sps_size > codec->extradata_size)
477+ sps_size = AV_RB16(&codecpar->extradata[6]);
478+ if (11 + sps_size > codecpar->extradata_size)
479479 goto fail;
480480 avio_wb32(io, 0x00000001);
481− avio_write(io, &codec->extradata[8], sps_size);
482− pps_size = AV_RB16(&codec->extradata[9 + sps_size]);
483− if (11 + sps_size + pps_size > codec->extradata_size)
481+ avio_write(io, &codecpar->extradata[8], sps_size);
482+ pps_size = AV_RB16(&codecpar->extradata[9 + sps_size]);
483+ if (11 + sps_size + pps_size > codecpar->extradata_size)
484484 goto fail;
485485 avio_wb32(io, 0x00000001);
486− avio_write(io, &codec->extradata[11 + sps_size], pps_size);
486+ avio_write(io, &codecpar->extradata[11 + sps_size], pps_size);
487487 err = 0;
488488
489489 fail:
@@ -523,7 +523,7 @@ static int handle_file(struct Tracks *tracks, const char *file, int split, · 33 unmodified lines
523523 struct Track **temp;
524524 AVStream *st = ctx->streams[i];
525525
526− if (st->codec->bit_rate == 0) {
526+ if (st->codecpar->bit_rate == 0) {
527527 fprintf(stderr, "Skipping track %d in %s as it has zero bitrate\n",
528528 st->id, file);
529529 continue;
@@ -548,12 +548,12 @@ static int handle_file(struct Tracks *tracks, const char *file, int split, · 18 unmodified lines
548548 if ((ptr = strrchr(file, '/')))
549549 track->name = ptr + 1;
550550
551− track->bitrate = st->codec->bit_rate;
551+ track->bitrate = st->codecpar->bit_rate;
552552 track->track_id = st->id;
553553 track->timescale = st->time_base.den;
554554 track->duration = st->duration;
555− track->is_audio = st->codec->codec_type == AVMEDIA_TYPE_AUDIO;
556− track->is_video = st->codec->codec_type == AVMEDIA_TYPE_VIDEO;
555+ track->is_audio = st->codecpar->codec_type == AVMEDIA_TYPE_AUDIO;
556+ track->is_video = st->codecpar->codec_type == AVMEDIA_TYPE_VIDEO;
557557
558558 if (!track->is_audio && !track->is_video) {
559559 fprintf(stderr,
@@ -571,30 +571,30 @@ static int handle_file(struct Tracks *tracks, const char *file, int split, · 11 unmodified lines
571571 if (tracks->audio_track < 0)
572572 tracks->audio_track = tracks->nb_tracks;
573573 tracks->nb_audio_tracks++;
574− track->channels = st->codec->channels;
575− track->sample_rate = st->codec->sample_rate;
576− if (st->codec->codec_id == AV_CODEC_ID_AAC) {
574+ track->channels = st->codecpar->channels;
575+ track->sample_rate = st->codecpar->sample_rate;
576+ if (st->codecpar->codec_id == AV_CODEC_ID_AAC) {
577577 track->fourcc = "AACL";
578578 track->tag = 255;
579579 track->blocksize = 4;
580− } else if (st->codec->codec_id == AV_CODEC_ID_WMAPRO) {
580+ } else if (st->codecpar->codec_id == AV_CODEC_ID_WMAPRO) {
581581 track->fourcc = "WMAP";
582− track->tag = st->codec->codec_tag;
583− track->blocksize = st->codec->block_align;
582+ track->tag = st->codecpar->codec_tag;
583+ track->blocksize = st->codecpar->block_align;
584584 }
585− get_private_data(track, st->codec);
585+ get_private_data(track, st->codecpar);
586586 }
587587 if (track->is_video) {
588588 if (tracks->video_track < 0)
589589 tracks->video_track = tracks->nb_tracks;
590590 tracks->nb_video_tracks++;
591− track->width = st->codec->width;
592− track->height = st->codec->height;
593− if (st->codec->codec_id == AV_CODEC_ID_H264)
591+ track->width = st->codecpar->width;
592+ track->height = st->codecpar->height;
593+ if (st->codecpar->codec_id == AV_CODEC_ID_H264)
594594 track->fourcc = "H264";
595− else if (st->codec->codec_id == AV_CODEC_ID_VC1)
595+ else if (st->codecpar->codec_id == AV_CODEC_ID_VC1)
596596 track->fourcc = "WVC1";
597− get_video_private_data(track, st->codec);
597+ get_video_private_data(track, st->codecpar);
598598 }
599599
600600 tracks->nb_tracks++;
tools/sidxindex.c+17−16
@@ -52,22 +52,23 @@ struct Tracks { · 51 unmodified lines
5252 int multiple_tracks_per_file;
5353 };
5454
55−static void set_codec_str(AVCodecContext *codec, char *str, int size)
55+static void set_codec_str(AVCodecParameters *codecpar, char *str, int size)
5656 {
57− switch (codec->codec_id) {
57+ switch (codecpar->codec_id) {
5858 case AV_CODEC_ID_H264:
5959 snprintf(str, size, "avc1");
60− if (codec->extradata_size >= 4 && codec->extradata[0] == 1) {
60+ if (codecpar->extradata_size >= 4 && codecpar->extradata[0] == 1) {
6161 av_strlcatf(str, size, ".%02x%02x%02x",
62− codec->extradata[1], codec->extradata[2], codec->extradata[3]);
62+ codecpar->extradata[1], codecpar->extradata[2],
63+ codecpar->extradata[3]);
6364 }
6465 break;
6566 case AV_CODEC_ID_AAC:
6667 snprintf(str, size, "mp4a.40"); // 0x40 is the mp4 object type for AAC
67− if (codec->extradata_size >= 2) {
68− int aot = codec->extradata[0] >> 3;
68+ if (codecpar->extradata_size >= 2) {
69+ int aot = codecpar->extradata[0] >> 3;
6970 if (aot == 31)
70− aot = ((AV_RB16(codec->extradata) >> 5) & 0x3f) + 32;
71+ aot = ((AV_RB16(codecpar->extradata) >> 5) & 0x3f) + 32;
7172 av_strlcatf(str, size, ".%d", aot);
7273 }
7374 break;
@@ -145,7 +146,7 @@ static int handle_file(struct Tracks *tracks, const char *file) · 71 unmodified lines
145146 struct Track **temp;
146147 AVStream *st = ctx->streams[i];
147148
148− if (st->codec->bit_rate == 0) {
149+ if (st->codecpar->bit_rate == 0) {
149150 fprintf(stderr, "Skipping track %d in %s as it has zero bitrate\n",
150151 st->id, file);
151152 continue;
@@ -170,12 +171,12 @@ static int handle_file(struct Tracks *tracks, const char *file) · 18 unmodified lines
170171 if ((ptr = strrchr(file, '/')))
171172 track->name = ptr + 1;
172173
173− track->bitrate = st->codec->bit_rate;
174+ track->bitrate = st->codecpar->bit_rate;
174175 track->track_id = st->id;
175176 track->timescale = st->time_base.den;
176177 track->duration = st->duration;
177− track->is_audio = st->codec->codec_type == AVMEDIA_TYPE_AUDIO;
178− track->is_video = st->codec->codec_type == AVMEDIA_TYPE_VIDEO;
178+ track->is_audio = st->codecpar->codec_type == AVMEDIA_TYPE_AUDIO;
179+ track->is_video = st->codecpar->codec_type == AVMEDIA_TYPE_VIDEO;
179180
180181 if (!track->is_audio && !track->is_video) {
181182 fprintf(stderr,
@@ -190,14 +191,14 @@ static int handle_file(struct Tracks *tracks, const char *file) · 8 unmodified lines
190191 track->timescale, AV_ROUND_UP));
191192
192193 if (track->is_audio) {
193− track->channels = st->codec->channels;
194− track->sample_rate = st->codec->sample_rate;
194+ track->channels = st->codecpar->channels;
195+ track->sample_rate = st->codecpar->sample_rate;
195196 }
196197 if (track->is_video) {
197− track->width = st->codec->width;
198− track->height = st->codec->height;
198+ track->width = st->codecpar->width;
199+ track->height = st->codecpar->height;
199200 }
200− set_codec_str(st->codec, track->codec_str, sizeof(track->codec_str));
201+ set_codec_str(st->codecpar, track->codec_str, sizeof(track->codec_str));
201202
202203 tracks->nb_tracks++;
203204 }

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t