On 29/04/14 11:17, Anton Khirnov wrote:
> This should reduce the frequency with which the offsets need to be
> updated.
> ---
> libavcodec/arm/asm-offsets.h | 12 ++++++------
> 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 fdc33ce..0ea2f04 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 709914b..324d9ea 100644
> --- a/libavcodec/mpegvideo.h
> +++ b/libavcodec/mpegvideo.h
> @@ -196,6 +196,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
> @@ -242,20 +257,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
>
Looks fine to me.
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel