1
mirror of https://git.videolan.org/git/ffmpeg.git synced 2024-08-08 02:15:46 +02:00

img2: Use ff_guess_image2_codec(filename) shorthand where appropriate.

This commit is contained in:
Diego Biurrun 2012-02-21 15:49:41 +01:00
parent 24d150b773
commit 3f486e0dae

View File

@ -129,6 +129,11 @@ static enum CodecID av_str2id(const IdStrMap *tags, const char *str)
return CODEC_ID_NONE; return CODEC_ID_NONE;
} }
enum CodecID ff_guess_image2_codec(const char *filename)
{
return av_str2id(img_tags, filename);
}
/* return -1 if no image found */ /* return -1 if no image found */
static int find_image_range(int *pfirst_index, int *plast_index, static int find_image_range(int *pfirst_index, int *plast_index,
const char *path) const char *path)
@ -185,7 +190,7 @@ static int find_image_range(int *pfirst_index, int *plast_index,
static int read_probe(AVProbeData *p) static int read_probe(AVProbeData *p)
{ {
if (p->filename && av_str2id(img_tags, p->filename)) { if (p->filename && ff_guess_image2_codec(p->filename)) {
if (av_filename_number_test(p->filename)) if (av_filename_number_test(p->filename))
return AVPROBE_SCORE_MAX; return AVPROBE_SCORE_MAX;
else else
@ -194,11 +199,6 @@ static int read_probe(AVProbeData *p)
return 0; return 0;
} }
enum CodecID ff_guess_image2_codec(const char *filename)
{
return av_str2id(img_tags, filename);
}
static int read_header(AVFormatContext *s1) static int read_header(AVFormatContext *s1)
{ {
VideoData *s = s1->priv_data; VideoData *s = s1->priv_data;
@ -266,7 +266,7 @@ static int read_header(AVFormatContext *s1)
st->codec->codec_id = s1->audio_codec_id; st->codec->codec_id = s1->audio_codec_id;
}else{ }else{
st->codec->codec_type = AVMEDIA_TYPE_VIDEO; st->codec->codec_type = AVMEDIA_TYPE_VIDEO;
st->codec->codec_id = av_str2id(img_tags, s->path); st->codec->codec_id = ff_guess_image2_codec(s->path);
} }
if(st->codec->codec_type == AVMEDIA_TYPE_VIDEO && pix_fmt != PIX_FMT_NONE) if(st->codec->codec_type == AVMEDIA_TYPE_VIDEO && pix_fmt != PIX_FMT_NONE)
st->codec->pix_fmt = pix_fmt; st->codec->pix_fmt = pix_fmt;
@ -403,7 +403,7 @@ static int write_packet(AVFormatContext *s, AVPacket *pkt)
avio_close(pb[1]); avio_close(pb[1]);
avio_close(pb[2]); avio_close(pb[2]);
}else{ }else{
if(av_str2id(img_tags, s->filename) == CODEC_ID_JPEG2000){ if (ff_guess_image2_codec(s->filename) == CODEC_ID_JPEG2000) {
AVStream *st = s->streams[0]; AVStream *st = s->streams[0];
if(st->codec->extradata_size > 8 && if(st->codec->extradata_size > 8 &&
AV_RL32(st->codec->extradata+4) == MKTAG('j','p','2','h')){ AV_RL32(st->codec->extradata+4) == MKTAG('j','p','2','h')){