#include <string.h>
#include "avcodec.h"
#include "dsputil.h"
#include "mpegvideo.h"
#include "mjpegenc.h"
#include "msmpeg4.h"
#include "faandct.h"
#include <limits.h>
Go to the source code of this file.
Defines | |
#define | OBMC_FILTER(x, t, l, m, r, b) dst[x]= (t*top[x] + l*left[x] + m*mid[x] + r*right[x] + b*bottom[x] + 4)>>3 |
#define | OBMC_FILTER4(x, t, l, m, r, b) |
#define | MID 0 |
Functions | |
int | dct_quantize_c (MpegEncContext *s, DCTELEM *block, int n, int qscale, int *overflow) |
int | alloc_picture (MpegEncContext *s, Picture *pic, int shared) |
allocates a Picture The pixels are allocated/set by calling get_buffer() if shared=0 | |
void | MPV_common_defaults (MpegEncContext *s) |
sets the given MpegEncContext to common defaults (same for encoding and decoding). | |
static void | gmc1_motion (MpegEncContext *s, uint8_t *dest_y, uint8_t *dest_cb, uint8_t *dest_cr, uint8_t **ref_picture) |
static void | gmc_motion (MpegEncContext *s, uint8_t *dest_y, uint8_t *dest_cb, uint8_t *dest_cr, uint8_t **ref_picture) |
static int | hpel_motion (MpegEncContext *s, uint8_t *dest, uint8_t *src, int field_based, int field_select, int src_x, int src_y, int width, int height, int stride, int h_edge_pos, int v_edge_pos, int w, int h, op_pixels_func *pix_op, int motion_x, int motion_y) |
static av_always_inline void | mpeg_motion_internal (MpegEncContext *s, uint8_t *dest_y, uint8_t *dest_cb, uint8_t *dest_cr, int field_based, int bottom_field, int field_select, uint8_t **ref_picture, op_pixels_func(*pix_op)[4], int motion_x, int motion_y, int h, int is_mpeg12, int mb_y) |
static av_always_inline void | mpeg_motion (MpegEncContext *s, uint8_t *dest_y, uint8_t *dest_cb, uint8_t *dest_cr, int field_based, int bottom_field, int field_select, uint8_t **ref_picture, op_pixels_func(*pix_op)[4], int motion_x, int motion_y, int h, int mb_y) |
static void | put_obmc (uint8_t *dst, uint8_t *src[5], int stride) |
static void | obmc_motion (MpegEncContext *s, uint8_t *dest, uint8_t *src, int src_x, int src_y, op_pixels_func *pix_op, int16_t mv[5][2]) |
static void | qpel_motion (MpegEncContext *s, uint8_t *dest_y, uint8_t *dest_cb, uint8_t *dest_cr, int field_based, int bottom_field, int field_select, uint8_t **ref_picture, op_pixels_func(*pix_op)[4], qpel_mc_func(*qpix_op)[16], int motion_x, int motion_y, int h) |
static void | chroma_4mv_motion (MpegEncContext *s, uint8_t *dest_cb, uint8_t *dest_cr, uint8_t **ref_picture, op_pixels_func *pix_op, int mx, int my) |
h263 chroma 4mv motion compensation. | |
static void | prefetch_motion (MpegEncContext *s, uint8_t **pix, int dir) |
static av_always_inline void | MPV_motion_internal (MpegEncContext *s, uint8_t *dest_y, uint8_t *dest_cb, uint8_t *dest_cr, int dir, uint8_t **ref_picture, op_pixels_func(*pix_op)[4], qpel_mc_func(*qpix_op)[16], int is_mpeg12) |
motion compensation of a single macroblock | |
static void | MPV_motion (MpegEncContext *s, uint8_t *dest_y, uint8_t *dest_cb, uint8_t *dest_cr, int dir, uint8_t **ref_picture, op_pixels_func(*pix_op)[4], qpel_mc_func(*qpix_op)[16]) |
Definition in file mpegvideo_common.h.
#define MID 0 |
Referenced by obmc_motion().
#define OBMC_FILTER | ( | x, | |||
t, | |||||
l, | |||||
m, | |||||
r, | |||||
b | ) | dst[x]= (t*top[x] + l*left[x] + m*mid[x] + r*right[x] + b*bottom[x] + 4)>>3 |
Referenced by put_obmc().
#define OBMC_FILTER4 | ( | x, | |||
t, | |||||
l, | |||||
m, | |||||
r, | |||||
b | ) |
Value:
OBMC_FILTER(x , t, l, m, r, b);\ OBMC_FILTER(x+1 , t, l, m, r, b);\ OBMC_FILTER(x +stride, t, l, m, r, b);\ OBMC_FILTER(x+1+stride, t, l, m, r, b);
Referenced by put_obmc().
int alloc_picture | ( | MpegEncContext * | s, | |
Picture * | pic, | |||
int | shared | |||
) |
allocates a Picture The pixels are allocated/set by calling get_buffer() if shared=0
static void chroma_4mv_motion | ( | MpegEncContext * | s, | |
uint8_t * | dest_cb, | |||
uint8_t * | dest_cr, | |||
uint8_t ** | ref_picture, | |||
op_pixels_func * | pix_op, | |||
int | mx, | |||
int | my | |||
) | [inline, static] |
h263 chroma 4mv motion compensation.
Definition at line 562 of file mpegvideo_common.h.
Referenced by MPV_motion_internal().
int dct_quantize_c | ( | MpegEncContext * | s, | |
DCTELEM * | block, | |||
int | n, | |||
int | qscale, | |||
int * | overflow | |||
) |
Definition at line 3693 of file mpegvideo_enc.c.
static void gmc1_motion | ( | MpegEncContext * | s, | |
uint8_t * | dest_y, | |||
uint8_t * | dest_cb, | |||
uint8_t * | dest_cr, | |||
uint8_t ** | ref_picture | |||
) | [inline, static] |
static void gmc_motion | ( | MpegEncContext * | s, | |
uint8_t * | dest_y, | |||
uint8_t * | dest_cb, | |||
uint8_t * | dest_cr, | |||
uint8_t ** | ref_picture | |||
) | [inline, static] |
static int hpel_motion | ( | MpegEncContext * | s, | |
uint8_t * | dest, | |||
uint8_t * | src, | |||
int | field_based, | |||
int | field_select, | |||
int | src_x, | |||
int | src_y, | |||
int | width, | |||
int | height, | |||
int | stride, | |||
int | h_edge_pos, | |||
int | v_edge_pos, | |||
int | w, | |||
int | h, | |||
op_pixels_func * | pix_op, | |||
int | motion_x, | |||
int | motion_y | |||
) | [inline, static] |
Definition at line 198 of file mpegvideo_common.h.
Referenced by MPV_motion_internal(), and obmc_motion().
static av_always_inline void mpeg_motion | ( | MpegEncContext * | s, | |
uint8_t * | dest_y, | |||
uint8_t * | dest_cb, | |||
uint8_t * | dest_cr, | |||
int | field_based, | |||
int | bottom_field, | |||
int | field_select, | |||
uint8_t ** | ref_picture, | |||
op_pixels_func(*) | pix_op[4], | |||
int | motion_x, | |||
int | motion_y, | |||
int | h, | |||
int | mb_y | |||
) | [static] |
static av_always_inline void mpeg_motion_internal | ( | MpegEncContext * | s, | |
uint8_t * | dest_y, | |||
uint8_t * | dest_cb, | |||
uint8_t * | dest_cr, | |||
int | field_based, | |||
int | bottom_field, | |||
int | field_select, | |||
uint8_t ** | ref_picture, | |||
op_pixels_func(*) | pix_op[4], | |||
int | motion_x, | |||
int | motion_y, | |||
int | h, | |||
int | is_mpeg12, | |||
int | mb_y | |||
) | [static] |
void MPV_common_defaults | ( | MpegEncContext * | s | ) |
sets the given MpegEncContext to common defaults (same for encoding and decoding).
the changed fields will not depend upon the prior state of the MpegEncContext.
Definition at line 542 of file mpegvideo.c.
Referenced by MPV_decode_defaults(), and MPV_encode_defaults().
static void MPV_motion | ( | MpegEncContext * | s, | |
uint8_t * | dest_y, | |||
uint8_t * | dest_cb, | |||
uint8_t * | dest_cr, | |||
int | dir, | |||
uint8_t ** | ref_picture, | |||
op_pixels_func(*) | pix_op[4], | |||
qpel_mc_func(*) | qpix_op[16] | |||
) | [inline, static] |
Definition at line 884 of file mpegvideo_common.h.
Referenced by encode_mb_internal(), and MPV_decode_mb_internal().
static av_always_inline void MPV_motion_internal | ( | MpegEncContext * | s, | |
uint8_t * | dest_y, | |||
uint8_t * | dest_cb, | |||
uint8_t * | dest_cr, | |||
int | dir, | |||
uint8_t ** | ref_picture, | |||
op_pixels_func(*) | pix_op[4], | |||
qpel_mc_func(*) | qpix_op[16], | |||
int | is_mpeg12 | |||
) | [static] |
motion compensation of a single macroblock
s | context | |
dest_y | luma destination pointer | |
dest_cb | chroma cb/u destination pointer | |
dest_cr | chroma cr/v destination pointer | |
dir | direction (0->forward, 1->backward) | |
ref_picture | array[3] of pointers to the 3 planes of the reference picture | |
pix_op | halfpel motion compensation function (average or put normally) | |
qpix_op | qpel motion compensation function (average or put normally) the motion vectors are taken from s->mv and the MV type from s->mv_type |
Definition at line 636 of file mpegvideo_common.h.
Referenced by MPV_motion().
static void obmc_motion | ( | MpegEncContext * | s, | |
uint8_t * | dest, | |||
uint8_t * | src, | |||
int | src_x, | |||
int | src_y, | |||
op_pixels_func * | pix_op, | |||
int16_t | mv[5][2] | |||
) | [inline, static] |
static void prefetch_motion | ( | MpegEncContext * | s, | |
uint8_t ** | pix, | |||
int | dir | |||
) | [inline, static] |
Definition at line 612 of file mpegvideo_common.h.
static void put_obmc | ( | uint8_t * | dst, | |
uint8_t * | src[5], | |||
int | stride | |||
) | [inline, static] |
static void qpel_motion | ( | MpegEncContext * | s, | |
uint8_t * | dest_y, | |||
uint8_t * | dest_cb, | |||
uint8_t * | dest_cr, | |||
int | field_based, | |||
int | bottom_field, | |||
int | field_select, | |||
uint8_t ** | ref_picture, | |||
op_pixels_func(*) | pix_op[4], | |||
qpel_mc_func(*) | qpix_op[16], | |||
int | motion_x, | |||
int | motion_y, | |||
int | h | |||
) | [inline, static] |