
Go to the source code of this file.
Functions | |
| void | set_stored_macroblock_parameters (Macroblock *currMB) |
| void | StoreMV8x8 (int) |
| void | store_macroblock_parameters (Macroblock *currMB, int) |
| void | SetModesAndRefframeForBlocks (Macroblock *currMB, int) |
| void | SetRefAndMotionVectors (PicMotionParams *motion, Macroblock *currMB, int, int, int, int, int, short) |
| void | StoreNewMotionVectorsBlock8x8 (int, int, int, int, int, int, int, int) |
| void | assign_enc_picture_params (int, char, int, int, int, int, int, short) |
| void | set_subblock8x8_info (Block8x8Info *, int, int, RD_8x8DATA *) |
| void | set_block8x8_info (Block8x8Info *, int, int, char[2], char, short) |
| void | update_refresh_map (int intra, int intra1, Macroblock *currMB) |
| void | SetCoeffAndReconstruction8x8 (Macroblock *) |
| int | GetBestTransformP8x8 (void) |
| int | I16Offset (int, int) |
| int | CheckReliabilityOfRef (int, int, int, int) |
| int | Mode_Decision_for_Intra4x4Macroblock (Slice *currSlice, Macroblock *currMB, double, double *, int is_cavlc) |
| int | RDCost_for_macroblocks (Slice *currSlice, Macroblock *currMB, double, int, double *, double *, double *, int, int) |
| double | RDCost_for_8x8blocks (Slice *currSlice, Macroblock *currMB, int *, int64 *, double, int, int, short, short, short, short, int) |
| void | rc_store_diff (int cpix_x, int cpix_y, imgpel **prediction) |
| void | submacroblock_mode_decision (Slice *currSlice, RD_PARAMS *, RD_8x8DATA *, Macroblock *, int ****, int *, short, int, int *, int *, int *, int, int) |
| void | submacroblock_mode_decision_low (Slice *currSlice, RD_PARAMS *, RD_8x8DATA *, Macroblock *, int ****, int *, short, int, int *, int *, int *, int, int) |
| void | init_enc_mb_params (Macroblock *currMB, RD_PARAMS *enc_mb, int intra, int bslice) |
| void | list_prediction_cost (Macroblock *currMB, int list, int block, int mode, RD_PARAMS *enc_mb, int bmcost[5], char best_ref[2]) |
| void | determine_prediction_list (int, int[5], char[2], char *, int *, short *) |
| void | compute_mode_RD_cost (Slice *currSlice, Macroblock *currMB, RD_PARAMS *enc_mb, int mode, double *min_rdcost, double *min_dcost, double *min_rate, int i16mode, short bslice, short *inter_skip, int is_cavlc) |
| int | transform_termination_control (Macroblock *currMB, int mode, int bslice) |
| int | bslice_16x16_termination_control (Block8x8Info *b8x8info, int *ctr16x16, int mode, int bslice) |
| int | iminarray (int arr[], int size, int *minind) |
| void | update_lambda_costs (RD_PARAMS *enc_mb, int lambda_mf[3]) |
| void | get_initial_mb16x16_cost (Macroblock *currMB) |
| void | adjust_mb16x16_cost (int) |
| void | reset_adaptive_rounding () |
| int64 | distortionSSE (Macroblock *currMB) |
Variables | |
| CSptr | cs_mb |
| CSptr | cs_b8 |
| CSptr | cs_cm |
| CSptr | cs_ib8 |
| CSptr | cs_ib4 |
| RD_8x8DATA | tr4x4 |
| RD_8x8DATA | tr8x8 |
| double | mb16x16_cost |
| double | lambda_mf_factor |
| int ***** | coefAC8x8 |
| int ***** | cofAC8x8ts |
| int **** | cofAC |
| int | QP2QUANT [40] |
| int | cbp_blk8x8 |
| int | cbp |
| int | cbp8x8 |
| int | cnt_nonz_8x8 |
| int64 | cbp_blk8_8x8ts |
| int | cbp8_8x8ts |
| int | cnt_nonz8_8x8ts |
| char | b4_ipredmode [16] |
| char | b4_intra_pred_modes [16] |
| short | best_mode |
| imgpel ** | pred |
| imgpel *** | rec4x4 |
| imgpel *** | rec4x4CbCr |
| double * | mb16x16_cost_frame |
| const int | b8_mode_table [6] |
| const int | mb_mode_table [9] |
| int64(* | getDistortion )(Macroblock *currMB) |
Definition in file mode_decision.h.
| int bslice_16x16_termination_control | ( | Block8x8Info * | b8x8info, | |
| int * | ctr16x16, | |||
| int | mode, | |||
| int | bslice | |||
| ) |
Update prediction direction for mode P16x16 to check all prediction directions.
Definition at line 1342 of file mode_decision.c.
References Block8x8Info::best8x8pdir, Block8x8Info::bipred8x8me, InputParameters::BiPredMotionEstimation, and error().
Referenced by compute_mode_RD_cost().

