mirror of https://git.ffmpeg.org/ffmpeg.git
img2: K&R formatting cosmetics
Also introduce local img_ namespace to simplify debugging.
This commit is contained in:
parent
c1fcf563b1
commit
cc7d5cfeec
|
@ -72,7 +72,8 @@ static const IdStrMap img_tags[] = {
|
|||
static enum AVCodecID av_str2id(const IdStrMap *tags, const char *str)
|
||||
{
|
||||
str = strrchr(str, '.');
|
||||
if(!str) return AV_CODEC_ID_NONE;
|
||||
if (!str)
|
||||
return AV_CODEC_ID_NONE;
|
||||
str++;
|
||||
|
||||
while (tags->id) {
|
||||
|
|
|
@ -66,6 +66,7 @@ static int infer_size(int *width_ptr, int *height_ptr, int size)
|
|||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
@ -118,12 +119,12 @@ static int find_image_range(int *pfirst_index, int *plast_index,
|
|||
*pfirst_index = first_index;
|
||||
*plast_index = last_index;
|
||||
return 0;
|
||||
|
||||
fail:
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
static int read_probe(AVProbeData *p)
|
||||
static int img_read_probe(AVProbeData *p)
|
||||
{
|
||||
if (p->filename && ff_guess_image2_codec(p->filename)) {
|
||||
if (av_filename_number_test(p->filename))
|
||||
|
@ -134,7 +135,7 @@ static int read_probe(AVProbeData *p)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int read_header(AVFormatContext *s1)
|
||||
static int img_read_header(AVFormatContext *s1)
|
||||
{
|
||||
VideoDemuxData *s = s1->priv_data;
|
||||
int first_index, last_index, ret = 0;
|
||||
|
@ -150,16 +151,21 @@ static int read_header(AVFormatContext *s1)
|
|||
return AVERROR(ENOMEM);
|
||||
}
|
||||
|
||||
if (s->pixel_format && (pix_fmt = av_get_pix_fmt(s->pixel_format)) == AV_PIX_FMT_NONE) {
|
||||
av_log(s1, AV_LOG_ERROR, "No such pixel format: %s.\n", s->pixel_format);
|
||||
if (s->pixel_format &&
|
||||
(pix_fmt = av_get_pix_fmt(s->pixel_format)) == AV_PIX_FMT_NONE) {
|
||||
av_log(s1, AV_LOG_ERROR, "No such pixel format: %s.\n",
|
||||
s->pixel_format);
|
||||
return AVERROR(EINVAL);
|
||||
}
|
||||
if (s->video_size && (ret = av_parse_video_size(&width, &height, s->video_size)) < 0) {
|
||||
av_log(s, AV_LOG_ERROR, "Could not parse video size: %s.\n", s->video_size);
|
||||
if (s->video_size &&
|
||||
(ret = av_parse_video_size(&width, &height, s->video_size)) < 0) {
|
||||
av_log(s, AV_LOG_ERROR,
|
||||
"Could not parse video size: %s.\n", s->video_size);
|
||||
return ret;
|
||||
}
|
||||
if ((ret = av_parse_video_rate(&framerate, s->framerate)) < 0) {
|
||||
av_log(s, AV_LOG_ERROR, "Could not parse framerate: %s.\n", s->framerate);
|
||||
av_log(s, AV_LOG_ERROR,
|
||||
"Could not parse framerate: %s.\n", s->framerate);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -204,13 +210,14 @@ static int read_header(AVFormatContext *s1)
|
|||
st->codec->codec_type = AVMEDIA_TYPE_VIDEO;
|
||||
st->codec->codec_id = ff_guess_image2_codec(s->path);
|
||||
}
|
||||
if(st->codec->codec_type == AVMEDIA_TYPE_VIDEO && pix_fmt != AV_PIX_FMT_NONE)
|
||||
if (st->codec->codec_type == AVMEDIA_TYPE_VIDEO &&
|
||||
pix_fmt != AV_PIX_FMT_NONE)
|
||||
st->codec->pix_fmt = pix_fmt;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int read_packet(AVFormatContext *s1, AVPacket *pkt)
|
||||
static int img_read_packet(AVFormatContext *s1, AVPacket *pkt)
|
||||
{
|
||||
VideoDemuxData *s = s1->priv_data;
|
||||
char filename[1024];
|
||||
|
@ -227,14 +234,16 @@ static int read_packet(AVFormatContext *s1, AVPacket *pkt)
|
|||
if (s->img_number > s->img_last)
|
||||
return AVERROR_EOF;
|
||||
if (av_get_frame_filename(filename, sizeof(filename),
|
||||
s->path, s->img_number)<0 && s->img_number > 1)
|
||||
s->path,
|
||||
s->img_number) < 0 && s->img_number > 1)
|
||||
return AVERROR(EIO);
|
||||
for (i = 0; i < 3; i++) {
|
||||
if (avio_open2(&f[i], filename, AVIO_FLAG_READ,
|
||||
&s1->interrupt_callback, NULL) < 0) {
|
||||
if (i >= 1)
|
||||
break;
|
||||
av_log(s1, AV_LOG_ERROR, "Could not open file : %s\n",filename);
|
||||
av_log(s1, AV_LOG_ERROR, "Could not open file : %s\n",
|
||||
filename);
|
||||
return AVERROR(EIO);
|
||||
}
|
||||
size[i] = avio_size(f[i]);
|
||||
|
@ -300,9 +309,9 @@ AVInputFormat ff_image2_demuxer = {
|
|||
.name = "image2",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("image2 sequence"),
|
||||
.priv_data_size = sizeof(VideoDemuxData),
|
||||
.read_probe = read_probe,
|
||||
.read_header = read_header,
|
||||
.read_packet = read_packet,
|
||||
.read_probe = img_read_probe,
|
||||
.read_header = img_read_header,
|
||||
.read_packet = img_read_packet,
|
||||
.flags = AVFMT_NOFILE,
|
||||
.priv_class = &img2_class,
|
||||
};
|
||||
|
@ -318,8 +327,8 @@ AVInputFormat ff_image2pipe_demuxer = {
|
|||
.name = "image2pipe",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("piped image2 sequence"),
|
||||
.priv_data_size = sizeof(VideoDemuxData),
|
||||
.read_header = read_header,
|
||||
.read_packet = read_packet,
|
||||
.read_header = img_read_header,
|
||||
.read_packet = img_read_packet,
|
||||
.priv_class = &img2pipe_class,
|
||||
};
|
||||
#endif
|
||||
|
|
|
@ -93,7 +93,8 @@ static int write_packet(AVFormatContext *s, AVPacket *pkt)
|
|||
AVStream *st = s->streams[0];
|
||||
if (st->codec->extradata_size > 8 &&
|
||||
AV_RL32(st->codec->extradata + 4) == MKTAG('j', 'p', '2', 'h')) {
|
||||
if(pkt->size < 8 || AV_RL32(pkt->data+4) != MKTAG('j','p','2','c'))
|
||||
if (pkt->size < 8 ||
|
||||
AV_RL32(pkt->data + 4) != MKTAG('j', 'p', '2', 'c'))
|
||||
goto error;
|
||||
avio_wb32(pb[0], 12);
|
||||
ffio_wfourcc(pb[0], "jP ");
|
||||
|
|
Loading…
Reference in New Issue