summaryrefslogtreecommitdiff
path: root/libavcodec
diff options
context:
space:
mode:
authorRoman Shaposhnik <roman@shaposhnik.org>2003-08-12 18:20:29 +0000
committerRoman Shaposhnik <roman@shaposhnik.org>2003-08-12 18:20:29 +0000
commit36b58e850dec536b7dce5f9358744025e84d6ef9 (patch)
treedee3cfcf92f33839f725bf9244066e8c1f56dd13 /libavcodec
parentbdb2e37c4aca0ee92b6b642ca76ddfd79c255553 (diff)
* 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
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/avcodec.h5
-rw-r--r--libavcodec/mpeg12.c2
-rw-r--r--libavcodec/mpegvideo.c3
3 files changed, 8 insertions, 2 deletions
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);