| int CheckReliabilityOfRef | ( | int | block, | |
| int | list_idx, | |||
| int | ref, | |||
| int | mode | |||
| ) |
Checks if a given reference frame is reliable for the current macroblock, given the motion vectors that the motion search has returned.
Definition at line 324 of file rdopt.c.
References ImageParameters::all_mv, ImageParameters::block_x, ImageParameters::block_y, ImageParameters::height, pixel_map, and ImageParameters::width.
Referenced by list_prediction_cost().
| void compute_mode_RD_cost | ( | Slice * | currSlice, | |
| Macroblock * | currMB, | |||
| RD_PARAMS * | enc_mb, | |||
| int | mode, | |||
| double * | min_rdcost, | |||
| double * | min_dcost, | |||
| double * | min_rate, | |||
| int | i16mode, | |||
| short | bslice, | |||
| short * | inter_skip, | |||
| int | is_cavlc | |||
| ) |
RD decision process.
Definition at line 310 of file mode_decision.c.
References ImageParameters::AdaptiveRounding, ImageParameters::ARCofAdj4x4, ImageParameters::ARCofAdj8x8, ImageParameters::b8x8info, bslice_16x16_termination_control(), macroblock::c_ipred_mode, macroblock::cbp, ImageParameters::cofAC, InputParameters::EarlySkipEnable, InputParameters::FastCrIntraDecision, ImageParameters::lossless_qpprime_flag, macroblock::luma_transform_size_8x8_flag, InputParameters::nobskip, ImageParameters::NoResidueDirect, ImageParameters::opix_x, ImageParameters::opix_y, macroblock::qp_scaled, rc_store_diff(), InputParameters::RCEnable, RDCost_for_macroblocks(), InputParameters::rdopt, reset_adaptive_rounding_direct(), SetModesAndRefframeForBlocks(), store_macroblock_parameters(), InputParameters::Transform8x8Mode, transform_termination_control(), and update_adaptive_rounding_16x16().
Referenced by encode_one_macroblock_high(), encode_one_macroblock_highfast(), and encode_one_macroblock_highloss().

| void determine_prediction_list | ( | int | , | |
| int | [5], | |||
| char | [2], | |||
| char * | , | |||
| int * | , | |||
| short * | ||||
| ) |
Determination of prediction list based on simple distortion computation.
Definition at line 284 of file mode_decision.c.
References iminarray().
Referenced by encode_one_macroblock_high(), encode_one_macroblock_highfast(), encode_one_macroblock_highloss(), encode_one_macroblock_low(), submacroblock_mode_decision(), and submacroblock_mode_decision_low().

| int64 distortionSSE | ( | Macroblock * | currMB | ) |
SSE distortion calculation for a macroblock.
Definition at line 56 of file md_distortion.c.
References storable_picture::imgUV, ImageParameters::mb_cr_size_x, ImageParameters::mb_cr_size_y, ImageParameters::opix_c_x, ImageParameters::opix_c_y, ImageParameters::opix_x, ImageParameters::opix_y, storable_picture::p_curr_img, pCurImg, ImageParameters::pix_c_x, ImageParameters::pix_c_y, ImageParameters::pix_x, ImageParameters::pix_y, InputParameters::WeightCb, InputParameters::WeightCr, InputParameters::WeightY, YUV400, and ImageParameters::yuv_format.
Referenced by init_rdopt().
| int GetBestTransformP8x8 | ( | void | ) |
Makes the decision if 8x8 tranform will be used (for RD-off).
Definition at line 2405 of file rdopt.c.
References distortion4x4(), distortion8x8(), ImageParameters::opix_x, ImageParameters::opix_y, pCurImg, and InputParameters::Transform8x8Mode.
Referenced by encode_one_macroblock_low().

