#include <string.h>#include "libavutil/avassert.h"#include "avcodec.h"#include "dsputil.h"#include "mpegvideo.h"#include "mjpegenc.h"#include "msmpeg4.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 | |
| 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 src_x, int src_y, 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 void | mpeg_motion (MpegEncContext *s, uint8_t *dest_y, uint8_t *dest_cb, uint8_t *dest_cr, 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 | mpeg_motion_field (MpegEncContext *s, uint8_t *dest_y, uint8_t *dest_cb, uint8_t *dest_cr, 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 | |
| void | ff_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]) |
| #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().
| 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 | |||
| ) | [static] |
h263 chroma 4mv motion compensation.
Definition at line 550 of file mpegvideo_motion.c.
Referenced by MPV_motion_internal().
| void ff_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 at line 870 of file mpegvideo_motion.c.
Referenced by encode_mb_internal(), and MPV_decode_mb_internal().
| static void gmc1_motion | ( | MpegEncContext * | s, | |
| uint8_t * | dest_y, | |||
| uint8_t * | dest_cb, | |||
| uint8_t * | dest_cr, | |||
| uint8_t ** | ref_picture | |||
| ) | [static] |
| static void gmc_motion | ( | MpegEncContext * | s, | |
| uint8_t * | dest_y, | |||
| uint8_t * | dest_cb, | |||
| uint8_t * | dest_cr, | |||
| uint8_t ** | ref_picture | |||
| ) | [static] |
| static int hpel_motion | ( | MpegEncContext * | s, | |
| uint8_t * | dest, | |||
| uint8_t * | src, | |||
| int | src_x, | |||
| int | src_y, | |||
| op_pixels_func * | pix_op, | |||
| int | motion_x, | |||
| int | motion_y | |||
| ) | [inline, static] |
Definition at line 175 of file mpegvideo_motion.c.
Referenced by MPV_motion_internal(), and obmc_motion().
| 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] |
Definition at line 211 of file mpegvideo_motion.c.
Referenced by mpeg_motion(), and mpeg_motion_field().
| 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 625 of file mpegvideo_motion.c.
Referenced by ff_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 601 of file mpegvideo_motion.c.
| 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] |
1.5.8