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

Reply via email to