| int I16Offset | ( | int | , | |
| int | ||||
| ) |
Gets mode offset for intra16x16 mode.
Definition at line 739 of file rdopt.c.
Referenced by encode_one_macroblock_low(), and RDCost_for_macroblocks().
| int iminarray | ( | int | arr[], | |
| int | size, | |||
| int * | minind | |||
| ) |
Return array's minimum and its index.
Definition at line 1256 of file mode_decision.c.
Referenced by determine_prediction_list().
| void init_enc_mb_params | ( | Macroblock * | currMB, | |
| RD_PARAMS * | enc_mb, | |||
| int | intra, | |||
| int | bslice | |||
| ) |
Initialize Encoding parameters for Macroblock.
Definition at line 55 of file mode_decision.c.
References macroblock::c_ipred_mode, check_for_SI16(), storable_picture::chroma_vector_adjustment, InputParameters::DisableIntra16x16, InputParameters::DisableIntra4x4, InputParameters::DisableIntraInInter, InputParameters::EnableIPCM, F_PEL, H_PEL, InputParameters::InterSearch, ImageParameters::lambda_md, ImageParameters::lambda_me, ImageParameters::lambda_mf, macroblock::list_offset, ImageParameters::masterQP, macroblock::mb_field, macroblock::mb_nr, ImageParameters::MbaffFrameFlag, ImageParameters::nal_reference_idc, Q_PEL, ImageParameters::qp, InputParameters::RDOQ_CP_Mode, reset_valid_modes(), storable_picture::structure, ImageParameters::structure, InputParameters::Transform8x8Mode, ImageParameters::type, and InputParameters::UseRDOQuant.
Referenced by encode_one_macroblock_high(), encode_one_macroblock_highfast(), encode_one_macroblock_highloss(), and encode_one_macroblock_low().

| void list_prediction_cost | ( | Macroblock * | currMB, | |
| int | list, | |||
| int | block, | |||
| int | mode, | |||
| RD_PARAMS * | enc_mb, | |||
| int | bmcost[5], | |||
| char | best_ref[2] | |||
| ) |
computation of prediction list (including biprediction) cost
Definition at line 202 of file mode_decision.c.
References BIDPartitionCost(), BPredPartitionCost(), ImageParameters::checkref, CheckReliabilityOfRef(), Q_PEL, InputParameters::rdopt, InputParameters::RestrictRef, InputParameters::sp2_frame_indicator, InputParameters::sp_output_indicator, and ImageParameters::type.
Referenced by encode_one_macroblock_high(), encode_one_macroblock_highfast(), encode_one_macroblock_highloss(), encode_one_macroblock_low(), submacroblock_mode_decision(), and submacroblock_mode_decision_low().

| int Mode_Decision_for_Intra4x4Macroblock | ( | Slice * | currSlice, | |
| Macroblock * | currMB, | |||
| double | , | |||
| double * | , | |||
| int | is_cavlc | |||
| ) |
4x4 Intra mode decision for an macroblock
Definition at line 437 of file rd_intra_jm.c.
References Mode_Decision_for_IntraSubMBlocks().
Referenced by encode_one_macroblock_low(), and RDCost_for_macroblocks().

| void rc_store_diff | ( | int | cpix_x, | |
| int | cpix_y, | |||
| imgpel ** | prediction | |||
| ) |
Update Rate Control Difference.
Definition at line 371 of file ratectl.c.
References pCurImg.
Referenced by compute_mode_RD_cost(), encode_one_macroblock_high(), encode_one_macroblock_highfast(), encode_one_macroblock_highloss(), and encode_one_macroblock_low().
| double RDCost_for_8x8blocks | ( | Slice * | currSlice, | |
| Macroblock * | currMB, | |||
| int * | , | |||
| int64 * | , | |||
| double | , | |||
| int | , | |||
| int | , | |||
| short | , | |||
| short | , | |||
| short | , | |||
| short | , | |||
| int | ||||
| ) |
R-D Cost for an 8x8 Partition.
Definition at line 558 of file rdopt.c.
References macroblock::ar_mode, arienco_bits_written(), assignSE2partition, B8Mode2Value(), macroblock::bipred_me, ImageParameters::block_x, ImageParameters::block_y, compute_residue_block(), ImageParameters::currentSlice, decode_one_b8block(), direct_pdir, direct_ref_idx, datapartition::ee_cabac, storable_picture::imgUV, storable_picture::imgY, syntaxelement::len, macroblock::luma_transform_size_8x8_flag, LumaResidualCoding8x8(), ImageParameters::mb_pred, InputParameters::NoOfDecoders, ImageParameters::num_ref_idx_l0_active, ImageParameters::num_ref_idx_l1_active, ImageParameters::opix_x, ImageParameters::opix_y, ImageParameters::P444_joined, storable_picture::p_dec_img, storable_picture::p_img, Slice::partArr, InputParameters::partition_mode, pCurImg, ImageParameters::pix_x, ImageParameters::pix_y, InputParameters::rdopt, Decoders::res_img, Slice::tex_ctx, syntaxelement::type, ImageParameters::type, ue_linfo(), syntaxelement::value1, writeCBP_BIT_CABAC(), writeCoeff8x8(), writeMotionVector8x8(), and writeReferenceFrame().
Referenced by submacroblock_mode_decision().

