diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2014-04-30 00:22:53 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2014-04-30 00:23:01 +0200 |
commit | 8b30702c44040c13abe759fa48673af7af417de9 (patch) | |
tree | f3d58ef363dc00431305f6aa63a6febf4a049d23 | |
parent | ed72dae4cf80a3087f6ca050bc34facd1be3f98f (diff) | |
parent | 6a13505c069890cb0e2a07e29fd819a0cf2e73c1 (diff) | |
download | ffmpeg-8b30702c44040c13abe759fa48673af7af417de9.tar.gz |
Merge commit '6a13505c069890cb0e2a07e29fd819a0cf2e73c1'
* commit '6a13505c069890cb0e2a07e29fd819a0cf2e73c1':
mpegvideo: move the MpegEncContext fields used from arm asm to the beginning
Merged-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r-- | libavcodec/arm/asm-offsets.h | 12 | ||||
-rw-r--r-- | libavcodec/mpegvideo.h | 29 |
2 files changed, 21 insertions, 20 deletions
diff --git a/libavcodec/arm/asm-offsets.h b/libavcodec/arm/asm-offsets.h index 37a67975fd..a2174b0a08 100644 --- a/libavcodec/arm/asm-offsets.h +++ b/libavcodec/arm/asm-offsets.h @@ -22,11 +22,11 @@ #define AVCODEC_ARM_ASM_OFFSETS_H /* MpegEncContext */ -#define Y_DC_SCALE 0xa8 -#define C_DC_SCALE 0xac -#define AC_PRED 0xb0 -#define BLOCK_LAST_INDEX 0xb4 -#define H263_AIC 0xe4 -#define INTER_SCANTAB_RASTER_END 0x12c +#define Y_DC_SCALE 0x04 +#define C_DC_SCALE 0x08 +#define AC_PRED 0x0c +#define BLOCK_LAST_INDEX 0x10 +#define H263_AIC 0x40 +#define INTER_SCANTAB_RASTER_END 0x88 #endif /* AVCODEC_ARM_ASM_OFFSETS_H */ diff --git a/libavcodec/mpegvideo.h b/libavcodec/mpegvideo.h index b4a3b3ee4a..959b927011 100644 --- a/libavcodec/mpegvideo.h +++ b/libavcodec/mpegvideo.h @@ -201,6 +201,21 @@ typedef struct MotionEstContext{ */ typedef struct MpegEncContext { AVClass *class; + + int y_dc_scale, c_dc_scale; + int ac_pred; + int block_last_index[12]; ///< last non zero coefficient in block + int h263_aic; ///< Advanded INTRA Coding (AIC) + + /* scantables */ + ScanTable inter_scantable; ///< if inter == intra then intra should be used to reduce tha cache usage + ScanTable intra_scantable; + ScanTable intra_h_scantable; + ScanTable intra_v_scantable; + + /* WARNING: changes above this line require updates to hardcoded + * offsets used in asm. */ + struct AVCodecContext *avctx; /* the following parameters must be initialized before encoding */ int width, height;///< picture size. must be a multiple of 16 @@ -247,20 +262,6 @@ typedef struct MpegEncContext { Picture **input_picture; ///< next pictures on display order for encoding Picture **reordered_input_picture; ///< pointer to the next pictures in codedorder for encoding - int y_dc_scale, c_dc_scale; - int ac_pred; - int block_last_index[12]; ///< last non zero coefficient in block - int h263_aic; ///< Advanded INTRA Coding (AIC) - - /* scantables */ - ScanTable inter_scantable; ///< if inter == intra then intra should be used to reduce tha cache usage - ScanTable intra_scantable; - ScanTable intra_h_scantable; - ScanTable intra_v_scantable; - - /* WARNING: changes above this line require updates to hardcoded - * offsets used in asm. */ - int64_t user_specified_pts; ///< last non-zero pts from AVFrame which was passed into avcodec_encode_video2() /** * pts difference between the first and second input frame, used for |