imgresample.c File Reference


Detailed Description

High quality image resampling with polyphase filters .

Definition in file imgresample.c.

Go to the source code of this file.

Classes

struct  SwsContext
struct  ImgReSampleContext

Functions

void av_build_filter (int16_t *filter, double factor, int tap_count, int phase_count, int scale, int type)
static int get_phase (int pos)
static void h_resample_fast (uint8_t *dst, int dst_width, const uint8_t *src, int src_width, int src_start, int src_incr, int16_t *filters)
static void v_resample (uint8_t *dst, int dst_width, const uint8_t *src, int wrap, int16_t *filter)
static void h_resample_fast4_mmx (uint8_t *dst, int dst_width, const uint8_t *src, int src_width, int src_start, int src_incr, int16_t *filters)
static void v_resample4_mmx (uint8_t *dst, int dst_width, const uint8_t *src, int wrap, int16_t *filter)
static void h_resample_slow (uint8_t *dst, int dst_width, const uint8_t *src, int src_width, int src_start, int src_incr, int16_t *filters)
static void h_resample (uint8_t *dst, int dst_width, const uint8_t *src, int src_width, int src_start, int src_incr, int16_t *filters)
static void component_resample (ImgReSampleContext *s, uint8_t *output, int owrap, int owidth, int oheight, uint8_t *input, int iwrap, int iwidth, int iheight)
ImgReSampleContextimg_resample_init (int owidth, int oheight, int iwidth, int iheight)
ImgReSampleContextimg_resample_full_init (int owidth, int oheight, int iwidth, int iheight, int topBand, int bottomBand, int leftBand, int rightBand, int padtop, int padbottom, int padleft, int padright)
void img_resample (ImgReSampleContext *s, AVPicture *output, const AVPicture *input)
void img_resample_close (ImgReSampleContext *s)
struct SwsContextsws_getContext (int srcW, int srcH, int srcFormat, int dstW, int dstH, int dstFormat, int flags, SwsFilter *srcFilter, SwsFilter *dstFilter, double *param)
void sws_freeContext (struct SwsContext *ctx)
struct SwsContextsws_getCachedContext (struct SwsContext *ctx, int srcW, int srcH, int srcFormat, int dstW, int dstH, int dstFormat, int flags, SwsFilter *srcFilter, SwsFilter *dstFilter, double *param)
 Checks if context is valid or reallocs a new one instead.
