summaryrefslogtreecommitdiffstats
path: root/libmpcodecs/vd_ffmpeg.c
diff options
context:
space:
mode:
authordiego <diego@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-07-13 23:02:03 +0000
committerdiego <diego@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-07-13 23:02:03 +0000
commitb5de6c39e69206d8ac52a5d5230ddfd9bae21562 (patch)
treee7b1d5c160262f8f6241e1b22bc9cc761117fbd6 /libmpcodecs/vd_ffmpeg.c
parent103fc6e176d4d9ec443b11c8a106e8081b129662 (diff)
downloadmpv-b5de6c39e69206d8ac52a5d5230ddfd9bae21562.tar.bz2
mpv-b5de6c39e69206d8ac52a5d5230ddfd9bae21562.tar.xz
Remove #if LIBAVCODEC_BUILD >= XXX and #if LIBAVFORMAT_BUILD >= XXX jungle.
It served no apparent purpose anymore. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19078 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpcodecs/vd_ffmpeg.c')
-rw-r--r--libmpcodecs/vd_ffmpeg.c116
1 files changed, 3 insertions, 113 deletions
diff --git a/libmpcodecs/vd_ffmpeg.c b/libmpcodecs/vd_ffmpeg.c
index 6e34ea351b..ddb3fc3f11 100644
--- a/libmpcodecs/vd_ffmpeg.c
+++ b/libmpcodecs/vd_ffmpeg.c
@@ -27,28 +27,6 @@ LIBVD_EXTERN(ffmpeg)
#include "libavcodec/avcodec.h"
#endif
-#if LIBAVCODEC_BUILD < 4641
-#error we do not support libavcodec prior to build 4641, get the latest libavcodec CVS
-#endif
-
-#if LIBAVCODEC_BUILD < 4645
-#warning your version of libavcodec is old, u might want to get a newer one
-#endif
-
-#if LIBAVCODEC_BUILD < 4645
-#define AVFrame AVVideoFrame
-#define coded_frame coded_picture
-#endif
-
-#if LIBAVCODEC_BUILD < 4654
-#define PIX_FMT_RGB24 PIX_FMT_BGR24
-#define PIX_FMT_RGBA32 PIX_FMT_BGRA32
-#endif
-
-#if LIBAVCODEC_BUILD < 4672
-#undef HAVE_XVMC
-#endif
-
#ifdef HAVE_XVMC
#include "xvmc_render.h"
#endif
@@ -105,11 +83,9 @@ static int lavc_param_skip_bottom=0;
static int lavc_param_fast=0;
static int lavc_param_lowres=0;
static char *lavc_param_lowres_str=NULL;
-#if LIBAVCODEC_BUILD >= 4758
static char *lavc_param_skip_loop_filter_str = NULL;
static char *lavc_param_skip_idct_str = NULL;
static char *lavc_param_skip_frame_str = NULL;
-#endif
static int lavc_param_threads=1;
static int lavc_param_bitexact=0;
@@ -128,17 +104,14 @@ m_option_t lavc_decode_opts_conf[]={
{"fast", &lavc_param_fast, CONF_TYPE_FLAG, 0, 0, CODEC_FLAG2_FAST, NULL},
#endif
{"lowres", &lavc_param_lowres_str, CONF_TYPE_STRING, 0, 0, 0, NULL},
-#if LIBAVCODEC_BUILD >= 4758
{"skiploopfilter", &lavc_param_skip_loop_filter_str, CONF_TYPE_STRING, 0, 0, 0, NULL},
{"skipidct", &lavc_param_skip_idct_str, CONF_TYPE_STRING, 0, 0, 0, NULL},
{"skipframe", &lavc_param_skip_frame_str, CONF_TYPE_STRING, 0, 0, 0, NULL},
-#endif
{"threads", &lavc_param_threads, CONF_TYPE_INT, CONF_RANGE, 1, 8, NULL},
{"bitexact", &lavc_param_bitexact, CONF_TYPE_FLAG, 0, 0, CODEC_FLAG_BITEXACT, NULL},
{NULL, NULL, 0, 0, 0, 0, NULL}
};
-#if LIBAVCODEC_BUILD >= 4758
static enum AVDiscard str2AVDiscard(char *str) {
if (!str)
return AVDISCARD_DEFAULT;
@@ -157,7 +130,6 @@ static enum AVDiscard str2AVDiscard(char *str) {
mp_msg(MSGT_DECVIDEO, MSGL_ERR, "Unknown discard value %s\n", str);
return AVDISCARD_DEFAULT;
}
-#endif
// to set/get/query special features/parameters
static int control(sh_video_t *sh,int cmd,void* arg,...){
@@ -200,9 +172,7 @@ static int init(sh_video_t *sh){
AVCodecContext *avctx;
vd_ffmpeg_ctx *ctx;
AVCodec *lavc_codec;
-#if LIBAVCODEC_BUILD >= 4722
int lowres_w=0;
-#endif
int do_vis_debug= lavc_param_vismv || (lavc_param_debug&(FF_DEBUG_VIS_MB_TYPE|FF_DEBUG_VIS_QP));
if(!avcodec_inited){
@@ -230,19 +200,10 @@ static int init(sh_video_t *sh){
ctx->b_age= ctx->ip_age[0]= ctx->ip_age[1]= 256*256*256*64;
ctx->ip_count= ctx->b_count= 0;
-#if LIBAVCODEC_BUILD >= 4645
ctx->pic = avcodec_alloc_frame();
-#else
- ctx->pic = avcodec_alloc_picture();
-#endif
ctx->avctx = avcodec_alloc_context();
avctx = ctx->avctx;
-#if LIBAVCODEC_BUILD >= 4691 && LIBAVCODEC_BUILD <= 4692
- if(lavc_codec->capabilities&CODEC_CAP_CR)
- avctx->cr_available = 1;
-#endif
-
#ifdef HAVE_XVMC
#ifdef CODEC_CAP_HWACCEL
@@ -265,9 +226,7 @@ static int init(sh_video_t *sh){
avctx->flags|= CODEC_FLAG_EMU_EDGE;
avctx->get_buffer= get_buffer;
avctx->release_buffer= release_buffer;
-#if LIBAVCODEC_BUILD >= 4693
avctx->reget_buffer= get_buffer;
-#endif
}
#ifdef CODEC_FLAG_NOT_TRUNCATED
@@ -284,24 +243,15 @@ static int init(sh_video_t *sh){
avctx->flags2|= lavc_param_fast;
#endif
avctx->codec_tag= sh->format;
-#if LIBAVCODEC_BUILD >= 4679
avctx->stream_codec_tag= sh->video.fccHandler;
-#endif
avctx->idct_algo= lavc_param_idct_algo;
avctx->error_concealment= lavc_param_error_concealment;
-#if LIBAVCODEC_BUILD >= 4642
avctx->debug= lavc_param_debug;
if (lavc_param_debug)
av_log_set_level(AV_LOG_DEBUG);
-#endif
-#if LIBAVCODEC_BUILD >= 4698
avctx->debug_mv= lavc_param_vismv;
-#endif
-#if LIBAVCODEC_BUILD >= 4717
avctx->skip_top = lavc_param_skip_top;
avctx->skip_bottom= lavc_param_skip_bottom;
-#endif
-#if LIBAVCODEC_BUILD >= 4722
if(lavc_param_lowres_str != NULL)
{
sscanf(lavc_param_lowres_str, "%d,%d", &lavc_param_lowres, &lowres_w);
@@ -309,12 +259,9 @@ static int init(sh_video_t *sh){
lavc_param_lowres = 0;
avctx->lowres = lavc_param_lowres;
}
-#endif
-#if LIBAVCODEC_BUILD >= 4758
avctx->skip_loop_filter = str2AVDiscard(lavc_param_skip_loop_filter_str);
avctx->skip_idct = str2AVDiscard(lavc_param_skip_idct_str);
avctx->skip_frame = str2AVDiscard(lavc_param_skip_frame_str);
-#endif
mp_dbg(MSGT_DECVIDEO,MSGL_DBG2,"libavcodec.size: %d x %d\n",avctx->width,avctx->height);
switch (sh->format) {
case mmioFOURCC('A','V','R','n'):
@@ -383,7 +330,6 @@ static int init(sh_video_t *sh){
break;
}
/* Pass palette to codec */
-#if LIBAVCODEC_BUILD >= 4689
if (sh->bih && (sh->bih->biBitCount <= 8)) {
avctx->palctrl = calloc(1,sizeof(AVPaletteControl));
avctx->palctrl->palette_changed = 1;
@@ -396,15 +342,12 @@ static int init(sh_video_t *sh){
memcpy(avctx->palctrl->palette, sh->bih+1,
min(sh->bih->biClrUsed * 4, AVPALETTE_SIZE));
}
-#endif
-
+
if(sh->bih)
avctx->bits_per_sample= sh->bih->biBitCount;
-#if LIBAVCODEC_BUILD >= 4716
if(lavc_param_threads > 1)
avcodec_thread_init(avctx, lavc_param_threads);
-#endif
/* open it */
if (avcodec_open(avctx, lavc_codec) < 0) {
mp_msg(MSGT_DECVIDEO,MSGL_ERR, MSGTR_CantOpenCodec);
@@ -435,9 +378,7 @@ static void uninit(sh_video_t *sh){
mp_msg(MSGT_DECVIDEO,MSGL_ERR, MSGTR_CantCloseCodec);
av_freep(&avctx->extradata);
-#if LIBAVCODEC_BUILD >= 4689
av_freep(&avctx->palctrl);
-#endif
av_freep(&avctx->slice_offset);
av_freep(&avctx);
@@ -447,11 +388,7 @@ static void uninit(sh_video_t *sh){
}
static void draw_slice(struct AVCodecContext *s,
-#if LIBAVCODEC_BUILD >= 4670
AVFrame *src, int offset[4],
-#else
- uint8_t **src, int linesize,
-#endif
int y, int type, int height){
sh_video_t * sh = s->opaque;
int start=0, i;
@@ -459,18 +396,7 @@ static void draw_slice(struct AVCodecContext *s,
int skip_stride= ((width<<lavc_param_lowres)+15)>>4;
uint8_t *skip= &s->coded_frame->mbskip_table[(y>>4)*skip_stride];
int threshold= s->coded_frame->age;
-#if LIBAVCODEC_BUILD >= 4670
uint8_t *source[3]= {src->data[0] + offset[0], src->data[1] + offset[1], src->data[2] + offset[2]};
-#else
- int stride[3];
-
- stride[0]=linesize;
- if(s->coded_frame->linesize[1]){
- stride[1]= s->coded_frame->linesize[1];
- stride[2]= s->coded_frame->linesize[2];
- }else
- stride[1]=stride[2]=stride[0]/2;
-#endif
#if 0
if(s->pict_type!=B_TYPE){
for(i=0; i*16<width+16; i++){
@@ -489,11 +415,7 @@ static void draw_slice(struct AVCodecContext *s,
}else
#endif
if (y < sh->disp_h) {
-#if LIBAVCODEC_BUILD >= 4670
mpcodecs_draw_slice (sh, source, src->linesize, sh->disp_w, (y+height)<=sh->disp_h?height:sh->disp_h-y, 0, y);
-#else
- mpcodecs_draw_slice (sh,src, stride, sh->disp_w, (y+height)<=sh->disp_h?height:sh->disp_h-y, 0, y);
-#endif
}
}
@@ -501,11 +423,7 @@ static void draw_slice(struct AVCodecContext *s,
static int init_vo(sh_video_t *sh, enum PixelFormat pix_fmt){
vd_ffmpeg_ctx *ctx = sh->context;
AVCodecContext *avctx = ctx->avctx;
-#if LIBAVCODEC_BUILD >= 4687
float aspect= av_q2d(avctx->sample_aspect_ratio) * avctx->width / avctx->height;
-#else
- float aspect= avctx->aspect_ratio;
-#endif
int width, height;
width = avctx->width;
@@ -582,7 +500,6 @@ static int get_buffer(AVCodecContext *avctx, AVFrame *pic){
if(avctx->pix_fmt == PIX_FMT_YUV410P)
align=63; //yes seriously, its really needed (16x16 chroma blocks in SVQ1 -> 64x64)
-#if LIBAVCODEC_BUILD >= 4691
if (pic->buffer_hints) {
mp_msg(MSGT_DECVIDEO,MSGL_DBG2, "Buffer hints: %u\n", pic->buffer_hints);
type = MP_IMGTYPE_TEMP;
@@ -600,7 +517,6 @@ static int get_buffer(AVCodecContext *avctx, AVFrame *pic){
MP_IMGFLAG_DRAW_CALLBACK:0;
mp_msg(MSGT_DECVIDEO,MSGL_DBG2, type == MP_IMGTYPE_STATIC ? "using STATIC\n" : "using TEMP\n");
} else {
-#endif
if(!pic->reference){
ctx->b_count++;
flags|=(!avctx->hurry_up && ctx->do_slices) ?
@@ -610,19 +526,15 @@ static int get_buffer(AVCodecContext *avctx, AVFrame *pic){
flags|= MP_IMGFLAG_PRESERVE|MP_IMGFLAG_READABLE
| (ctx->do_slices ? MP_IMGFLAG_DRAW_CALLBACK : 0);
}
-#if LIBAVCODEC_BUILD >= 4691
}
-#endif
if(init_vo(sh,avctx->pix_fmt) < 0){
avctx->release_buffer= avcodec_default_release_buffer;
avctx->get_buffer= avcodec_default_get_buffer;
return avctx->get_buffer(avctx, pic);
}
-
-#if LIBAVCODEC_BUILD >= 4691
+
if (!pic->buffer_hints) {
-#endif
if(ctx->b_count>1 || ctx->ip_count>2){
mp_msg(MSGT_DECVIDEO, MSGL_WARN, MSGTR_MPCODECS_DRIFailure);
@@ -637,9 +549,7 @@ static int get_buffer(AVCodecContext *avctx, AVFrame *pic){
type= MP_IMGTYPE_IP;
}
mp_msg(MSGT_DECVIDEO,MSGL_DBG2, type== MP_IMGTYPE_IPB ? "using IPB\n" : "using IP\n");
-#if LIBAVCODEC_BUILD >= 4691
}
-#endif
mpi= mpcodecs_get_image(sh,type, flags,
(width+align)&(~align), (height+align)&(~align));
@@ -652,11 +562,9 @@ static int get_buffer(AVCodecContext *avctx, AVFrame *pic){
} else
avctx->draw_horiz_band= NULL;
-#if LIBAVCODEC_BUILD >= 4689
// Palette support: libavcodec copies palette to *data[1]
if (mpi->bpp == 8)
mpi->planes[1] = av_malloc(AVPALETTE_SIZE);
-#endif
pic->data[0]= mpi->planes[0];
pic->data[1]= mpi->planes[1];
@@ -709,9 +617,7 @@ else
ctx->ip_age[1]++;
ctx->b_age=1;
}
-#if LIBAVCODEC_BUILD >= 4644
pic->type= FF_BUFFER_TYPE_USER;
-#endif
return 0;
}
@@ -734,12 +640,10 @@ static void release_buffer(struct AVCodecContext *avctx, AVFrame *pic){
if ( mpi && (mpi->bpp == 8))
av_freep(&mpi->planes[1]);
-#if LIBAVCODEC_BUILD >= 4644
if(pic->type!=FF_BUFFER_TYPE_USER){
avcodec_default_release_buffer(avctx, pic);
return;
}
-#endif
for(i=0; i<4; i++){
pic->data[i]= NULL;
@@ -770,16 +674,8 @@ static mp_image_t* decode(sh_video_t *sh,void* data,int len,int flags){
if(len<=0) return NULL; // skipped frame
-#if LIBAVCODEC_BUILD < 4707
-
-#ifdef HAVE_XVMC
- if( !avctx->xvmc_acceleration )
-#endif
-
-#else
//ffmpeg interlace (mpeg2) bug have been fixed. no need of -noslices
if (!dr1)
-#endif
avctx->draw_horiz_band=NULL;
avctx->opaque=sh;
if(ctx->vo_inited && !(flags&3) && !dr1){
@@ -825,7 +721,6 @@ static mp_image_t* decode(sh_video_t *sh,void* data,int len,int flags){
if(ret<0) mp_msg(MSGT_DECVIDEO,MSGL_WARN, "Error while decoding frame!\n");
//printf("repeat: %d\n", pic->repeat_pict);
//-- vstats generation
-#if LIBAVCODEC_BUILD >= 4643
while(lavc_param_vstats){ // always one time loop
static FILE *fvstats=NULL;
char filename[20];
@@ -896,7 +791,6 @@ static mp_image_t* decode(sh_video_t *sh,void* data,int len,int flags){
break;
}
-#endif
//--
if(!got_picture) return NULL; // skipped image
@@ -937,16 +831,12 @@ static mp_image_t* decode(sh_video_t *sh,void* data,int len,int flags){
mpi->qscale =pic->qscale_table;
mpi->qstride=pic->qstride;
mpi->pict_type=pic->pict_type;
-#if LIBAVCODEC_BUILD >= 4664
mpi->qscale_type= pic->qscale_type;
-#endif
-#if LIBAVCODEC_BUILD >= 4697
mpi->fields = MP_IMGFIELD_ORDERED;
if(pic->interlaced_frame) mpi->fields |= MP_IMGFIELD_INTERLACED;
if(pic->top_field_first ) mpi->fields |= MP_IMGFIELD_TOP_FIRST;
if(pic->repeat_pict == 1) mpi->fields |= MP_IMGFIELD_REPEAT_FIRST;
-#endif
-
+
return mpi;
}