From: Ziqing Hui zhui@codeweavers.com
--- include/codecapi.h | 5 +++++ 1 file changed, 5 insertions(+)
diff --git a/include/codecapi.h b/include/codecapi.h index c196c6214e7..244c78dbf1f 100644 --- a/include/codecapi.h +++ b/include/codecapi.h @@ -243,4 +243,9 @@ DEFINE_GUID(CODECAPI_AVEncVideoOutputColorNominalRange, 0x972835ed, 0x87b5, DEFINE_GUID(CODECAPI_AVEncVideoOutputFrameRate, 0xea85e7c3, 0x9567, 0x4d99, 0x87, 0xc4, 0x02, 0xc1, 0xc2, 0x78, 0xca, 0x7c); DEFINE_GUID(CODECAPI_AVEncVideoOutputFrameRateConversion, 0x8c068bf4, 0x369a, 0x4ba3, 0x82, 0xfd, 0xb2, 0x51, 0x8f, 0xb3, 0x39, 0x6e);
+DEFINE_GUID(CODECAPI_AVEncVideoEncodeDimension, 0x1074df28, 0x7e0f, 0x47a4, 0xa4, 0x53, 0xcd, 0xd7, 0x38, 0x70, 0xf5, 0xce); +DEFINE_GUID(CODECAPI_AVEncVideoEncodeOffsetOrigin, 0x6bc098fe, 0xa71a, 0x4454, 0x85, 0x2e, 0x4d, 0x2d, 0xde, 0xb2, 0xcd, 0x24); +DEFINE_GUID(CODECAPI_AVEncVideoEncodeQP, 0x2cb5696b, 0x23fb, 0x4ce1, 0xa0, 0xf9, 0xef, 0x5b, 0x90, 0xfd, 0x55, 0xca); +DEFINE_GUID(CODECAPI_AVEncVideoEncodeFrameTypeQP, 0xaa70b610, 0xe03f, 0x450c, 0xad, 0x07, 0x07, 0x31, 0x4e, 0x63, 0x9c, 0xe7); + #endif /* __CODECAPI_H */
From: Ziqing Hui zhui@codeweavers.com
--- include/codecapi.h | 6 ++++++ 1 file changed, 6 insertions(+)
diff --git a/include/codecapi.h b/include/codecapi.h index 244c78dbf1f..783b3bca900 100644 --- a/include/codecapi.h +++ b/include/codecapi.h @@ -248,4 +248,10 @@ DEFINE_GUID(CODECAPI_AVEncVideoEncodeOffsetOrigin, 0x6bc098fe, 0xa71a, 0x4454, 0 DEFINE_GUID(CODECAPI_AVEncVideoEncodeQP, 0x2cb5696b, 0x23fb, 0x4ce1, 0xa0, 0xf9, 0xef, 0x5b, 0x90, 0xfd, 0x55, 0xca); DEFINE_GUID(CODECAPI_AVEncVideoEncodeFrameTypeQP, 0xaa70b610, 0xe03f, 0x450c, 0xad, 0x07, 0x07, 0x31, 0x4e, 0x63, 0x9c, 0xe7);
+DEFINE_GUID(CODECAPI_AVEncVideoMaxKeyframeDistance, 0x2987123a, 0xba93, 0x4704, 0xb4, 0x89, 0xec, 0x1e, 0x5f, 0x25, 0x29, 0x2c); +DEFINE_GUID(CODECAPI_AVEncVideoMaxCTBSize, 0x822363ff, 0xcec8, 0x43e5, 0x92, 0xfd, 0xe0, 0x97, 0x48, 0x84, 0x85, 0xe9); +DEFINE_GUID(CODECAPI_AVEncVideoMaxTemporalLayers, 0x9c668cfe, 0x08e1, 0x424a, 0x93, 0x4e, 0xb7, 0x64, 0xb0, 0x64, 0x80, 0x2a); +DEFINE_GUID(CODECAPI_AVEncVideoMaxNumRefFrame, 0x964829ed, 0x94f9, 0x43b4, 0xb7, 0x4d, 0xef, 0x40, 0x94, 0x4b, 0x69, 0xa0); +DEFINE_GUID(CODECAPI_AVEncVideoMaxQP, 0x3daf6f66, 0xa6a7, 0x45e0, 0xa8, 0xe5, 0xf2, 0x74, 0x3f, 0x46, 0xa3, 0xa2); + #endif /* __CODECAPI_H */
From: Ziqing Hui zhui@codeweavers.com
--- include/codecapi.h | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/include/codecapi.h b/include/codecapi.h index 783b3bca900..57bd0f795d8 100644 --- a/include/codecapi.h +++ b/include/codecapi.h @@ -254,4 +254,7 @@ DEFINE_GUID(CODECAPI_AVEncVideoMaxTemporalLayers, 0x9c668cfe, 0x08e1, 0x424a, DEFINE_GUID(CODECAPI_AVEncVideoMaxNumRefFrame, 0x964829ed, 0x94f9, 0x43b4, 0xb7, 0x4d, 0xef, 0x40, 0x94, 0x4b, 0x69, 0xa0); DEFINE_GUID(CODECAPI_AVEncVideoMaxQP, 0x3daf6f66, 0xa6a7, 0x45e0, 0xa8, 0xe5, 0xf2, 0x74, 0x3f, 0x46, 0xa3, 0xa2);
+DEFINE_GUID(CODECAPI_AVEncVideoInverseTelecineEnable, 0x2ea9098b, 0xe76d, 0x4ccd, 0xa0, 0x30, 0xd3, 0xb8, 0x89, 0xc1, 0xb6, 0x4c); +DEFINE_GUID(CODECAPI_AVEncVideoInverseTelecineThreshold, 0x40247d84, 0xe895, 0x497f, 0xb4, 0x4c, 0xb7, 0x45, 0x60, 0xac, 0xfe, 0x27); + #endif /* __CODECAPI_H */
From: Ziqing Hui zhui@codeweavers.com
--- include/codecapi.h | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+)
diff --git a/include/codecapi.h b/include/codecapi.h index 57bd0f795d8..5c580f9e415 100644 --- a/include/codecapi.h +++ b/include/codecapi.h @@ -155,6 +155,20 @@ enum eAVEncVideoOutputFrameRateConversion eAVEncVideoOutputFrameRateConversion_Alias = 2 };
+enum eAVEncVideoFilmContent +{ + eAVEncVideoFilmContent_VideoOnly = 0, + eAVEncVideoFilmContent_FilmOnly = 1, + eAVEncVideoFilmContent_Mixed = 2, +}; + +enum eAVEncVideoSourceScanType +{ + eAVEncVideoSourceScan_Automatic = 0, + eAVEncVideoSourceScan_Interlaced = 1, + eAVEncVideoSourceScan_Progressive = 2, +}; + DEFINE_GUID(CODECAPI_AVDecVideoAcceleration_H264, 0xf7db8a2f, 0x4f48, 0x4ee8, 0xae, 0x31, 0x8b, 0x6e, 0xbe, 0x55, 0x8a, 0xe2);
DEFINE_GUID(CODECAPI_AVEncCodecType, 0x08af4ac1, 0xf3f2, 0x4c74, 0x9d, 0xcf, 0x37, 0xf2, 0xec, 0x79, 0xf8, 0x26); @@ -257,4 +271,8 @@ DEFINE_GUID(CODECAPI_AVEncVideoMaxQP, 0x3daf6f66, 0xa6a7, 0x45e0, DEFINE_GUID(CODECAPI_AVEncVideoInverseTelecineEnable, 0x2ea9098b, 0xe76d, 0x4ccd, 0xa0, 0x30, 0xd3, 0xb8, 0x89, 0xc1, 0xb6, 0x4c); DEFINE_GUID(CODECAPI_AVEncVideoInverseTelecineThreshold, 0x40247d84, 0xe895, 0x497f, 0xb4, 0x4c, 0xb7, 0x45, 0x60, 0xac, 0xfe, 0x27);
+DEFINE_GUID(CODECAPI_AVEncVideoSourceIsBW, 0x42ffc49b, 0x1812, 0x4fdc, 0x8d, 0x24, 0x70, 0x54, 0xc5, 0x21, 0xe6, 0xeb); +DEFINE_GUID(CODECAPI_AVEncVideoSourceFilmContent, 0x1791c64b, 0xccfc, 0x4827, 0xa0, 0xed, 0x25, 0x57, 0x79, 0x3b, 0x2b, 0x1c); +DEFINE_GUID(CODECAPI_AVEncVideoForceSourceScanType, 0x1ef2065f, 0x058a, 0x4765, 0xa4, 0xfc, 0x8a, 0x86, 0x4c, 0x10, 0x30, 0x12); + #endif /* __CODECAPI_H */
From: Ziqing Hui zhui@codeweavers.com
--- include/codecapi.h | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+)
diff --git a/include/codecapi.h b/include/codecapi.h index 5c580f9e415..b40d122c497 100644 --- a/include/codecapi.h +++ b/include/codecapi.h @@ -169,6 +169,20 @@ enum eAVEncVideoSourceScanType eAVEncVideoSourceScan_Progressive = 2, };
+enum eAVEncVideoOutputScanType +{ + eAVEncVideoOutputScan_Progressive = 0, + eAVEncVideoOutputScan_Interlaced = 1, + eAVEncVideoOutputScan_SameAsInput = 2, + eAVEncVideoOutputScan_Automatic = 3, +}; + +enum eAVEncVideoContentType +{ + eAVEncVideoContentType_Unknown = 0, + eAVEncVideoContentType_FixedCameraAngle = 1, +}; + DEFINE_GUID(CODECAPI_AVDecVideoAcceleration_H264, 0xf7db8a2f, 0x4f48, 0x4ee8, 0xae, 0x31, 0x8b, 0x6e, 0xbe, 0x55, 0x8a, 0xe2);
DEFINE_GUID(CODECAPI_AVEncCodecType, 0x08af4ac1, 0xf3f2, 0x4c74, 0x9d, 0xcf, 0x37, 0xf2, 0xec, 0x79, 0xf8, 0x26); @@ -275,4 +289,33 @@ DEFINE_GUID(CODECAPI_AVEncVideoSourceIsBW, 0x42ffc49b, 0x1812, 0x4fdc, DEFINE_GUID(CODECAPI_AVEncVideoSourceFilmContent, 0x1791c64b, 0xccfc, 0x4827, 0xa0, 0xed, 0x25, 0x57, 0x79, 0x3b, 0x2b, 0x1c); DEFINE_GUID(CODECAPI_AVEncVideoForceSourceScanType, 0x1ef2065f, 0x058a, 0x4765, 0xa4, 0xfc, 0x8a, 0x86, 0x4c, 0x10, 0x30, 0x12);
+DEFINE_GUID(CODECAPI_AVEncVideoCBRMotionTradeoff, 0x0d49451e, 0x18d5, 0x4367, 0xa4, 0xef, 0x32, 0x40, 0xdf, 0x16, 0x93, 0xc4); +DEFINE_GUID(CODECAPI_AVEncVideoCodedVideoAccessUnitSize, 0xb4b10c15, 0x14a7, 0x4ce8, 0xb1, 0x73, 0xdc, 0x90, 0xa0, 0xb4, 0xfc, 0xdb); +DEFINE_GUID(CODECAPI_AVEncVideoContentType, 0x66117aca, 0xeb77, 0x459d, 0x93, 0x0c, 0xa4, 0x8d, 0x9d, 0x06, 0x83, 0xfc); +DEFINE_GUID(CODECAPI_AVEncVideoCTBSize, 0xd47db8b2, 0xe73b, 0x4cb9, 0x8c, 0x3e, 0xbd, 0x87, 0x7d, 0x06, 0xd7, 0x7b); +DEFINE_GUID(CODECAPI_AVEncVideoDefaultUpperFieldDominant, 0x810167c4, 0x0bc1, 0x47ca, 0x8f, 0xc2, 0x57, 0x05, 0x5a, 0x14, 0x74, 0xa5); +DEFINE_GUID(CODECAPI_AVEncVideoDirtyRectEnabled, 0x8acb8fdd, 0x5e0c, 0x4c66, 0x87, 0x29, 0xb8, 0xf6, 0x29, 0xab, 0x04, 0xfb); +DEFINE_GUID(CODECAPI_AVEncVideoDisplayDimension, 0xde053668, 0xf4ec, 0x47a9, 0x86, 0xd0, 0x83, 0x67, 0x70, 0xf0, 0xc1, 0xd5); +DEFINE_GUID(CODECAPI_AVEncVideoFieldSwap, 0xfefd7569, 0x4e0a, 0x49f2, 0x9f, 0x2b, 0x36, 0x0e, 0xa4, 0x8c, 0x19, 0xa2); +DEFINE_GUID(CODECAPI_AVEncVideoForceKeyFrame, 0x398c1b98, 0x8353, 0x475a, 0x9e, 0xf2, 0x8f, 0x26, 0x5d, 0x26, 0x03, 0x45); +DEFINE_GUID(CODECAPI_AVEncVideoGradualIntraRefresh, 0x8f347dee, 0xcb0d, 0x49ba, 0xb4, 0x62, 0xdb, 0x69, 0x27, 0xee, 0x21, 0x01); +DEFINE_GUID(CODECAPI_AVEncVideoIntraLayerPrediction, 0xd3af46b8, 0xbf47, 0x44bb, 0xa2, 0x83, 0x69, 0xf0, 0xb0, 0x22, 0x8f, 0xf9); +DEFINE_GUID(CODECAPI_AVEncVideoInstantTemporalUpSwitching, 0xa3308307, 0x0d96, 0x4ba4, 0xb1, 0xf0, 0xb9, 0x1a, 0x5e, 0x49, 0xdf, 0x10); +DEFINE_GUID(CODECAPI_AVEncVideoLTRBufferControl, 0xa4a0e93d, 0x4cbc, 0x444c, 0x89, 0xf4, 0x82, 0x6d, 0x31, 0x0e, 0x92, 0xa7); +DEFINE_GUID(CODECAPI_AVEncVideoMarkLTRFrame, 0xe42f4748, 0xa06d, 0x4ef9, 0x8c, 0xea, 0x3d, 0x05, 0xfd, 0xe3, 0xbd, 0x3b); +DEFINE_GUID(CODECAPI_AVEncVideoMeanAbsoluteDifference, 0xe5c0c10f, 0x81a4, 0x422d, 0x8c, 0x3f, 0xb4, 0x74, 0xa4, 0x58, 0x13, 0x36); +DEFINE_GUID(CODECAPI_AVEncVideoMinQP, 0x0ee22c6a, 0xa37c, 0x4568, 0xb5, 0xf1, 0x9d, 0x4c, 0x2b, 0x3a, 0xb8, 0x86); +DEFINE_GUID(CODECAPI_AVEncVideoNoOfFieldsToEncode, 0x61e4bbe2, 0x4ee0, 0x40e7, 0x80, 0xab, 0x51, 0xdd, 0xee, 0xbe, 0x62, 0x91); +DEFINE_GUID(CODECAPI_AVEncVideoNoOfFieldsToSkip, 0xa97e1240, 0x1427, 0x4c16, 0xa7, 0xf7, 0x3d, 0xcf, 0xd8, 0xba, 0x4c, 0xc5); +DEFINE_GUID(CODECAPI_AVEncVideoNumGOPsPerIDR, 0x83bc5bdb, 0x5b89, 0x4521, 0x8f, 0x66, 0x33, 0x15, 0x1c, 0x37, 0x31, 0x76); +DEFINE_GUID(CODECAPI_AVEncVideoOutputScanType, 0x460b5576, 0x842e, 0x49ab, 0xa6, 0x2d, 0xb3, 0x6f, 0x73, 0x12, 0xc9, 0xdb); +DEFINE_GUID(CODECAPI_AVEncVideoPixelAspectRatio, 0x3cdc718f, 0xb3e9, 0x4eb6, 0xa5, 0x7f, 0xcf, 0x1f, 0x1b, 0x32, 0x1b, 0x87); +DEFINE_GUID(CODECAPI_AVEncVideoRateControlParams, 0x87d43767, 0x7645, 0x44ec, 0xb4, 0x38, 0xd3, 0x32, 0x2f, 0xbc, 0xa2, 0x9f); +DEFINE_GUID(CODECAPI_AVEncVideoROIEnabled, 0xd74f7f18, 0x44dd, 0x4b85, 0xab, 0xa3, 0x05, 0xd9, 0xf4, 0x2a, 0x82, 0x80); +DEFINE_GUID(CODECAPI_AVEncVideoSelectLayer, 0xeb1084f5, 0x6aaa, 0x4914, 0xbb, 0x2f, 0x61, 0x47, 0x22, 0x7f, 0x12, 0xe7); +DEFINE_GUID(CODECAPI_AVEncVideoSupportedControls, 0xd3f40fdd, 0x77b9, 0x473d, 0x81, 0x96, 0x06, 0x12, 0x59, 0xe6, 0x9c, 0xff); +DEFINE_GUID(CODECAPI_AVEncVideoTemporalLayerCount, 0x19caebff, 0xb74d, 0x4cfd, 0x8c, 0x27, 0xc2, 0xf9, 0xd9, 0x7d, 0x5f, 0x52); +DEFINE_GUID(CODECAPI_AVEncVideoUsage, 0x1f636849, 0x5dc1, 0x49f1, 0xb1, 0xd8, 0xce, 0x3c, 0xf6, 0x2e, 0xa3, 0x85); +DEFINE_GUID(CODECAPI_AVEncVideoUseLTRFrame, 0x00752db8, 0x55f7, 0x4f80, 0x89, 0x5b, 0x27, 0x63, 0x91, 0x95, 0xf2, 0xad); + #endif /* __CODECAPI_H */
These look correct but I'm not sure to see the point, are we really going to implement all these GUIDs? If they do and if there is a lot more to come, as CODECAPI has a ton, maybe we could add them all at once?
This merge request was approved by Rémi Bernon.
On Fri Aug 9 09:10:25 2024 +0000, Rémi Bernon wrote:
These look correct but I'm not sure to see the point, are we really going to implement all these GUIDs? If they do and if there is a lot more to come, as CODECAPI has a ton, maybe we could add them all at once?
This is the final MR that add codecapi guids. I only add the encoder guids. Some of the codec attributes should have corresponding gstreamer properties, which have impact on encoding.