| int RDCost_for_macroblocks | ( | Slice * | currSlice, | |
| Macroblock * | currMB, | |||
| double | , | |||
| int | , | |||
| double * | , | |||
| double * | , | |||
| double * | , | |||
| int | , | |||
| int | ||||
| ) |
R-D Cost for a macroblock.
Definition at line 1310 of file rdopt.c.
References ImageParameters::all_mv, ImageParameters::block_x, ImageParameters::block_y, macroblock::cbp, ChromaResidualCoding(), ImageParameters::cod_counter, compute_residue_block(), decode_one_mb(), direct_pdir, field_flag_inference(), I16Offset(), ImageParameters::i16offset, storable_picture::imgUV, storable_picture::imgY, Intra16x16_Mode_Decision(), ImageParameters::lossless_qpprime_flag, LumaResidualCoding(), ImageParameters::mb_cr_size_x, ImageParameters::mb_cr_size_y, macroblock::mb_field, macroblock::mb_nr, ImageParameters::mb_pred, macroblock::mb_type, ImageParameters::MbaffFrameFlag, Mode_Decision_for_Intra4x4Macroblock(), Mode_Decision_for_Intra8x8Macroblock(), storable_picture::motion, ImageParameters::mpr_16x16, InputParameters::NoOfDecoders, ImageParameters::num_blk8x8_uv, ImageParameters::nz_coeff, ImageParameters::opix_c_x, ImageParameters::opix_c_y, ImageParameters::opix_x, ImageParameters::opix_y, out_of_bounds_mvs(), storable_picture::p_curr_img, storable_picture::p_dec_img, pCurImg, ImageParameters::pix_c_x, ImageParameters::pix_c_y, ImageParameters::pix_y, macroblock::PrevMB, InputParameters::ProfileIDC, macroblock::qp_scaled, InputParameters::RCEnable, InputParameters::rdopt, Decoders::res_img, reset_coding_state(), SetCoeffAndReconstruction8x8(), SetModesAndRefframeForBlocks(), SetMotionVectorsMB(), store_coding_state(), ImageParameters::type, ue_linfo(), writeMBLayer(), YUV400, YUV444, and ImageParameters::yuv_format.
Referenced by compute_mode_RD_cost().

