diff options
-rw-r--r-- | libavcodec/dsputil.c | 24 | ||||
-rw-r--r-- | libavcodec/dsputil.h | 15 | ||||
-rw-r--r-- | libavcodec/mpegvideo.c | 23 | ||||
-rw-r--r-- | libavcodec/mpegvideo.h | 14 |
4 files changed, 39 insertions, 37 deletions
diff --git a/libavcodec/dsputil.c b/libavcodec/dsputil.c index af6341a..9e69bf7 100644 --- a/libavcodec/dsputil.c +++ b/libavcodec/dsputil.c @@ -152,6 +152,30 @@ static const uint8_t simple_mmx_permutation[64]={ 0x32, 0x3A, 0x36, 0x3B, 0x33, 0x3E, 0x37, 0x3F, }; +void ff_init_scantable(uint8_t *permutation, ScanTable *st, const uint8_t *src_scantable){ + int i; + int end; + + st->scantable= src_scantable; + + for(i=0; i<64; i++){ + int j; + j = src_scantable[i]; + st->permutated[i] = permutation[j]; +#ifdef ARCH_POWERPC + st->inverse[j] = i; +#endif + } + + end=-1; + for(i=0; i<64; i++){ + int j; + j = st->permutated[i]; + if(j>end) end=j; + st->raster_end[i]= end; + } +} + static int pix_sum_c(uint8_t * pix, int line_size) { int s, i, j; diff --git a/libavcodec/dsputil.h b/libavcodec/dsputil.h index dc93043..ad25866 100644 --- a/libavcodec/dsputil.h +++ b/libavcodec/dsputil.h @@ -154,6 +154,21 @@ typedef int (*me_cmp_func)(void /*MpegEncContext*/ *s, uint8_t *blk1/*align widt typedef struct slice_buffer_s slice_buffer; /** + * Scantable. + */ +typedef struct ScanTable{ + const uint8_t *scantable; + uint8_t permutated[64]; + uint8_t raster_end[64]; +#ifdef ARCH_POWERPC + /** Used by dct_quantize_altivec to find last-non-zero */ + DECLARE_ALIGNED_8(uint8_t, inverse[64]); +#endif +} ScanTable; + +void ff_init_scantable(uint8_t *, ScanTable *st, const uint8_t *src_scantable); + +/** * DSPContext. */ typedef struct DSPContext { diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c index 18b4a57..1c2c385 100644 --- a/libavcodec/mpegvideo.c +++ b/libavcodec/mpegvideo.c @@ -70,29 +70,6 @@ static const uint8_t ff_default_chroma_qscale_table[32]={ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31 }; -void ff_init_scantable(uint8_t *permutation, ScanTable *st, const uint8_t *src_scantable){ - int i; - int end; - - st->scantable= src_scantable; - - for(i=0; i<64; i++){ - int j; - j = src_scantable[i]; - st->permutated[i] = permutation[j]; -#ifdef ARCH_POWERPC - st->inverse[j] = i; -#endif - } - - end=-1; - for(i=0; i<64; i++){ - int j; - j = st->permutated[i]; - if(j>end) end=j; - st->raster_end[i]= end; - } -} const uint8_t *ff_find_start_code(const uint8_t * restrict p, const uint8_t *end, uint32_t * restrict state){ int i; diff --git a/libavcodec/mpegvideo.h b/libavcodec/mpegvideo.h index 37c60ca..69be9df 100644 --- a/libavcodec/mpegvideo.h +++ b/libavcodec/mpegvideo.h @@ -87,19 +87,6 @@ enum OutputFormat { #define USER_START_CODE 0x000001b2 /** - * Scantable. - */ -typedef struct ScanTable{ - const uint8_t *scantable; - uint8_t permutated[64]; - uint8_t raster_end[64]; -#ifdef ARCH_POWERPC - /** Used by dct_quantize_altivec to find last-non-zero */ - DECLARE_ALIGNED_8(uint8_t, inverse[64]); -#endif -} ScanTable; - -/** * Picture. */ typedef struct Picture{ @@ -707,7 +694,6 @@ void MPV_common_init_armv4l(MpegEncContext *s); void MPV_common_init_altivec(MpegEncContext *s); extern void (*draw_edges)(uint8_t *buf, int wrap, int width, int height, int w); void ff_clean_intra_table_entries(MpegEncContext *s); -void ff_init_scantable(uint8_t *, ScanTable *st, const uint8_t *src_scantable); void ff_draw_horiz_band(MpegEncContext *s, int y, int h); void ff_emulated_edge_mc(uint8_t *buf, uint8_t *src, int linesize, int block_w, int block_h, int src_x, int src_y, int w, int h); |