summaryrefslogtreecommitdiff
path: root/src/gen8_mfc.c
AgeCommit message (Collapse)AuthorFilesLines
2014-09-02H264_Encoding: Fix the incorrect Qp setting under CBR when slice_header is ↵Zhao Yakui1-5/+12
passed Fix the issue in https://bugs.freedesktop.org/show_bug.cgi?id=83143 Signed-off-by: Zhao Yakui <yakui.zhao@intel.com> Tested-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com> (cherry picked from commit eca8e0065e3a04156e0817d3a5ac14f4df39d603) Conflicts: src/gen6_mfc.c src/gen8_mfc.c
2014-06-16H264_encoding: Don't update the slice qp for CBR mode when finding packed ↵Zhao, Yakui1-2/+4
slice_header data Otherwise the slice qp is inconsistent and the encoding is incorrect. Signed-off-by: Zhao Yakui <yakui.zhao@intel.com> (cherry picked from commit 897527c30435202927e6cd05cd5189a710d02c91)
2014-06-16H264_Encoding: Add the support of packed slice header to be flexibleZhao, Yakui1-30/+0
Under some encoding scenario, the user hopes to generate the packed slice header data by themself and then the driver can insert the passed slice header packed data into the coded clip. 1.The VA_ENC_PACKED_HEADER_SLICE flag is exported and it is treated as optional. This is to say: if packed slice header data is passed, it will be inserted directly. If no packed slice header data is passed, the driver will help to generate it. 2.Another restriction is that the packed slice header data is inserted after the packed rawdata for one slice. That is to say: If it needs to insert the packed rawdata and slice header data, the packed rawdata will be inserted firstly(This is handled by the driver). Signed-off-by: Zhao, Yakui <yakui.zhao@intel.com> (cherry picked from commit 00111e8a8bfa67b971419b72577eaa1b9f47bc34) Conflicts: src/gen75_mfc.c src/gen8_mfc.c
2014-06-16H264_encoding: Add the support of inserting the packed raw data passed from userZhao, Yakui1-2/+4
Under some encoding scenario, the user-space application hopes that the driver can insert the passed packed rawdata into the coded clip. This is to allow the insertion of packed rawdata passed from user. As the position of packed rawdata is related with the slice. So the following restrictions are added: 1. the packed rawdata header type/data should be paired. 2. the packed rawdata data is inserted by following the passed order 3. the packed rawdata header type/data is split by using VAEncSliceParameterBuffer. That is to say: The packed rawdata for slice 0 should be passed before the first VAEncSliceParameterBuffer. After one VAEncSliceParameterBuffer is parsed, the subseuquent packed rawdata is for another new slice. The subsequent packed rawdata after the last VAEncSliceParameterBuffer is ignored. 4. it does not change the rule for the packed data of SPS/PPS/MISC type. Signed-off-by: Zhao Yakui <yakui.zhao@intel.com> (cherry picked from commit 974597ef64dc9a283d4787e1484a75d1610414f4) Conflicts: src/gen75_mfc.c src/gen8_mfc.c
2014-06-16encoder: MVC: Add support for MVC profilesLi Xiaowei1-4/+9
This is a part of bd630edd844b88ea543a027654db296ff7da16cd on staging Signed-off-by: Li Xiaowei <xiaowei.a.li@intel.com> Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
2014-04-23Use the VA_FOURCC_ABCD constant to replace the VA_FOURCC(A,B,C,D)Zhao Yakui1-1/+1
This is helpful to avoid the typo error when using VA_FOURCC(A, B, C, D). Signed-off-by: Zhao Yakui <yakui.zhao@intel.com> (cherry picked from commit acea969011bceee36a57fe2c0e4ee96c0c5e79c7)
2014-02-27Update the MFX_AVC_IMAGE_STATE to follow the specZhao Yakui1-1/+1
Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
2014-02-27Fix the incorrect MV upper bound setting of MFC_IND_OBJ_BASE_ADDRESS_STAE ↵Zhao Yakui1-1/+3
for encoding on gen8 Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
2014-02-27BDW encoding reuses aux_batchbuffer instead of allocating another new bufferZhao Yakui1-12/+6
This is picked up from that on Haswell/Ivybridge. Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
2014-02-27Calculate required space of batch buffer to avoid buffer overflow in ↵Zhao Yakui1-1/+5
encoding on BDW The required size is based on the number of macroblocks and slice parameter. Then it can avoid that too large buffer is allocated or possible overflow. This is picked up from that on Haswell/Ivybridge. Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
2014-02-27BDW doesn't support H.264 Baseline profileXiang, Haihao1-1/+1
The similar fix to f765987 Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
2014-02-27Enable the Intra-prediction for MPEG2 P-B frame on BDWZhao Yakui1-1/+20
This is picked up from the implementation on Haswell/Ivybridge. Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
2014-02-27Fix incorrect MI_BATCH_BUFFER_START command for MPEG2 encoding on BDWZhao Yakui1-2/+4
Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
2014-02-27Follow the input Picture/Slice parameters for SLICE_STATE command on BDWXiang, Haihao1-11/+21
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
2014-02-27Pass the reference frame index in List0/1 into the PAK command on BDWXiang, Haihao1-2/+3
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
2014-02-27Indent the code of encoding on BDWXiang, Haihao1-159/+159
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
2014-02-27Optimize quantization rounding precision of MPEG2 encoding on Gen8Zhao Yakui1-1/+8
This is from that on Ivy/Haswell. Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
2014-02-27PAK encoding uses the reference list parsed from slice_param instead of ↵Zhao Yakui1-26/+1
hacked DPB This is backported from Sandybridge/Ivybridge/Haswell. Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
2014-02-27Fix the MV offset for MPEG2 on BDWZhao Yakui1-6/+7
Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
2014-02-27Handle the bit length of last dword for INSERT_OBJECT on BDWZhao Yakui1-0/+3
Otherwise it can't insert the content of INSERT_OBJECT command during encoding, which causes that the encoded clip can't be parsed by player. Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
2014-02-27Rewrite the VME shader for encoding on BDWZhao Yakui1-1/+1
Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
2014-02-27Update the MI_BATCH_BUFFER_START for BDWZhao Yakui1-2/+3
Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
2014-02-27Avoid the duplicated macro-definition of surface sizeZhao Yakui1-0/+4
Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
2014-02-27Add the separated media encoding/decoding files for BDWZhao Yakui1-0/+2469
As a lot of changes about the media are added between Haswell and BDW, the separated media encoding/decoding files are added for BDW. This is to avoid complex backward logic for Haswell. Signed-off-by: Zhao Yakui <yakui.zhao@intel.com> [Haihao: directly use object instead of id] Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>