[FFmpeg-devel] [PATCH]Implement max_lowres
Carl Eugen Hoyos
cehoyos
Mon Jul 5 13:03:40 CEST 2010
Hi!
First version attached. Is there an API-change or Changelog entry needed?
Note that this should not be held back because of the obvious regressions:
ffmpeg -lowres is currently broken for default configure anyway;-)
Please comment, Carl Eugen
-------------- next part --------------
Index: libavcodec/avcodec.h
===================================================================
--- libavcodec/avcodec.h (revision 24054)
+++ libavcodec/avcodec.h (working copy)
@@ -30,8 +30,8 @@
#include "libavutil/avutil.h"
#define LIBAVCODEC_VERSION_MAJOR 52
-#define LIBAVCODEC_VERSION_MINOR 79
-#define LIBAVCODEC_VERSION_MICRO 1
+#define LIBAVCODEC_VERSION_MINOR 80
+#define LIBAVCODEC_VERSION_MICRO 0
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
LIBAVCODEC_VERSION_MINOR, \
@@ -2713,6 +2713,7 @@
const int *supported_samplerates; ///< array of supported audio samplerates, or NULL if unknown, array is terminated by 0
const enum SampleFormat *sample_fmts; ///< array of supported sample formats, or NULL if unknown, array is terminated by -1
const int64_t *channel_layouts; ///< array of support channel layouts, or NULL if unknown. array is terminated by 0
+ uint8_t max_lowres; ///< maximum value for lowres supported by the decoder
} AVCodec;
/**
Index: libavcodec/utils.c
===================================================================
--- libavcodec/utils.c (revision 24054)
+++ libavcodec/utils.c (working copy)
@@ -513,6 +513,12 @@
}
avctx->frame_number = 0;
if(avctx->codec->init){
+ if(avctx->codec->max_lowres < avctx->lowres){
+ av_log(avctx, AV_LOG_ERROR, "The maximum value for lowres supported by the decoder is %d\n",
+ avctx->codec->max_lowres);
+ goto free_and_end;
+ }
+
ret = avctx->codec->init(avctx);
if (ret < 0) {
goto free_and_end;
Index: libavcodec/mpeg12.c
===================================================================
--- libavcodec/mpeg12.c (revision 24054)
+++ libavcodec/mpeg12.c (working copy)
@@ -2511,6 +2511,7 @@
mpeg_decode_frame,
CODEC_CAP_DRAW_HORIZ_BAND | CODEC_CAP_DR1 | CODEC_CAP_TRUNCATED | CODEC_CAP_DELAY,
.flush= flush,
+ .max_lowres= 3,
.long_name= NULL_IF_CONFIG_SMALL("MPEG-1 video"),
};
@@ -2525,6 +2526,7 @@
mpeg_decode_frame,
CODEC_CAP_DRAW_HORIZ_BAND | CODEC_CAP_DR1 | CODEC_CAP_TRUNCATED | CODEC_CAP_DELAY,
.flush= flush,
+ .max_lowres= 3,
.long_name= NULL_IF_CONFIG_SMALL("MPEG-2 video"),
};
@@ -2540,6 +2542,7 @@
mpeg_decode_frame,
CODEC_CAP_DRAW_HORIZ_BAND | CODEC_CAP_DR1 | CODEC_CAP_TRUNCATED | CODEC_CAP_DELAY,
.flush= flush,
+ .max_lowres= 3,
.long_name= NULL_IF_CONFIG_SMALL("MPEG-1 video"),
};
More information about the ffmpeg-devel
mailing list