| void reset_adaptive_rounding | ( | ) |
resets adaptive rounding params to zero
Definition at line 230 of file q_around.c.
References ImageParameters::ARCofAdj4x4, ImageParameters::ARCofAdj8x8, ImageParameters::P444_joined, YUV400, and ImageParameters::yuv_format.
Referenced by encode_one_macroblock_high(), encode_one_macroblock_highfast(), encode_one_macroblock_highloss(), and encode_one_macroblock_low().
| void set_block8x8_info | ( | Block8x8Info * | , | |
| int | , | |||
| int | , | |||
| char | [2], | |||
| char | , | |||
| short | ||||
| ) |
Set block 8x8 mode information.
Definition at line 2679 of file rdopt.c.
References Block8x8Info::best8x8l0ref, Block8x8Info::best8x8l1ref, Block8x8Info::best8x8pdir, and Block8x8Info::bipred8x8me.
Referenced by encode_one_macroblock_high(), encode_one_macroblock_highfast(), encode_one_macroblock_highloss(), and encode_one_macroblock_low().
| void set_stored_macroblock_parameters | ( | Macroblock * | currMB | ) |
Set stored macroblock parameters.
Definition at line 1669 of file rdopt.c.
References ImageParameters::AdaptiveRounding, ImageParameters::all_mv, RD_DATA::b8mode, macroblock::b8mode, RD_DATA::b8pdir, macroblock::b8pdir, macroblock::bipred_me, ImageParameters::bipred_mv, ImageParameters::block_x, ImageParameters::block_y, RD_DATA::c_ipred_mode, macroblock::c_ipred_mode, RD_DATA::cbp, macroblock::cbp, RD_DATA::cbp_blk, macroblock::cbp_blk, RD_DATA::cofAC, ImageParameters::cofAC, RD_DATA::cofDC, ImageParameters::cofDC, Decoders::dec_mbY_best, macroblock::delta_qp, RD_DATA::delta_qp, errdo_get_best_block(), ImageParameters::i16offset, RD_DATA::i16offset, storable_picture::imgUV, storable_picture::imgY, RD_DATA::intra_pred_modes, macroblock::intra_pred_modes, RD_DATA::intra_pred_modes8x8, macroblock::intra_pred_modes8x8, RD_DATA::ipredmode, ImageParameters::ipredmode, ImageParameters::ipredmode8x8, is_bipred_enabled(), macroblock::list_offset, RD_DATA::luma_transform_size_8x8_flag, macroblock::luma_transform_size_8x8_flag, ImageParameters::mb_cr_size_x, ImageParameters::mb_cr_size_y, RD_DATA::mb_type, macroblock::mb_type, ImageParameters::MbaffFrameFlag, RD_DATA::mode, storable_picture::motion, pic_motion_params::mv, ImageParameters::num_blk8x8_uv, ImageParameters::P444_joined, storable_picture::p_dec_img, ImageParameters::pix_c_x, ImageParameters::pix_c_y, ImageParameters::pix_x, ImageParameters::pix_y, macroblock::prev_cbp, RD_DATA::prev_cbp, macroblock::prev_dqp, RD_DATA::prev_dqp, macroblock::prev_qp, RD_DATA::prev_qp, macroblock::qp, RD_DATA::qp, InputParameters::rdopt, InputParameters::RDOQ_QP_Num, RD_DATA::rec_mb_cr, RD_DATA::rec_mbY, pic_motion_params::ref_idx, pic_motion_params::ref_pic_id, storable_picture::ref_pic_num, RD_DATA::refar, RestoreMV8x8(), SetMotionVectorsMB(), InputParameters::Transform8x8Mode, ImageParameters::type, update_offset_params(), InputParameters::UseRDOQuant, macroblock::valid_8x8, YUV400, and ImageParameters::yuv_format.
Referenced by encode_one_macroblock_high(), encode_one_macroblock_highfast(), and encode_one_macroblock_highloss().

| void set_subblock8x8_info | ( | Block8x8Info * | , | |
| int | , | |||
| int | , | |||
| RD_8x8DATA * | ||||
| ) |
Set block 8x8 mode information for P8x8 mode.
Definition at line 2720 of file rdopt.c.
References Block8x8Info::best8x8l0ref, Block8x8Info::best8x8l1ref, Block8x8Info::best8x8mode, Block8x8Info::best8x8pdir, and Block8x8Info::bipred8x8me.
Referenced by encode_one_macroblock_high(), encode_one_macroblock_highfast(), encode_one_macroblock_highloss(), and encode_one_macroblock_low().
| void SetCoeffAndReconstruction8x8 | ( | Macroblock * | ) |
Sets Coefficients and reconstruction for an 8x8 block.
Definition at line 1028 of file rdopt.c.
References _LUMA_8x8_COEFF_COST_, macroblock::b8mode, macroblock::b8pdir, macroblock::bipred_me, ImageParameters::block_x, ImageParameters::block_y, macroblock::cbp, macroblock::cbp_blk, ImageParameters::cofAC, Decoders::dec_mb_pred_best8x8, Decoders::dec_mbY_best8x8, errdo_get_best_block(), storable_picture::imgUV, storable_picture::imgY, macroblock::list_offset, ImageParameters::lossless_qpprime_flag, macroblock::luma_transform_size_8x8_flag, storable_picture::motion, ImageParameters::P444_joined, storable_picture::p_dec_img, ImageParameters::pix_x, ImageParameters::pix_y, macroblock::qp_scaled, InputParameters::rdopt, pic_motion_params::ref_idx, pic_motion_params::ref_pic_id, storable_picture::ref_pic_num, RestoreMV8x8(), StoreMV8x8(), ImageParameters::type, and macroblock::valid_8x8.
Referenced by encode_one_macroblock_low(), and RDCost_for_macroblocks().

