summaryrefslogtreecommitdiff
path: root/libavcodec/h264_cavlc.c
diff options
context:
space:
mode:
authorDiego Biurrun <diego@biurrun.de>2013-08-19 14:24:45 +0200
committerDiego Biurrun <diego@biurrun.de>2016-03-25 15:56:14 +0100
commita7da517f6a5c472f46f67dd33bb6b95ccc919923 (patch)
tree4d81c15ee42203fc381ffba5f763e1e8278723a4 /libavcodec/h264_cavlc.c
parentf4d581cda3897f66c1dda7586b93f86a591dbbef (diff)
h264data: Move all data tables from a header to a .c file
Diffstat (limited to 'libavcodec/h264_cavlc.c')
-rw-r--r--libavcodec/h264_cavlc.c35
1 files changed, 19 insertions, 16 deletions
diff --git a/libavcodec/h264_cavlc.c b/libavcodec/h264_cavlc.c
index 636b5f6182..45a838603e 100644
--- a/libavcodec/h264_cavlc.c
+++ b/libavcodec/h264_cavlc.c
@@ -30,8 +30,8 @@
#include "internal.h"
#include "avcodec.h"
#include "h264.h"
-#include "h264data.h" // FIXME FIXME FIXME
#include "h264_mvpred.h"
+#include "h264data.h"
#include "golomb.h"
#include "mpegutils.h"
@@ -733,16 +733,16 @@ int ff_h264_decode_mb_cavlc(const H264Context *h, H264SliceContext *sl)
mb_type= get_ue_golomb(&sl->gb);
if (sl->slice_type_nos == AV_PICTURE_TYPE_B) {
if(mb_type < 23){
- partition_count= b_mb_type_info[mb_type].partition_count;
- mb_type= b_mb_type_info[mb_type].type;
+ partition_count = ff_h264_b_mb_type_info[mb_type].partition_count;
+ mb_type = ff_h264_b_mb_type_info[mb_type].type;
}else{
mb_type -= 23;
goto decode_intra_mb;
}
} else if (sl->slice_type_nos == AV_PICTURE_TYPE_P) {
if(mb_type < 5){
- partition_count= p_mb_type_info[mb_type].partition_count;
- mb_type= p_mb_type_info[mb_type].type;
+ partition_count = ff_h264_p_mb_type_info[mb_type].partition_count;
+ mb_type = ff_h264_p_mb_type_info[mb_type].type;
}else{
mb_type -= 5;
goto decode_intra_mb;
@@ -757,9 +757,9 @@ decode_intra_mb:
return -1;
}
partition_count=0;
- cbp= i_mb_type_info[mb_type].cbp;
- sl->intra16x16_pred_mode = i_mb_type_info[mb_type].pred_mode;
- mb_type= i_mb_type_info[mb_type].type;
+ cbp = ff_h264_i_mb_type_info[mb_type].cbp;
+ sl->intra16x16_pred_mode = ff_h264_i_mb_type_info[mb_type].pred_mode;
+ mb_type = ff_h264_i_mb_type_info[mb_type].type;
}
if (MB_FIELD(sl))
@@ -843,8 +843,8 @@ decode_intra_mb:
av_log(h->avctx, AV_LOG_ERROR, "B sub_mb_type %u out of range at %d %d\n", sl->sub_mb_type[i], sl->mb_x, sl->mb_y);
return -1;
}
- sub_partition_count[i]= b_sub_mb_type_info[ sl->sub_mb_type[i] ].partition_count;
- sl->sub_mb_type[i]= b_sub_mb_type_info[ sl->sub_mb_type[i] ].type;
+ sub_partition_count[i] = ff_h264_b_sub_mb_type_info[sl->sub_mb_type[i]].partition_count;
+ sl->sub_mb_type[i] = ff_h264_b_sub_mb_type_info[sl->sub_mb_type[i]].type;
}
if( IS_DIRECT(sl->sub_mb_type[0]|sl->sub_mb_type[1]|sl->sub_mb_type[2]|sl->sub_mb_type[3])) {
ff_h264_pred_direct_motion(h, sl, &mb_type);
@@ -861,8 +861,8 @@ decode_intra_mb:
av_log(h->avctx, AV_LOG_ERROR, "P sub_mb_type %u out of range at %d %d\n", sl->sub_mb_type[i], sl->mb_x, sl->mb_y);
return -1;
}
- sub_partition_count[i]= p_sub_mb_type_info[ sl->sub_mb_type[i] ].partition_count;
- sl->sub_mb_type[i]= p_sub_mb_type_info[ sl->sub_mb_type[i] ].type;
+ sub_partition_count[i] = ff_h264_p_sub_mb_type_info[sl->sub_mb_type[i]].partition_count;
+ sl->sub_mb_type[i] = ff_h264_p_sub_mb_type_info[sl->sub_mb_type[i]].type;
}
}
@@ -1062,8 +1062,10 @@ decode_intra_mb:
av_log(h->avctx, AV_LOG_ERROR, "cbp too large (%u) at %d %d\n", cbp, sl->mb_x, sl->mb_y);
return -1;
}
- if(IS_INTRA4x4(mb_type)) cbp= golomb_to_intra4x4_cbp[cbp];
- else cbp= golomb_to_inter_cbp [cbp];
+ if (IS_INTRA4x4(mb_type))
+ cbp = ff_h264_golomb_to_intra4x4_cbp[cbp];
+ else
+ cbp = ff_h264_golomb_to_inter_cbp[cbp];
}else{
if(cbp > 15){
av_log(h->avctx, AV_LOG_ERROR, "cbp too large (%u) at %d %d\n", cbp, sl->mb_x, sl->mb_y);
@@ -1128,7 +1130,7 @@ decode_intra_mb:
if(cbp&0x30){
for(chroma_idx=0; chroma_idx<2; chroma_idx++)
if (decode_residual(h, sl, gb, sl->mb + ((256 + 16*16*chroma_idx) << pixel_shift),
- CHROMA_DC_BLOCK_INDEX+chroma_idx, chroma422_dc_scan,
+ CHROMA_DC_BLOCK_INDEX + chroma_idx, ff_h264_chroma422_dc_scan,
NULL, 8) < 0) {
return -1;
}
@@ -1154,7 +1156,8 @@ decode_intra_mb:
} else /* yuv420 */ {
if(cbp&0x30){
for(chroma_idx=0; chroma_idx<2; chroma_idx++)
- if( decode_residual(h, sl, gb, sl->mb + ((256 + 16*16*chroma_idx) << pixel_shift), CHROMA_DC_BLOCK_INDEX+chroma_idx, chroma_dc_scan, NULL, 4) < 0){
+ if (decode_residual(h, sl, gb, sl->mb + ((256 + 16 * 16 * chroma_idx) << pixel_shift),
+ CHROMA_DC_BLOCK_INDEX + chroma_idx, ff_h264_chroma_dc_scan, NULL, 4) < 0) {
return -1;
}
}