int top_field_first;
};
+#ifdef CONFIG_YUV4MPEGPIPE_MUXER
static int yuv4_generate_header(AVFormatContext *s, char* buf)
{
AVStream *st;
av_reduce(&raten, &rated, st->codec->time_base.den, st->codec->time_base.num, (1UL<<31)-1);
- aspectn = st->codec->sample_aspect_ratio.num;
- aspectd = st->codec->sample_aspect_ratio.den;
+ aspectn = st->sample_aspect_ratio.num;
+ aspectd = st->sample_aspect_ratio.den;
if ( aspectn == 0 && aspectd == 1 ) aspectd = 0; // 0:0 means unknown
return 0;
}
-#ifdef CONFIG_YUV4MPEGPIPE_MUXER
AVOutputFormat yuv4mpegpipe_muxer = {
"yuv4mpegpipe",
- "YUV4MPEG pipe format",
+ NULL_IF_CONFIG_SMALL("YUV4MPEG pipe format"),
"",
"y4m",
sizeof(int),
}
st = av_new_stream(s, 0);
+ if(!st)
+ return AVERROR(ENOMEM);
st->codec->width = width;
st->codec->height = height;
av_reduce(&raten, &rated, raten, rated, (1UL<<31)-1);
st->codec->pix_fmt = pix_fmt;
st->codec->codec_type = CODEC_TYPE_VIDEO;
st->codec->codec_id = CODEC_ID_RAWVIDEO;
- st->codec->sample_aspect_ratio= (AVRational){aspectn, aspectd};
+ st->sample_aspect_ratio= (AVRational){aspectn, aspectd};
return 0;
}
return 0;
}
-static int yuv4_read_close(AVFormatContext *s)
-{
- return 0;
-}
-
static int yuv4_probe(AVProbeData *pd)
{
/* check file header */
#ifdef CONFIG_YUV4MPEGPIPE_DEMUXER
AVInputFormat yuv4mpegpipe_demuxer = {
"yuv4mpegpipe",
- "YUV4MPEG pipe format",
+ NULL_IF_CONFIG_SMALL("YUV4MPEG pipe format"),
sizeof(struct frame_attributes),
yuv4_probe,
yuv4_read_header,
yuv4_read_packet,
- yuv4_read_close,
.extensions = "y4m"
};
#endif