1*495ae853SAndroid Build Coastguard Worker## Frame Info exported from libAVC 2*495ae853SAndroid Build Coastguard Worker 3*495ae853SAndroid Build Coastguard Worker### Introduction 4*495ae853SAndroid Build Coastguard WorkerQP and block type maps for H264 are defined for each 8x8 MB sub-block. 5*495ae853SAndroid Build Coastguard WorkerThe QP values defined as unsigned 8-bit numbers can range from <0, 51> and the block type can 6*495ae853SAndroid Build Coastguard Workerbe INTER/INTRA/SKIP. Set the “u4_frame_info_enable” flag to enable encoder/decoder to populate 7*495ae853SAndroid Build Coastguard Workerand return the qp values and block type data in their output structures ih264e_video_encode_op_t 8*495ae853SAndroid Build Coastguard Workerand ih264d_video_decode_op_t respectively via pu1_8x8_blk_qp_map and pu1_8x8_blk_type_map. 9*495ae853SAndroid Build Coastguard Worker 10*495ae853SAndroid Build Coastguard Worker### Mapping to the frame 11*495ae853SAndroid Build Coastguard WorkerLet’s say, a frame has a total of ‘n’ MBs (each 16x16). Since the QP and block type are defined 12*495ae853SAndroid Build Coastguard Workerfor each 8x8 block, hence each MB will have 4 entries in the maps. Thus, a total of n x 4 entries 13*495ae853SAndroid Build Coastguard Workerfor each frame. Qp and block type values for each 8x8 block are stored in raster scan order. Refer 14*495ae853SAndroid Build Coastguard Workerto ih264d.h for details. 15*495ae853SAndroid Build Coastguard Worker 16*495ae853SAndroid Build Coastguard Worker### Plugin/Application 17*495ae853SAndroid Build Coastguard WorkerThe encoder/decoder keeps the QP and block type map as a part of its output handle. The plugins can 18*495ae853SAndroid Build Coastguard Workeraccess these data through the output structure. 19