| void SetModesAndRefframeForBlocks | ( | Macroblock * | currMB, | |
| int | ||||
| ) |
Sets modes and reference frames for a macroblock.
Definition at line 751 of file rdopt.c.
References macroblock::ar_mode, macroblock::b8mode, macroblock::b8pdir, ImageParameters::b8x8info, Block8x8Info::best8x8l0ref, Block8x8Info::best8x8l1ref, Block8x8Info::best8x8mode, Block8x8Info::best8x8pdir, Block8x8Info::bipred8x8me, macroblock::bipred_me, ImageParameters::block_x, ImageParameters::block_y, direct_pdir, direct_ref_idx, macroblock::list_offset, macroblock::luma_transform_size_8x8_flag, macroblock::mb_type, storable_picture::motion, pic_motion_params::ref_idx, pic_motion_params::ref_pic_id, storable_picture::ref_pic_num, and ImageParameters::type.
Referenced by compute_mode_RD_cost(), encode_one_macroblock_low(), and RDCost_for_macroblocks().
| void SetRefAndMotionVectors | ( | PicMotionParams * | motion, | |
| Macroblock * | currMB, | |||
| int | , | |||
| int | , | |||
| int | , | |||
| int | , | |||
| int | , | |||
| short | ||||
| ) |
Set reference frames and motion vectors.
Definition at line 1968 of file rdopt.c.
References ImageParameters::all_mv, ImageParameters::bipred_mv, ImageParameters::block_x, ImageParameters::block_y, direct_ref_idx, is_bipred_enabled(), macroblock::list_offset, pic_motion_params::mv, InputParameters::part_size, pic_motion_params::ref_idx, pic_motion_params::ref_pic_id, storable_picture::ref_pic_num, and ImageParameters::type.
Referenced by encode_one_macroblock_high(), encode_one_macroblock_highfast(), encode_one_macroblock_highloss(), encode_one_macroblock_low(), submacroblock_mode_decision(), and submacroblock_mode_decision_low().

| void store_macroblock_parameters | ( | Macroblock * | currMB, | |
| int | ||||
| ) |
Store macroblock parameters.
Definition at line 1557 of file rdopt.c.
References ImageParameters::AdaptiveRounding, ImageParameters::ARCofAdj4x4, ImageParameters::ARCofAdj8x8, macroblock::b8mode, macroblock::b8pdir, macroblock::bipred_me, ImageParameters::block_x, ImageParameters::block_y, macroblock::c_ipred_mode, macroblock::cbp, macroblock::cbp_blk, ImageParameters::cofAC, ImageParameters::cofDC, Decoders::dec_mbY_best, errdo_store_best_block(), ImageParameters::i16offset, storable_picture::imgUV, storable_picture::imgY, macroblock::intra_pred_modes, macroblock::intra_pred_modes8x8, ImageParameters::ipredmode, ImageParameters::ipredmode8x8, macroblock::luma_transform_size_8x8_flag, ImageParameters::mb_cr_size_x, ImageParameters::mb_cr_size_y, storable_picture::motion, storable_picture::p_dec_img, ImageParameters::pix_c_x, ImageParameters::pix_c_y, ImageParameters::pix_x, ImageParameters::pix_y, InputParameters::rdopt, pic_motion_params::ref_idx, store_adaptive_rounding_16x16(), ImageParameters::type, YUV400, and ImageParameters::yuv_format.
Referenced by compute_mode_RD_cost().

| void StoreMV8x8 | ( | int | dir | ) |
Store motion vectors of 8x8 partitions of one macroblock.
Definition at line 2242 of file rdopt.c.
References StoreMVBlock8x8(), and ImageParameters::type.
Referenced by SetCoeffAndReconstruction8x8().

