00001 #ifndef __SHCODECS_ENCODE_H264_H__
00002 #define __SHCODECS_ENCODE_H264_H__
00003
00019 int
00020 shcodecs_encoder_get_h264_headers(SHCodecs_Encoder *encoder, int *nr_nals, int **nal_sizes, unsigned char ***nal_datas);
00021
00022
00030 int
00031 shcodecs_encoder_get_output_filler_enable (SHCodecs_Encoder * encoder);
00032
00040 int
00041 shcodecs_encoder_set_output_filler_enable (SHCodecs_Encoder * encoder, int output_filler_enable);
00042
00049 unsigned long
00050 shcodecs_encoder_get_h264_Ivop_quant_initial_value(SHCodecs_Encoder *
00051 encoder);
00052
00060 unsigned long
00061 shcodecs_encoder_set_h264_Ivop_quant_initial_value(SHCodecs_Encoder *
00062 encoder,
00063 unsigned long
00064 h264_Ivop_quant_initial_value);
00065
00072 unsigned long
00073 shcodecs_encoder_get_h264_Pvop_quant_initial_value(SHCodecs_Encoder *
00074 encoder);
00075
00083 unsigned long
00084 shcodecs_encoder_set_h264_Pvop_quant_initial_value(SHCodecs_Encoder *
00085 encoder,
00086 unsigned long
00087 h264_Pvop_quant_initial_value);
00088
00095 unsigned long
00096 shcodecs_encoder_get_h264_use_dquant(SHCodecs_Encoder * encoder);
00097
00105 unsigned long
00106 shcodecs_encoder_set_h264_use_dquant(SHCodecs_Encoder * encoder,
00107 unsigned long h264_use_dquant);
00108
00115 unsigned long
00116 shcodecs_encoder_get_h264_clip_dquant_next_mb(SHCodecs_Encoder * encoder);
00117
00125 unsigned long
00126 shcodecs_encoder_set_h264_clip_dquant_next_mb(SHCodecs_Encoder * encoder,
00127 unsigned long
00128 h264_clip_dquant_next_mb);
00129
00136 unsigned long
00137 shcodecs_encoder_get_h264_clip_dquant_frame(SHCodecs_Encoder * encoder);
00138
00146 unsigned long
00147 shcodecs_encoder_set_h264_clip_dquant_frame(SHCodecs_Encoder * encoder,
00148 unsigned long
00149 h264_clip_dquant_frame);
00150
00157 unsigned long
00158 shcodecs_encoder_get_h264_quant_min(SHCodecs_Encoder * encoder);
00159
00167 unsigned long
00168 shcodecs_encoder_set_h264_quant_min(SHCodecs_Encoder * encoder,
00169 unsigned long h264_quant_min);
00170
00177 unsigned long
00178 shcodecs_encoder_get_h264_quant_min_Ivop_under_range(SHCodecs_Encoder *
00179 encoder);
00180
00188 unsigned long
00189 shcodecs_encoder_set_h264_quant_min_Ivop_under_range(SHCodecs_Encoder *
00190 encoder,
00191 unsigned long
00192 h264_quant_min_Ivop_under_range);
00193
00200 unsigned long
00201 shcodecs_encoder_get_h264_quant_max(SHCodecs_Encoder * encoder);
00202
00210 unsigned long
00211 shcodecs_encoder_set_h264_quant_max(SHCodecs_Encoder * encoder,
00212 unsigned long h264_quant_max);
00213
00220 unsigned long
00221 shcodecs_encoder_get_h264_ratecontrol_cpb_skipcheck_enable(SHCodecs_Encoder
00222 * encoder);
00223
00231 unsigned long
00232 shcodecs_encoder_set_h264_ratecontrol_cpb_skipcheck_enable(SHCodecs_Encoder
00233 * encoder,
00234 unsigned long
00235 h264_ratecontrol_cpb_skipcheck_enable);
00236
00243 unsigned long
00244 shcodecs_encoder_get_h264_ratecontrol_cpb_Ivop_noskip(SHCodecs_Encoder *
00245 encoder);
00246
00254 unsigned long
00255 shcodecs_encoder_set_h264_ratecontrol_cpb_Ivop_noskip(SHCodecs_Encoder *
00256 encoder,
00257 unsigned long
00258 h264_ratecontrol_cpb_Ivop_noskip);
00259
00266 unsigned long
00267 shcodecs_encoder_get_h264_ratecontrol_cpb_remain_zero_skip_enable
00268 (SHCodecs_Encoder * encoder);
00269
00277 unsigned long
00278 shcodecs_encoder_set_h264_ratecontrol_cpb_remain_zero_skip_enable
00279 (SHCodecs_Encoder * encoder,
00280 unsigned long h264_ratecontrol_cpb_remain_zero_skip_enable);
00281
00288 unsigned long
00289 shcodecs_encoder_get_h264_ratecontrol_cpb_buffer_unit_size(SHCodecs_Encoder
00290 * encoder);
00291
00299 unsigned long
00300 shcodecs_encoder_set_h264_ratecontrol_cpb_buffer_unit_size(SHCodecs_Encoder
00301 * encoder,
00302 unsigned long
00303 h264_ratecontrol_cpb_buffer_unit_size);
00304
00311 unsigned long
00312 shcodecs_encoder_get_h264_ratecontrol_cpb_buffer_mode(SHCodecs_Encoder *
00313 encoder);
00314
00322 unsigned long
00323 shcodecs_encoder_set_h264_ratecontrol_cpb_buffer_mode(SHCodecs_Encoder *
00324 encoder,
00325 unsigned long
00326 h264_ratecontrol_cpb_buffer_mode);
00327
00334 unsigned long
00335 shcodecs_encoder_get_h264_ratecontrol_cpb_max_size(SHCodecs_Encoder *
00336 encoder);
00337
00345 unsigned long
00346 shcodecs_encoder_set_h264_ratecontrol_cpb_max_size(SHCodecs_Encoder *
00347 encoder,
00348 unsigned long
00349 h264_ratecontrol_cpb_max_size);
00350
00357 unsigned long
00358 shcodecs_encoder_get_h264_ratecontrol_cpb_offset(SHCodecs_Encoder *
00359 encoder);
00360
00368 unsigned long
00369 shcodecs_encoder_set_h264_ratecontrol_cpb_offset(SHCodecs_Encoder *
00370 encoder,
00371 unsigned long
00372 h264_ratecontrol_cpb_offset);
00373
00380 unsigned long
00381 shcodecs_encoder_get_h264_ratecontrol_cpb_offset_rate(SHCodecs_Encoder *
00382 encoder);
00383
00391 unsigned long
00392 shcodecs_encoder_set_h264_ratecontrol_cpb_offset_rate(SHCodecs_Encoder *
00393 encoder,
00394 unsigned long
00395 h264_ratecontrol_cpb_offset_rate);
00396
00403 unsigned long
00404 shcodecs_encoder_get_h264_intra_thr_1(SHCodecs_Encoder * encoder);
00405
00413 unsigned long
00414 shcodecs_encoder_set_h264_intra_thr_1(SHCodecs_Encoder * encoder,
00415 unsigned long h264_intra_thr_1);
00416
00423 unsigned long
00424 shcodecs_encoder_get_h264_intra_thr_2(SHCodecs_Encoder * encoder);
00425
00433 unsigned long
00434 shcodecs_encoder_set_h264_intra_thr_2(SHCodecs_Encoder * encoder,
00435 unsigned long h264_intra_thr_2);
00436
00443 unsigned long
00444 shcodecs_encoder_get_h264_sad_intra_bias(SHCodecs_Encoder * encoder);
00445
00453 unsigned long
00454 shcodecs_encoder_set_h264_sad_intra_bias(SHCodecs_Encoder * encoder,
00455 unsigned long
00456 h264_sad_intra_bias);
00457
00464 unsigned long
00465 shcodecs_encoder_get_h264_regularly_inserted_I_type(SHCodecs_Encoder *
00466 encoder);
00467
00475 unsigned long
00476 shcodecs_encoder_set_h264_regularly_inserted_I_type(SHCodecs_Encoder *
00477 encoder,
00478 unsigned long
00479 h264_regularly_inserted_I_type);
00480
00487 unsigned long
00488 shcodecs_encoder_get_h264_call_unit(SHCodecs_Encoder * encoder);
00489
00497 unsigned long
00498 shcodecs_encoder_set_h264_call_unit(SHCodecs_Encoder * encoder,
00499 unsigned long h264_call_unit);
00500
00507 unsigned long
00508 shcodecs_encoder_get_h264_use_slice(SHCodecs_Encoder * encoder);
00509
00517 unsigned long
00518 shcodecs_encoder_set_h264_use_slice(SHCodecs_Encoder * encoder,
00519 unsigned long h264_use_slice);
00520
00527 unsigned long
00528 shcodecs_encoder_get_h264_slice_size_mb(SHCodecs_Encoder * encoder);
00529
00537 unsigned long
00538 shcodecs_encoder_set_h264_slice_size_mb(SHCodecs_Encoder * encoder,
00539 unsigned long h264_slice_size_mb);
00540
00547 unsigned long
00548 shcodecs_encoder_get_h264_slice_size_bit(SHCodecs_Encoder * encoder);
00549
00557 unsigned long
00558 shcodecs_encoder_set_h264_slice_size_bit(SHCodecs_Encoder * encoder,
00559 unsigned long
00560 h264_slice_size_bit);
00561
00568 unsigned long
00569 shcodecs_encoder_get_h264_slice_type_value_pattern(SHCodecs_Encoder *
00570 encoder);
00571
00579 unsigned long
00580 shcodecs_encoder_set_h264_slice_type_value_pattern(SHCodecs_Encoder *
00581 encoder,
00582 unsigned long
00583 h264_slice_type_value_pattern);
00584
00591 unsigned long
00592 shcodecs_encoder_get_h264_use_mb_partition(SHCodecs_Encoder * encoder);
00593
00601 unsigned long
00602 shcodecs_encoder_set_h264_use_mb_partition(SHCodecs_Encoder * encoder,
00603 unsigned long
00604 h264_use_mb_partition);
00605
00612 unsigned long
00613 shcodecs_encoder_get_h264_mb_partition_vector_thr(SHCodecs_Encoder *
00614 encoder);
00615
00623 unsigned long
00624 shcodecs_encoder_set_h264_mb_partition_vector_thr(SHCodecs_Encoder *
00625 encoder,
00626 unsigned long
00627 h264_mb_partition_vector_thr);
00628
00635 unsigned long
00636 shcodecs_encoder_get_h264_deblocking_mode(SHCodecs_Encoder * encoder);
00637
00645 unsigned long
00646 shcodecs_encoder_set_h264_deblocking_mode(SHCodecs_Encoder * encoder,
00647 unsigned long
00648 h264_deblocking_mode);
00649
00656 unsigned long
00657 shcodecs_encoder_get_h264_use_deblocking_filter_control(SHCodecs_Encoder *
00658 encoder);
00659
00667 unsigned long
00668 shcodecs_encoder_set_h264_use_deblocking_filter_control(SHCodecs_Encoder *
00669 encoder,
00670 unsigned long
00671 h264_use_deblocking_filter_control);
00672
00679 long
00680 shcodecs_encoder_get_h264_deblocking_alpha_offset(SHCodecs_Encoder *
00681 encoder);
00682
00690 long
00691 shcodecs_encoder_set_h264_deblocking_alpha_offset(SHCodecs_Encoder *
00692 encoder,
00693 long
00694 h264_deblocking_alpha_offset);
00695
00702 long
00703 shcodecs_encoder_get_h264_deblocking_beta_offset(SHCodecs_Encoder *
00704 encoder);
00705
00713 long
00714 shcodecs_encoder_set_h264_deblocking_beta_offset(SHCodecs_Encoder *
00715 encoder,
00716 long
00717 h264_deblocking_beta_offset);
00718
00725 unsigned long
00726 shcodecs_encoder_get_h264_me_skip_mode(SHCodecs_Encoder * encoder);
00727
00735 unsigned long
00736 shcodecs_encoder_set_h264_me_skip_mode(SHCodecs_Encoder * encoder,
00737 unsigned long h264_me_skip_mode);
00738
00745 unsigned long
00746 shcodecs_encoder_get_h264_put_start_code(SHCodecs_Encoder * encoder);
00747
00755 unsigned long
00756 shcodecs_encoder_set_h264_put_start_code(SHCodecs_Encoder * encoder,
00757 unsigned long
00758 h264_put_start_code);
00759
00766 unsigned long
00767 shcodecs_encoder_get_h264_param_changeable(SHCodecs_Encoder * encoder);
00768
00776 unsigned long
00777 shcodecs_encoder_set_h264_param_changeable(SHCodecs_Encoder * encoder,
00778 unsigned long
00779 h264_param_changeable);
00780
00787 unsigned long
00788 shcodecs_encoder_get_h264_changeable_max_bitrate(SHCodecs_Encoder *
00789 encoder);
00790
00798 unsigned long
00799 shcodecs_encoder_set_h264_changeable_max_bitrate(SHCodecs_Encoder *
00800 encoder,
00801 unsigned long
00802 h264_changeable_max_bitrate);
00803
00810 unsigned long
00811 shcodecs_encoder_get_h264_seq_param_set_id(SHCodecs_Encoder * encoder);
00812
00820 unsigned long
00821 shcodecs_encoder_set_h264_seq_param_set_id(SHCodecs_Encoder * encoder,
00822 unsigned long
00823 h264_seq_param_set_id);
00824
00831 unsigned long
00832 shcodecs_encoder_get_h264_profile(SHCodecs_Encoder * encoder);
00833
00841 unsigned long
00842 shcodecs_encoder_set_h264_profile(SHCodecs_Encoder * encoder,
00843 unsigned long h264_profile);
00844
00851 unsigned long
00852 shcodecs_encoder_get_h264_constraint_set_flag(SHCodecs_Encoder * encoder);
00853
00861 unsigned long
00862 shcodecs_encoder_set_h264_constraint_set_flag(SHCodecs_Encoder * encoder,
00863 unsigned long
00864 h264_constraint_set_flag);
00865
00872 unsigned long
00873 shcodecs_encoder_get_h264_level_type(SHCodecs_Encoder * encoder);
00874
00882 unsigned long
00883 shcodecs_encoder_set_h264_level_type(SHCodecs_Encoder * encoder,
00884 unsigned long h264_level_type);
00885
00892 unsigned long
00893 shcodecs_encoder_get_h264_level_value(SHCodecs_Encoder * encoder);
00894
00902 unsigned long
00903 shcodecs_encoder_set_h264_level_value(SHCodecs_Encoder * encoder,
00904 unsigned long h264_level_value);
00905
00912 unsigned long
00913 shcodecs_encoder_get_h264_out_vui_parameters(SHCodecs_Encoder * encoder);
00914
00922 unsigned long
00923 shcodecs_encoder_set_h264_out_vui_parameters(SHCodecs_Encoder * encoder,
00924 unsigned long
00925 h264_out_vui_parameters);
00926
00933 long
00934 shcodecs_encoder_get_h264_chroma_qp_index_offset(SHCodecs_Encoder *
00935 encoder);
00936
00944 long
00945 shcodecs_encoder_set_h264_chroma_qp_index_offset(SHCodecs_Encoder *
00946 encoder,
00947 long
00948 h264_chroma_qp_index_offset);
00949
00956 unsigned long
00957 shcodecs_encoder_get_h264_constrained_intra_pred(SHCodecs_Encoder *
00958 encoder);
00959
00967 unsigned long
00968 shcodecs_encoder_set_h264_constrained_intra_pred(SHCodecs_Encoder *
00969 encoder,
00970 unsigned long
00971 h264_constrained_intra_pred);
00972
00973
00974 #endif