[FFmpeg-cvslog] dsputil: Move ff_block_permute to mpegvideo_enc
Diego Biurrun
git at videolan.org
Sat Feb 9 11:49:31 CET 2013
ffmpeg | branch: master | Diego Biurrun <diego at biurrun.de> | Thu Feb 7 21:04:32 2013 +0100| [0b016eb99d38738e2c53e36549a4732a0f863b2e] | committer: Diego Biurrun
dsputil: Move ff_block_permute to mpegvideo_enc
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=0b016eb99d38738e2c53e36549a4732a0f863b2e
---
libavcodec/dsputil.c | 29 -----------------------------
libavcodec/dsputil.h | 6 ------
libavcodec/mpegvideo.c | 29 +++++++++++++++++++++++++++++
libavcodec/mpegvideo.h | 6 ++++++
4 files changed, 35 insertions(+), 35 deletions(-)
diff --git a/libavcodec/dsputil.c b/libavcodec/dsputil.c
index 1c8aae7..fac51bc 100644
--- a/libavcodec/dsputil.c
+++ b/libavcodec/dsputil.c
@@ -1704,35 +1704,6 @@ static void add_8x8basis_c(int16_t rem[64], int16_t basis[64], int scale){
}
}
-/**
- * Permute an 8x8 block.
- * @param block the block which will be permuted according to the given permutation vector
- * @param permutation the permutation vector
- * @param last the last non zero coefficient in scantable order, used to speed the permutation up
- * @param scantable the used scantable, this is only used to speed the permutation up, the block is not
- * (inverse) permutated to scantable order!
- */
-void ff_block_permute(int16_t *block, uint8_t *permutation, const uint8_t *scantable, int last)
-{
- int i;
- int16_t temp[64];
-
- if(last<=0) return;
- //if(permutation[1]==1) return; //FIXME it is ok but not clean and might fail for some permutations
-
- for(i=0; i<=last; i++){
- const int j= scantable[i];
- temp[j]= block[j];
- block[j]=0;
- }
-
- for(i=0; i<=last; i++){
- const int j= scantable[i];
- const int perm_j= permutation[j];
- block[perm_j]= temp[j];
- }
-}
-
static int zero_cmp(void *s, uint8_t *a, uint8_t *b, int stride, int h){
return 0;
}
diff --git a/libavcodec/dsputil.h b/libavcodec/dsputil.h
index ef3b39b..8898ece 100644
--- a/libavcodec/dsputil.h
+++ b/libavcodec/dsputil.h
@@ -435,12 +435,6 @@ void ff_dsputil_init(DSPContext* p, AVCodecContext *avctx);
int ff_check_alignment(void);
-/**
- * permute block according to permuatation.
- * @param last last non zero element in scantable order
- */
-void ff_block_permute(int16_t *block, uint8_t *permutation, const uint8_t *scantable, int last);
-
void ff_set_cmp(DSPContext* c, me_cmp_func *cmp, int type);
#define BYTE_VEC32(c) ((c)*0x01010101UL)
diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c
index a64906f..4b68fd5 100644
--- a/libavcodec/mpegvideo.c
+++ b/libavcodec/mpegvideo.c
@@ -2499,6 +2499,35 @@ void ff_init_block_index(MpegEncContext *s){ //FIXME maybe rename
}
}
+/**
+ * Permute an 8x8 block.
+ * @param block the block which will be permuted according to the given permutation vector
+ * @param permutation the permutation vector
+ * @param last the last non zero coefficient in scantable order, used to speed the permutation up
+ * @param scantable the used scantable, this is only used to speed the permutation up, the block is not
+ * (inverse) permutated to scantable order!
+ */
+void ff_block_permute(int16_t *block, uint8_t *permutation, const uint8_t *scantable, int last)
+{
+ int i;
+ int16_t temp[64];
+
+ if(last<=0) return;
+ //if(permutation[1]==1) return; //FIXME it is ok but not clean and might fail for some permutations
+
+ for(i=0; i<=last; i++){
+ const int j= scantable[i];
+ temp[j]= block[j];
+ block[j]=0;
+ }
+
+ for(i=0; i<=last; i++){
+ const int j= scantable[i];
+ const int perm_j= permutation[j];
+ block[perm_j]= temp[j];
+ }
+}
+
void ff_mpeg_flush(AVCodecContext *avctx){
int i;
MpegEncContext *s = avctx->priv_data;
diff --git a/libavcodec/mpegvideo.h b/libavcodec/mpegvideo.h
index 1294d0c..f3f9827 100644
--- a/libavcodec/mpegvideo.h
+++ b/libavcodec/mpegvideo.h
@@ -815,6 +815,12 @@ int ff_alloc_picture(MpegEncContext *s, Picture *pic, int shared);
extern const enum AVPixelFormat ff_pixfmt_list_420[];
extern const enum AVPixelFormat ff_hwaccel_pixfmt_list_420[];
+/**
+ * permute block according to permuatation.
+ * @param last last non zero element in scantable order
+ */
+void ff_block_permute(int16_t *block, uint8_t *permutation, const uint8_t *scantable, int last);
+
static inline void ff_update_block_index(MpegEncContext *s){
const int block_size = 8;
More information about the ffmpeg-cvslog
mailing list