#include "global.h"

Go to the source code of this file.
Functions | |
| unsigned | getMaxFs (unsigned int levelIdc) |
| unsigned | getMaxMBPS (unsigned int levelIdc) |
| void | ProfileCheck (void) |
| void | LevelCheck (void) |
| void | update_mv_limits (ImageParameters *img, byte is_field) |
| void | clip_mv_range (ImageParameters *img, int search_range, MotionVector *mv, int res) |
| void | test_clip_mvs (ImageParameters *img, short mv[2], Boolean write_mb) |
| int | out_of_bounds_mvs (ImageParameters *img, short mv[2]) |
| int | InvalidWeightsForBiPrediction (Block8x8Info *b8x8info, int mode) |
| int | InvalidMotionVectors (Block8x8Info *b8x8info, int mode) |
| int | CheckPredictionParams (pic_parameter_set_rbsp_t *active_pps, Block8x8Info *b8x8info, int mode, int bslice) |
Variables | |
| unsigned int | MaxFs [] |
| unsigned int | MaxMBPS [] |
| const int | LEVELVMVLIMIT [17][6] |
| const int | LEVELHMVLIMIT [6] = { -2047, 2047, -4096, 4095, -8192, 8191} |
Definition in file conformance.c.
| void clip_mv_range | ( | ImageParameters * | img, | |
| int | search_range, | |||
| MotionVector * | mv, | |||
| int | res | |||
| ) |
Clip motion vector range given encoding level.
Definition at line 368 of file conformance.c.
References ImageParameters::MaxHmvR, and ImageParameters::MaxVmvR.
Referenced by BiPredBlockMotionSearch(), and BlockMotionSearch().
| unsigned getMaxFs | ( | unsigned int | levelIdc | ) |
Get maximum frame size (in MBs) supported given a level.
Definition at line 60 of file conformance.c.
References error().
Referenced by LevelCheck().

| unsigned getMaxMBPS | ( | unsigned int | levelIdc | ) |
Get maximum processing rate (in MB/s) supported given a level.
Definition at line 83 of file conformance.c.
References error().
Referenced by LevelCheck().

| void LevelCheck | ( | void | ) |
Check if Level constraints are satisfied.
Definition at line 285 of file conformance.c.
References ImageParameters::auto_crop_bottom, ImageParameters::auto_crop_right, InputParameters::directInferenceFlag, error(), errortext, ET_SIZE, getMaxFs(), getMaxMBPS(), InputParameters::IntraProfile, InputParameters::LevelIDC, InputParameters::MbInterlace, InputParameters::output, InputParameters::PicInterlace, InputParameters::slice_argument, and InputParameters::slice_mode.
Referenced by PatchInp().

| int out_of_bounds_mvs | ( | ImageParameters * | img, | |
| short | mv[2] | |||
| ) |
Clip motion vector range given encoding level.
Definition at line 400 of file conformance.c.
References ImageParameters::MaxHmvR, and ImageParameters::MaxVmvR.
Referenced by Get_Direct_Motion_Vectors(), and RDCost_for_macroblocks().
| void ProfileCheck | ( | void | ) |
Check Profile conformance.
Definition at line 106 of file conformance.c.
References InputParameters::BRefPictures, InputParameters::ChromaIntraDisable, InputParameters::ChromaMEEnable, InputParameters::directInferenceFlag, error(), errortext, ET_SIZE, InputParameters::FastCrIntraDecision, FREXT_CAVLC444, FREXT_Hi10P, FREXT_Hi422, FREXT_Hi444, FREXT_HP, InputParameters::GenerateMultiplePPS, InputParameters::idr_period, InputParameters::intra_period, InputParameters::IntraProfile, InputParameters::MbInterlace, InputParameters::num_ref_frames, InputParameters::num_slice_groups_minus1, InputParameters::NumberBFrames, InputParameters::partition_mode, InputParameters::PicInterlace, InputParameters::PReplaceBSlice, InputParameters::ProfileIDC, InputParameters::redundant_pic_flag, InputParameters::separate_colour_plane_flag, InputParameters::sp_periodicity, InputParameters::symbol_mode, InputParameters::WeightedBiprediction, InputParameters::WeightedPrediction, and InputParameters::yuv_format.
Referenced by PatchInp().

| void test_clip_mvs | ( | ImageParameters * | img, | |
| short | mv[2], | |||
| Boolean | write_mb | |||
| ) |
Clip motion vector range given encoding level.
Definition at line 383 of file conformance.c.
References ImageParameters::MaxHmvR, and ImageParameters::MaxVmvR.
| void update_mv_limits | ( | ImageParameters * | img, | |
| byte | is_field | |||
| ) |
Update Motion Vector Limits.
Definition at line 333 of file conformance.c.
References ImageParameters::LevelIndex, ImageParameters::MaxHmvR, ImageParameters::MaxVmvR, InputParameters::SetMVXLimit, InputParameters::SetMVYLimit, and InputParameters::UseMVLimits.
Referenced by encode_one_slice_MBAFF(), field_picture(), and frame_picture().
| const int LEVELVMVLIMIT[17][6] |
Initial value:
{
{ -63, 63, -128, 127, -256, 255},
{ -63, 63, -128, 127, -256, 255},
{ -127, 127, -256, 255, -512, 511},
{ -127, 127, -256, 255, -512, 511},
{ -127, 127, -256, 255, -512, 511},
{ -127, 127, -256, 255, -512, 511},
{ -255, 255, -512, 511, -1024, 1023},
{ -255, 255, -512, 511, -1024, 1023},
{ -255, 255, -512, 511, -1024, 1023},
{ -511, 511, -1024, 1023, -2048, 2047},
{ -511, 511, -1024, 1023, -2048, 2047},
{ -511, 511, -1024, 1023, -2048, 2047},
{ -511, 511, -1024, 1023, -2048, 2047},
{ -511, 511, -1024, 1023, -2048, 2047},
{ -511, 511, -1024, 1023, -2048, 2047},
{ -511, 511, -1024, 1023, -2048, 2047},
{ -511, 511, -1024, 1023, -2048, 2047}
}
Definition at line 31 of file conformance.c.
| unsigned int MaxFs[] |
Initial value:
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 99, 396, 396, 396, 0, 0, 0, 0, 0, 0, 396, 792, 1620, 0, 0, 0, 0, 0, 0, 0,
1620, 3600, 5120, 0, 0, 0, 0, 0, 0, 0, 8192, 8192, 8704, 0, 0, 0, 0, 0, 0, 0, 22080, 36864 }
Definition at line 20 of file conformance.c.
| unsigned int MaxMBPS[] |
Initial value:
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1485, 1485, 3000, 6000, 11880, 0, 0, 0, 0, 0, 0, 11880, 19800, 20250, 0, 0, 0, 0, 0, 0, 0,
40500, 10800, 216000, 0, 0, 0, 0, 0, 0, 0, 245760, 245760, 522240, 0, 0, 0, 0, 0, 0, 0, 589824, 983040 }
Definition at line 24 of file conformance.c.