int fcm = 0;
int picture_type;
int ptype;
- int profile;
int overlap = 0;
int loopfilter = 0;
int bitplane_present;
picture_type = pic_param->picture_fields.bits.picture_type;
- profile = va_to_gen6_vc1_profile[pic_param->sequence_fields.bits.profile];
dquant = pic_param->pic_quantizer_fields.bits.dquant;
dquantfrm = pic_param->pic_quantizer_fields.bits.dq_frame;
dqprofile = pic_param->pic_quantizer_fields.bits.dq_profile;
}
if (pic_param->sequence_fields.bits.overlap) {
- if (profile == GEN6_VC1_ADVANCED_PROFILE) {
+ if (pic_param->sequence_fields.bits.profile == 3) { /* Advanced Profile */
if (picture_type == GEN6_VC1_P_PICTURE &&
pic_param->pic_quantizer_fields.bits.pic_quantizer_scale >= 9) {
overlap = 1;
int slice_header_size = in_slice_data_bit_offset / 8;
int i, j;
- if (profile != 3)
- out_slice_data_bit_offset = in_slice_data_bit_offset;
- else {
+ if (profile == 3) { /* Advanced Profile */
for (i = 0, j = 0; i < slice_header_size; i++, j++) {
if (!buf[j] && !buf[j + 1] && buf[j + 2] == 3 && buf[j + 3] < 4) {
if (i < slice_header_size - 1)
}
out_slice_data_bit_offset = 8 * j + in_slice_data_bit_offset % 8;
- }
+ } else /* Simple or Main Profile */
+ out_slice_data_bit_offset = in_slice_data_bit_offset;
return out_slice_data_bit_offset;
}
3
};
-static const int va_to_gen7_vc1_profile[4] = {
- GEN7_VC1_SIMPLE_PROFILE,
- GEN7_VC1_MAIN_PROFILE,
- GEN7_VC1_RESERVED_PROFILE,
- GEN7_VC1_ADVANCED_PROFILE
-};
-
static const int fptype_to_picture_type[8][2] = {
{GEN7_VC1_I_PICTURE, GEN7_VC1_I_PICTURE},
{GEN7_VC1_I_PICTURE, GEN7_VC1_P_PICTURE},
int fcm = 0;
int picture_type;
int ptype;
- int profile;
int overlap = 0;
int interpolation_mode = 0;
int height_in_mbs;
height_in_mbs = ALIGN(pic_param->coded_height, 32) / 32;
}
- profile = va_to_gen7_vc1_profile[pic_param->sequence_fields.bits.profile];
dquant = pic_param->pic_quantizer_fields.bits.dquant;
dquantfrm = pic_param->pic_quantizer_fields.bits.dq_frame;
dqprofile = pic_param->pic_quantizer_fields.bits.dq_profile;
}
}
- if (profile == GEN7_VC1_MAIN_PROFILE &&
+ if (pic_param->sequence_fields.bits.profile == 1 && /* Main Profile */
pic_param->sequence_fields.bits.rangered) {
obj_surface = decode_state->reference_objects[0];
}
if (pic_param->sequence_fields.bits.overlap) {
- if (profile == GEN7_VC1_ADVANCED_PROFILE) {
+ if (pic_param->sequence_fields.bits.profile == 3) { /* Advanced Profile */
if (picture_type == GEN7_VC1_P_PICTURE &&
pic_param->pic_quantizer_fields.bits.pic_quantizer_scale >= 9) {
overlap = 1;
loopfilter << 5 |
overlap << 4 |
!is_first_field << 3 |
- (pic_param->sequence_fields.bits.profile == 3) << 0);
+ (pic_param->sequence_fields.bits.profile == 3) << 0); /* Advanced Profile */
OUT_BCS_BATCH(batch,
va_to_gen7_vc1_condover[pic_param->conditional_overlap_flag] << 29 |
ptype << 26 |
int slice_header_size = in_slice_data_bit_offset / 8;
int i, j;
- if (profile != 3)
- out_slice_data_bit_offset = in_slice_data_bit_offset;
- else {
+ if (profile == 3) { /* Advanced Profile */
for (i = 0, j = 0; i < slice_header_size; i++, j++) {
if (!buf[j] && !buf[j + 1] && buf[j + 2] == 3 && buf[j + 3] < 4) {
if (i < slice_header_size - 1)
}
out_slice_data_bit_offset = 8 * j + in_slice_data_bit_offset % 8;
- }
+ } else /* Simple or Main Profile */
+ out_slice_data_bit_offset = in_slice_data_bit_offset;
return out_slice_data_bit_offset;
}
3
};
-static const int va_to_gen7_vc1_profile[4] = {
- GEN7_VC1_SIMPLE_PROFILE,
- GEN7_VC1_MAIN_PROFILE,
- GEN7_VC1_RESERVED_PROFILE,
- GEN7_VC1_ADVANCED_PROFILE
-};
-
static const int fptype_to_picture_type[8][2] = {
{GEN7_VC1_I_PICTURE, GEN7_VC1_I_PICTURE},
{GEN7_VC1_I_PICTURE, GEN7_VC1_P_PICTURE},
int fcm = 0;
int picture_type;
int ptype;
- int profile;
int overlap = 0;
int interpolation_mode = 0;
int height_in_mbs;
height_in_mbs = ALIGN(pic_param->coded_height, 32) / 32;
}
- profile = va_to_gen7_vc1_profile[pic_param->sequence_fields.bits.profile];
dquant = pic_param->pic_quantizer_fields.bits.dquant;
dquantfrm = pic_param->pic_quantizer_fields.bits.dq_frame;
dqprofile = pic_param->pic_quantizer_fields.bits.dq_profile;
}
}
- if (profile == GEN7_VC1_MAIN_PROFILE &&
+ if (pic_param->sequence_fields.bits.profile == 1 && /* Main Profile */
pic_param->sequence_fields.bits.rangered) {
obj_surface = decode_state->reference_objects[0];
}
if (pic_param->sequence_fields.bits.overlap) {
- if (profile == GEN7_VC1_ADVANCED_PROFILE) {
+ if (pic_param->sequence_fields.bits.profile == 3) { /* Advanced Profile */
if (picture_type == GEN7_VC1_P_PICTURE &&
pic_param->pic_quantizer_fields.bits.pic_quantizer_scale >= 9) {
overlap = 1;
loopfilter << 5 |
overlap << 4 |
!is_first_field << 3 |
- (pic_param->sequence_fields.bits.profile == 3) << 0);
+ (pic_param->sequence_fields.bits.profile == 3) << 0); /* Advanced Profile */
OUT_BCS_BATCH(batch,
va_to_gen7_vc1_condover[pic_param->conditional_overlap_flag] << 29 |
ptype << 26 |
int slice_header_size = in_slice_data_bit_offset / 8;
int i, j;
- if (profile != 3)
- out_slice_data_bit_offset = in_slice_data_bit_offset;
- else {
+ if (profile == 3) { /* Advanced Profile */
for (i = 0, j = 0; i < slice_header_size; i++, j++) {
if (!buf[j] && !buf[j + 1] && buf[j + 2] == 3 && buf[j + 3] < 4) {
if (i < slice_header_size - 1)
}
out_slice_data_bit_offset = 8 * j + in_slice_data_bit_offset % 8;
- }
+ } else /* Simple or Main Profile */
+ out_slice_data_bit_offset = in_slice_data_bit_offset;
return out_slice_data_bit_offset;
}
#define GEN7_VC1_BI_PICTURE 3
#define GEN7_VC1_SKIPPED_PICTURE 4
-#define GEN7_VC1_SIMPLE_PROFILE 0
-#define GEN7_VC1_MAIN_PROFILE 1
-#define GEN7_VC1_ADVANCED_PROFILE 2
-#define GEN7_VC1_RESERVED_PROFILE 3
-
#define GEN7_JPEG_ROTATION_0 0
#define GEN7_JPEG_ROTATION_90 1
#define GEN7_JPEG_ROTATION_270 2
3
};
-static const int va_to_gen7_vc1_profile[4] = {
- GEN7_VC1_SIMPLE_PROFILE,
- GEN7_VC1_MAIN_PROFILE,
- GEN7_VC1_RESERVED_PROFILE,
- GEN7_VC1_ADVANCED_PROFILE
-};
-
static const int fptype_to_picture_type[8][2] = {
{GEN7_VC1_I_PICTURE, GEN7_VC1_I_PICTURE},
{GEN7_VC1_I_PICTURE, GEN7_VC1_P_PICTURE},
int fcm = 0;
int picture_type;
int ptype;
- int profile;
int overlap = 0;
int interpolation_mode = 0;
int height_in_mbs;
height_in_mbs = ALIGN(pic_param->coded_height, 32) / 32;
}
- profile = va_to_gen7_vc1_profile[pic_param->sequence_fields.bits.profile];
dquant = pic_param->pic_quantizer_fields.bits.dquant;
dquantfrm = pic_param->pic_quantizer_fields.bits.dq_frame;
dqprofile = pic_param->pic_quantizer_fields.bits.dq_profile;
}
}
- if (profile == GEN7_VC1_MAIN_PROFILE &&
+ if (pic_param->sequence_fields.bits.profile == 1 && /* Main Profile */
pic_param->sequence_fields.bits.rangered) {
obj_surface = decode_state->reference_objects[0];
}
if (pic_param->sequence_fields.bits.overlap) {
- if (profile == GEN7_VC1_ADVANCED_PROFILE) {
+ if (pic_param->sequence_fields.bits.profile == 3) { /* Advanced Profile */
if (picture_type == GEN7_VC1_P_PICTURE &&
pic_param->pic_quantizer_fields.bits.pic_quantizer_scale >= 9) {
overlap = 1;
loopfilter << 5 |
overlap << 4 |
!is_first_field << 3 |
- (pic_param->sequence_fields.bits.profile == 3) << 0);
+ (pic_param->sequence_fields.bits.profile == 3) << 0); /* Advanced Profile */
OUT_BCS_BATCH(batch,
va_to_gen7_vc1_condover[pic_param->conditional_overlap_flag] << 29 |
ptype << 26 |
int slice_header_size = in_slice_data_bit_offset / 8;
int i, j;
- if (profile != 3)
- out_slice_data_bit_offset = in_slice_data_bit_offset;
- else {
+ if (profile == 3) { /* Advanced Profile */
for (i = 0, j = 0; i < slice_header_size; i++, j++) {
if (!buf[j] && !buf[j + 1] && buf[j + 2] == 3 && buf[j + 3] < 4) {
if (i < slice_header_size - 1)
}
out_slice_data_bit_offset = 8 * j + in_slice_data_bit_offset % 8;
- }
+ } else /* Simple or Main Profile */
+ out_slice_data_bit_offset = in_slice_data_bit_offset;
return out_slice_data_bit_offset;
}