cbp.c
上传用户:sun1608
上传日期:2007-02-02
资源大小:6116k
文件大小:1k
源码类别:

流媒体/Mpeg4/MP4

开发平台:

Visual C++

  1. #include "../portab.h"
  2. #include "cbp.h"
  3. cbpFuncPtr calc_cbp;
  4. /*
  5.  * Returns a field of bits that indicates non zero ac blocks
  6.  * for this macro block
  7.  */
  8. uint32_t calc_cbp_c(const int16_t codes[6*64])
  9. {
  10. uint32_t i, j;
  11. uint32_t cbp = 0;
  12. for (i = 0; i < 6; i++)
  13. {
  14. for (j = 1; j < 61; j+=4)
  15. {
  16. if (codes[i*64 + j    ]|codes[i*64 + j + 1]|
  17.     codes[i*64 + j + 2]|codes[i*64 + j + 3])
  18. {
  19. cbp |= 1 << (5 - i);
  20. break;
  21. }
  22. }
  23. if(codes[i*64 + j]|codes[i*64 + j + 1]|codes[i*64 + j + 2])
  24. cbp |= 1 << (5 - i);
  25. }
  26. return cbp;
  27. }