| void StoreNewMotionVectorsBlock8x8 | ( | int | , | |
| int | , | |||
| int | , | |||
| int | , | |||
| int | , | |||
| int | , | |||
| int | , | |||
| int | ||||
| ) |
Store predictors for 8x8 partition.
Definition at line 2338 of file rdopt.c.
References ImageParameters::all_mv, and ImageParameters::bipred_mv.
Referenced by submacroblock_mode_decision(), and submacroblock_mode_decision_low().
| void submacroblock_mode_decision | ( | Slice * | currSlice, | |
| RD_PARAMS * | , | |||
| RD_8x8DATA * | , | |||
| Macroblock * | , | |||
| int **** | , | |||
| int * | , | |||
| short | , | |||
| int | , | |||
| int * | , | |||
| int * | , | |||
| int * | , | |||
| int | , | |||
| int | ||||
| ) |
Mode Decision for an 8x8 sub-macroblock.
Definition at line 407 of file mode_decision.c.
References ImageParameters::all_mv, ImageParameters::ARCofAdj4x4, ImageParameters::ARCofAdj8x8, macroblock::b8mode, ImageParameters::bipred_mv, ImageParameters::block_x, ImageParameters::block_y, ImageParameters::cofAC, InputParameters::CtxAdptLagrangeMult, Decoders::dec_mb_pred, Decoders::dec_mb_pred_best8x8, Decoders::dec_mbY_best8x8, determine_prediction_list(), direct_pdir, direct_ref_idx, errdo_get_best_block(), errdo_store_best_block(), F_PEL, H_PEL, storable_picture::imgUV, storable_picture::imgY, is_bipred_enabled(), list_prediction_cost(), macroblock::luma_transform_size_8x8_flag, macroblock::mb_nr, ImageParameters::mb_pred, storable_picture::motion, pic_motion_params::mv, ImageParameters::nz_coeff, ImageParameters::P444_joined, storable_picture::p_dec_img, PartitionMotionSearch(), ImageParameters::pix_x, ImageParameters::pix_y, Q_PEL, RDCost_for_8x8blocks(), InputParameters::rdopt, pic_motion_params::ref_idx, pic_motion_params::ref_pic_id, storable_picture::ref_pic_num, reset_coding_state(), SetRefAndMotionVectors(), store_coding_state(), StoreNewMotionVectorsBlock8x8(), ImageParameters::type, update_adaptive_rounding_8x8(), and macroblock::valid_8x8.
Referenced by encode_one_macroblock_high(), encode_one_macroblock_highfast(), and encode_one_macroblock_highloss().

| void submacroblock_mode_decision_low | ( | Slice * | currSlice, | |
| RD_PARAMS * | , | |||
| RD_8x8DATA * | , | |||
| Macroblock * | , | |||
| int **** | , | |||
| int * | , | |||
| short | , | |||
| int | , | |||
| int * | , | |||
| int * | , | |||
| int * | , | |||
| int | , | |||
| int | ||||
| ) |
Low Complexity Mode Decision for an 8x8 sub-macroblock.
Definition at line 779 of file mode_decision.c.
References macroblock::ar_mode, ImageParameters::ARCofAdj4x4, ImageParameters::ARCofAdj8x8, macroblock::b8mode, B8Mode2Value(), macroblock::bipred_me, ImageParameters::block_x, ImageParameters::block_y, ImageParameters::cofAC, InputParameters::CtxAdptLagrangeMult, determine_prediction_list(), direct_pdir, direct_ref_idx, F_PEL, GetDirectCost8x8(), H_PEL, storable_picture::imgUV, storable_picture::imgY, is_bipred_enabled(), list_prediction_cost(), macroblock::luma_transform_size_8x8_flag, LumaResidualCoding8x8(), macroblock::mb_nr, ImageParameters::mb_pred, storable_picture::motion, ImageParameters::nz_coeff, ImageParameters::P444_joined, PartitionMotionSearch(), ImageParameters::pix_x, ImageParameters::pix_y, Q_PEL, pic_motion_params::ref_idx, pic_motion_params::ref_pic_id, storable_picture::ref_pic_num, reset_coding_state(), SetRefAndMotionVectors(), store_coding_state(), StoreNewMotionVectorsBlock8x8(), InputParameters::Transform8x8Mode, ImageParameters::type, update_adaptive_rounding_8x8(), and macroblock::valid_8x8.
Referenced by encode_one_macroblock_low().

| int transform_termination_control | ( | Macroblock * | currMB, | |
| int | mode, | |||
| int | bslice | |||
| ) |
Decides whether to perform tranform 8x8 for this mode.
Definition at line 1308 of file mode_decision.c.
References macroblock::luma_transform_size_8x8_flag, and InputParameters::Transform8x8Mode.
Referenced by compute_mode_RD_cost().
| int QP2QUANT[40] |