aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2014-04-30 00:22:53 +0200
committerMichael Niedermayer <michaelni@gmx.at>2014-04-30 00:23:01 +0200
commit8b30702c44040c13abe759fa48673af7af417de9 (patch)
treef3d58ef363dc00431305f6aa63a6febf4a049d23
parented72dae4cf80a3087f6ca050bc34facd1be3f98f (diff)
parent6a13505c069890cb0e2a07e29fd819a0cf2e73c1 (diff)
downloadffmpeg-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.h12
-rw-r--r--libavcodec/mpegvideo.h29
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