/*sequence field values*/
seq_param->seq_fields.value = 0;
- seq_param->seq_fields.bits.chroma_format_idc = 1;
+ //seq_param->seq_fields.bits.chroma_format_idc = 1;
seq_param->seq_fields.bits.frame_mbs_only_flag = 1;
seq_param->seq_fields.bits.mb_adaptive_frame_field_flag = FALSE;
seq_param->seq_fields.bits.seq_scaling_matrix_present_flag = FALSE;
seq_param->seq_fields.bits.pic_order_cnt_type = 0;
seq_param->seq_fields.bits.log2_max_pic_order_cnt_lsb_minus4 =
seq_param->seq_fields.bits.log2_max_frame_num_minus4 + 1;
- seq_param->seq_fields.bits.delta_pic_order_always_zero_flag = TRUE;
priv->max_frame_num =
1<<(seq_param->seq_fields.bits.log2_max_frame_num_minus4 + 4);
seq_param->bit_depth_chroma_minus8 = 0;
/* not used if pic_order_cnt_type == 0 */
- seq_param->num_ref_frames_in_pic_order_cnt_cycle = 0;
- seq_param->offset_for_non_ref_pic = 0;
- seq_param->offset_for_top_to_bottom_field = 0;
- memset(seq_param->offset_for_ref_frame,
+ if (seq_param->seq_fields.bits.pic_order_cnt_type == 1) {
+ seq_param->seq_fields.bits.delta_pic_order_always_zero_flag = TRUE;
+ seq_param->num_ref_frames_in_pic_order_cnt_cycle = 0;
+ seq_param->offset_for_non_ref_pic = 0;
+ seq_param->offset_for_top_to_bottom_field = 0;
+ memset(seq_param->offset_for_ref_frame,
0,
sizeof(seq_param->offset_for_ref_frame));
+ }
if (height_in_mbs*16 - ENCODER_HEIGHT(encoder)) {
seq_param->frame_cropping_flag = 1;
pic_param->pic_fields.bits.weighted_pred_flag = FALSE;
pic_param->pic_fields.bits.weighted_bipred_idc = 0;
pic_param->pic_fields.bits.constrained_intra_pred_flag = 0;
- pic_param->pic_fields.bits.transform_8x8_mode_flag = TRUE; /* enable 8x8 */
+ pic_param->pic_fields.bits.transform_8x8_mode_flag =
+ (encoder->profile >= H264_PROFILE_HIGH); /* enable 8x8 */
pic_param->pic_fields.bits.deblocking_filter_control_present_flag = TRUE; /* enable debloking */
pic_param->pic_fields.bits.redundant_pic_cnt_present_flag = FALSE;
/* bottom_field_pic_order_in_frame_present_flag */