int sws_scale (struct SwsContext *ctx, uint8_t *src[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t *dst[], int dstStride[])
void save_pgm (const char *filename, uint8_t *img, int xsize, int ysize)
static void dump_filter (int16_t *filter)
int main (int argc, char **argv)

Variables

uint8_t img [XSIZE *YSIZE]
uint8_t img1 [XSIZE1 *YSIZE1]
uint8_t img2 [XSIZE1 *YSIZE1]
int mm_flags


Function Documentation

void av_build_filter ( int16_t filter,
double  factor,
int  tap_count,
int  phase_count,
int  scale,
int  type 
)

static int get_phase ( int  pos  )  [inline, static]

Definition at line 69 of file imgresample.c.

Referenced by component_resample(), h_resample_fast(), and h_resample_slow().

static void h_resample_fast ( uint8_t *  dst,
int  dst_width,
const uint8_t *  src,
int  src_width,
int  src_start,
int  src_incr,
int16_t filters 
) [static]

Definition at line 75 of file imgresample.c.

Referenced by h_resample().

static void v_resample ( uint8_t *  dst,
int  dst_width,
const uint8_t *  src,
int  wrap,
int16_t filter 
) [static]

Definition at line 119 of file imgresample.c.

Referenced by component_resample().

static void h_resample_fast4_mmx ( uint8_t *  dst,
int  dst_width,
const uint8_t *  src,
int  src_width,
int  src_start,
int  src_incr,
int16_t filters 
) [static]

Definition at line 178 of file imgresample.c.

Referenced by h_resample().

static void v_resample4_mmx ( uint8_t *  dst,
int  dst_width,
const uint8_t *  src,
int  wrap,
int16_t filter 
) [static]

Definition at line 223 of file imgresample.c.

Referenced by component_resample().

static void h_resample_slow ( uint8_t *  dst,
int  dst_width,
const uint8_t *  src,
int  src_width,
int  src_start,
int  src_incr,
int16_t filters 
) [static]

Definition at line 289 of file imgresample.c.

Referenced by h_resample().

static void h_resample ( uint8_t *  dst,
int  dst_width,
const uint8_t *  src,
int  src_width,
int  src_start,
int  src_incr,
int16_t filters 
) [static]

Definition at line 325 of file imgresample.c.

Referenced by component_resample().

static void component_resample ( ImgReSampleContext s,
uint8_t *  output,
int  owrap,
int  owidth,
int  oheight,
uint8_t *  input,
int  iwrap,
int  iwidth,
int  iheight 
) [static]

Definition at line 362 of file imgresample.c.

Referenced by img_resample(), and main().

ImgReSampleContext* img_resample_init ( int  output_width,
int  output_height,
int  input_width,
int  input_height 
)

ImgReSampleContext* img_resample_full_init ( int  owidth,
int  oheight,
int  iwidth,
int  iheight,
int  topBand,
int  bottomBand,
int  leftBand,
int  rightBand,
int  padtop,
int  padbottom,
int  padleft,
int  padright 
)

Deprecated:
Use the software scaler (swscale) instead.

Definition at line 434 of file imgresample.c.

Referenced by img_resample_init(), main(), and Transcode::TranscodeFile().

void img_resample ( struct ImgReSampleContext s,
AVPicture output,
const AVPicture input 
)

void img_resample_close ( struct ImgReSampleContext s  ) 

struct SwsContext* sws_getContext ( int  srcW,
int  srcH,
int  srcFormat,
int  dstW,
int  dstH,
int  dstFormat,
int  flags,
SwsFilter srcFilter,
SwsFilter dstFilter,
double *  param 
) [read]

Definition at line 515 of file imgresample.c.

Referenced by doTest(), main(), and sws_getCachedContext().

void sws_freeContext ( struct SwsContext ctx  ) 

Definition at line 549 of file imgresample.c.

Referenced by doTest(), and sws_getCachedContext().

struct SwsContext* sws_getCachedContext ( struct SwsContext ctx,
int  srcW,
int  srcH,
int  srcFormat,
int  dstW,
int  dstH,
int  dstFormat,
int  flags,
SwsFilter srcFilter,
SwsFilter dstFilter,
double *  param 
) [read]

Checks if context is valid or reallocs a new one instead.

If context is NULL, just calls sws_getContext() to get a new one. Otherwise, checks if the parameters are the same already saved in context. If that is the case, returns the current context. Otherwise, frees context and gets a new one.

Be warned that srcFilter, dstFilter are not checked, they are asumed to remain valid.

Definition at line 574 of file imgresample.c.

int sws_scale ( struct SwsContext ctx,
uint8_t *  src[],
int  srcStride[],
int  srcSliceY,
int  srcSliceH,
uint8_t *  dst[],
int  dstStride[] 
)

Definition at line 599 of file imgresample.c.

Referenced by doTest(), main(), and sws_scale_ordered().

void save_pgm ( const char *  filename,
uint8_t *  img,
int  xsize,
int  ysize 
)

Definition at line 708 of file imgresample.c.

Referenced by main().

static void dump_filter ( int16_t filter  )  [static]

Definition at line 719 of file imgresample.c.

Referenced by main().

int main ( int  argc,
char **  argv 
)

Definition at line 736 of file imgresample.c.


Variable Documentation

uint8_t img[XSIZE *YSIZE]

uint8_t img1[XSIZE1 *YSIZE1]

Definition at line 705 of file imgresample.c.

Referenced by main(), and test_motion().

uint8_t img2[XSIZE1 *YSIZE1]

Definition at line 706 of file imgresample.c.

Referenced by main(), and test_motion().

int mm_flags

Definition at line 733 of file imgresample.c.


Generated on Sat Dec 18 05:15:53 2010 for MythTV by  doxygen 1.5.5