diff options
author | Aurelien Jacobs <aurel@gnuage.org> | 2008-03-04 10:26:56 +0000 |
---|---|---|
committer | Aurelien Jacobs <aurel@gnuage.org> | 2008-03-04 10:26:56 +0000 |
commit | 4c79b95c32ec9d44af48a5a52c7390b84c52928c (patch) | |
tree | 8e49f50e35eb1b8f934ab9ab462067d493846c35 | |
parent | 675b8390f61e17ea076811324719f6b135c295ab (diff) | |
download | ffmpeg-4c79b95c32ec9d44af48a5a52c7390b84c52928c.tar.gz |
move ff_init_scantable() into dsputil
Originally committed as revision 12311 to svn://svn.ffmpeg.org/ffmpeg/trunk
-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 af6341a729..9e69bf7ae3 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 dc930431d8..ad258666c6 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 18b4a57dc2..1c2c385f04 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 37c60ca573..69be9dfca4 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); |