From 36b58e850dec536b7dce5f9358744025e84d6ef9 Mon Sep 17 00:00:00 2001 From: Roman Shaposhnik Date: Tue, 12 Aug 2003 18:20:29 +0000 Subject: * fixing a regression in mpeg encoder (not setting pix_fmt), this is hardly the right way to do things, but it'll suffice for now. * patch from Gildas Bazin gbazin at altern dot org * fix for a 10l in configure * gcc 2.95.3 and Solaris build in general are not ready for -Werror in libavformat/Makefile Originally committed as revision 2123 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/avcodec.h | 5 ++++- libavcodec/mpeg12.c | 2 +- libavcodec/mpegvideo.c | 3 +++ 3 files changed, 8 insertions(+), 2 deletions(-) (limited to 'libavcodec') diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h index 889c3147ae..e0f87c7c58 100644 --- a/libavcodec/avcodec.h +++ b/libavcodec/avcodec.h @@ -455,7 +455,10 @@ typedef struct AVCodecContext { /** * pixel format, see PIX_FMT_xxx. - * - encoding: unused + * - encoding: FIXME: used by ffmpeg to decide whether an pix_fmt + * conversion is in order. This only works for + * codecs with one supported pix_fmt, we should + * do something for a generic case as well. * - decoding: set by lavc. */ enum PixelFormat pix_fmt; diff --git a/libavcodec/mpeg12.c b/libavcodec/mpeg12.c index f15b336d2b..c9884d321b 100644 --- a/libavcodec/mpeg12.c +++ b/libavcodec/mpeg12.c @@ -2035,7 +2035,7 @@ static int slice_end(AVCodecContext *avctx, AVFrame *pict) Mpeg1Context *s1 = avctx->priv_data; MpegEncContext *s = &s1->mpeg_enc_ctx; - if (!s1->mpeg_enc_ctx_allocated) + if (!s1->mpeg_enc_ctx_allocated || !s->current_picture_ptr) return 0; #ifdef HAVE_XVMC diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c index 91b46b2b68..b84875f43e 100644 --- a/libavcodec/mpegvideo.c +++ b/libavcodec/mpegvideo.c @@ -540,6 +540,8 @@ int MPV_encode_init(AVCodecContext *avctx) int i; int chroma_h_shift, chroma_v_shift; + avctx->pix_fmt = PIX_FMT_YUV420P; // FIXME + s->bit_rate = avctx->bit_rate; s->bit_rate_tolerance = avctx->bit_rate_tolerance; s->width = avctx->width; @@ -1515,6 +1517,7 @@ static void select_input_picture(MpegEncContext *s){ pic->quality = s->reordered_input_picture[0]->quality; pic->coded_picture_number = s->reordered_input_picture[0]->coded_picture_number; pic->reference = s->reordered_input_picture[0]->reference; + pic->pts = s->reordered_input_picture[0]->pts; alloc_picture(s, pic, 0); -- cgit v1.2.3