summaryrefslogtreecommitdiff
path: root/vp9/simple_encode.h
AgeCommit message (Collapse)AuthorFilesLines
2020-11-25Fix typos in simple_encode.hAngie Chiang1-1/+1
Change-Id: Id83eff6cc12c441ce991fb1a73820d106311cf5e
2020-11-20Allow user to set rc_mode and cq_level in SimpleEncodeAngie Chiang1-15/+26
Change-Id: If3f56837e2c78a8b0fe7e0040f297c3f3ddb9c8b
2020-11-09Accumulate frame tpl stats and pass through rate control apiCheng Chen1-0/+30
Tpl stats is computed at the beginning of encoding the altref frame. We aggregate tpl stats of all blocks for every frame of the current group of picture. After the altref frame is encoded, the tpl stats is passed through the encode frame result to external environment. Change-Id: I2284f8cf9c45d35ba02f3ea45f0187edbbf48294
2020-10-15vp9_extrc_get_encodeframe_decision()angiebird1-4/+4
Bug: webm:1707 Change-Id: I90a327b97d7158b65767fe3fbfd5f260030e17f5
2020-10-02Add SetEncodeConfig and DumpEncodeConfigsangiebird1-0/+31
Change-Id: Ie6864b1133c26021d9c4883df033ecd2969585ed
2020-08-10Cosmetic changes in simple_encode.hangiebird1-3/+3
Change-Id: If7d2711e7f37f00629874914f7c4d2396358e39d
2020-08-10Correct the first pass motion vector scaleangiebird1-1/+2
Change-Id: I005a648f7f9ead9d36a39330dfbb096919affb34
2020-08-10Make target_frame_bits error margin configurable.angiebird1-2/+7
Change-Id: I05dd4d60741743c13951727ce6608acf4224ebec
2020-08-07Add rq_history to encode_frame_resultangiebird1-0/+6
Change-Id: Ic2a52dcf5e5a6d57b80d390a2c48ee498e89e7b2
2020-08-03L2E: Add ObserveFirstPassMotionVectorCheng Chen1-4/+23
Store motion vectors for each 16x16 block found in the first pass motion search. Provide an api "ObserveFirstPassMotionVector()" in SimpleEncode class, similar to "ObserveFirstPassStats()". Change-Id: Ia86386b7e4aa549f7000e7965c287380bf52e62c
2020-07-20Add init version of EncodeFrameWithTargetFrameBits()angiebird1-0/+6
Will add a unit test in a followup CL. Change-Id: I6a6354f307c427e1a352be7c6421927323eb5e1b
2020-07-15Add SetEncodeSpeed() to SimpleEncodeangiebird1-0/+10
Change-Id: I2fcf37045a96bb101de3359e2e69dcc266c1dc10
2020-06-11Let SetExternalGroupOfPicturesMap use c-style arrangiebird1-1/+1
Change-Id: Ic92ce5a3cc5bb74120eb32fc6219e43b1b861f14
2020-05-28Add extra check / unit test to SetExternalGroupOfPicturesMap()angiebird1-2/+11
Let SetExternalGroupOfPicturesMap() modify the gop_map_ to satisfy the following constraints. 1) Each key frame position should be at the start of a gop. 2) The last gop should not use an alt ref. Add unit test for SetExternalGroupOfPicturesMap() Change-Id: Iee9bd238ad0fc5c2ccbf2fbd065a280c854cd718
2020-05-26Add functions to compute/observe key frame mapangiebird1-3/+17
Change-Id: I2fc0efb2ac35e64af3350bddaa802a206d1aa13c
2020-05-26Make SetExternalGroupOfPicture support no arf modeangiebird1-7/+32
Rename external_arf_indexes by gop_map Use kGopMapFlagStart to indicate the start of a gop in the gop_map. Use kGopMapFlagUseAltRef to indicate whether to use altref in the gop_map. Change-Id: I743e3199a24b9ae1abd5acd290da1a1f8660e6ac
2020-03-16Add detail comments on valid_list in SimpleEncodeangiebird1-0/+1
Change-Id: Iad7ca261a99c7b5f082cf3cc6504f4af438bf409
2020-03-13Move member functions up in simple_encode.hangiebird1-11/+11
Change-Id: I9c5c74ab52361bcd73aef110729c6e332066c2af
2020-03-03Add unit test for ref_frame_infoangiebird1-1/+4
Fix several bugs to make the test pass. 1) Move update_frame_indexes() out of show_frame check. 2) Init coding_indexes[i] to -1 when key frame appears 3) Fix a bug in PostUpdateRefFrameInfo() Change-Id: Ie7c70a1d460e5b89475a1aef77416fc9a88387e1
2020-03-03Add key frame group info to SimpleEncodeangiebird1-2/+19
Change-Id: I2c5abbe23c84c6d794e06ed6429136b10fb18683
2020-03-03Add ref_frame_info to encode_frame_resultangiebird1-0/+2
Change-Id: If41a1ea6ce0a2b8db3811f2fa8efcf16f97fa0bd
2020-02-26Add RefFrameInfoangiebird1-17/+20
RefFrameInfo contains the coding_indexes and valid_list of three reference frame types. Note that I will add unit test in the follow-up CLs. Change-Id: Ia055df1f8a5537b2bdd02c78991df9bbf48e951a
2020-02-25Keep ref frame coding indexes in SimpleEncodeangiebird1-1/+21
Change-Id: Id76aeb54ef93b11ca9a582f76289da0e60368e56
2020-02-24Make external arf consistent with vp9Cheng Chen1-3/+4
Add a test to ensure that encoding with the external arfs gets the same result as long as the arfs are the same as the vp9 baseline. Change-Id: I92c79001018f4df3bc16e9fc56c733509bebb9dc
2020-02-24Add interface for external arf indexes.Cheng Chen1-0/+8
Pass in external arf indexes to encode command. Change-Id: Ifea5a7d835643760fc5effc594bb448848f6d639
2020-02-21Rename values in RefFrameType and FrameTypeangiebird1-12/+14
Replace golden and altref by past and future in RefFrameType. So that we don't get confused with FrameType and RefFrameType. Change-Id: I1be45d49f76c68869fc4bf53ff946fee9ce7eb9d
2020-02-20Add kGoldenFrame and kOverlayFrame to FrameTypeangiebird1-4/+20
Add coding_index to EncodeFrameInfo Add start_coding_index to GroupOfPicture Add frame_coding_index_ to SimpleEncode The definition of coding index is as follows. Each show or no show frame is assigned with a coding index based on its coding order (starting from zero) in the coding process of the entire video. The coding index for each frame is unique. Change-Id: I43e18434a0dff0d1cd6f927a693d6860e4038337
2020-02-10Set mv to zero if the second ref does not existCheng Chen1-0/+2
Change-Id: I94b936c2642981eccdff073fc71c12e2dccb7909
2020-02-06Replace NULL by nullptr in simple_encode.c/hangiebird1-1/+1
Change-Id: Ib68740a02be852d03a3a2ad4d9d4a7d84d537590
2020-02-06Sync simple_encode.hangiebird1-7/+6
Change-Id: I046b8c65c96e1864813f9a82649dd6b41ba0aa1f
2020-02-06Pass motion vector info to encode frame resultCheng Chen1-0/+38
Pass the motion vector info stored to the encode frame result through the interface "update_encode_frame_result()". Change-Id: I589affa0c4c4d0fd4d639edff9068e44a715beff
2020-02-05Let SimpleEncode be able to output bitstreamangiebird1-2/+5
Add outfile_path to SimpleEncode() with default value NULL. The encoder will only output bitstream when outfile_path is set. Change-Id: Ic68e5358ea454358c510bb0ae214f4201cb3db39
2020-02-05Add coded_frame to EncodeFrameResultsangiebird1-2/+12
This coded_frame represents the raw coded image. Change-Id: Iea439da2f9e84c4507b082d77ebaac49bfd74fff
2020-01-28Change partition_info to a vectorCheng Chen1-2/+6
Change-Id: Ia59229da51671045448ea904ed65026155868993
2020-01-27Add some description about partition infoCheng Chen1-0/+14
Change-Id: I62e45433aad7887f47e3c88fc40f046feef92ad9
2020-01-27Merge "l2e: cosmetic changes of multi-dimension arrays"Cheng Chen1-18/+23
2020-01-27Pass partition info to encode frame resultCheng Chen1-2/+19
Init the memory for partition information in "EncodeFrameResult". And pass the partition information of vp9 encoder to it through the interface: "update_encode_frame_result()". Change-Id: Iea049e661da79f54d41da7924b9ef28ff7cfbfa3
2020-01-26l2e: cosmetic changes of multi-dimension arraysCheng Chen1-18/+23
Change-Id: I8c504b031cefeb8cfa4df8ca3a85c55fd1ae5a7f
2020-01-13Add comments to frame counts.Cheng Chen1-0/+37
Change-Id: I74a1ccb55af78af1153af75734ca43fa140910a7
2020-01-09Copy frame counts to the encode result.Cheng Chen1-0/+48
Explicitly copy frame counts of each frame to the encode result struct. Change-Id: Icc18ac83a9e2be8d7a4819f2fffcfda6568b275c
2019-12-16Rename encode_frame_indexangiebird1-5/+6
to next_encode_frame_index Change-Id: Id9bd2a0f6c4278bf0f0c270eb937a317232dead6
2019-12-16Add start_show_index/show_frame_countangiebird1-0/+5
to GroupOfPicture Change-Id: I905be72686b6c0e27ea782a12f1e8a8176c8b0f5
2019-12-13Add detailed description about GroupOfPictureangiebird1-0/+11
Change-Id: I96a447e59bdcf156ab6fbf9e766d867633ca47f3
2019-12-12Add GetFramePixelCount to SimpleEncodeangiebird1-0/+3
Gets the total number of pixels of YUV planes per frame. Change-Id: Ifdf35190cdde1378de6d7e93ab4428868a5795fa
2019-12-10Add GetNextEncodeFrameInfo ObserveGroupOfPictureangiebird1-0/+20
GetNextEncodeFrameInfo() Gets encode_frame_info for the next coding frame. ObserveGroupOfPicture() Provides the group of pictures that the next coding frame is in. Change-Id: Idbc437d32c392f25b06efb2d4e1ec01347d678f2
2019-12-06Add GetKeyFrameGroupSize()angiebird1-0/+7
Makes vp9_get_frames_to_next_key() public. Change-Id: I903cefbb3925d6ffc641412c6d60d95a2ff256a4
2019-12-03Describe ObserveFirstPassStats with more detailsangiebird1-1/+4
Change-Id: I7c15aeaf0c0884b7c7b265fb03fbbb9ccc6b73be
2019-11-25Make GetCodingFrameNum const functionangiebird1-1/+1
Change-Id: I6a5a2400cfb6e122c77667e0950c80026c48a1f6
2019-11-25Add missing includes to simple_encode.hangiebird1-0/+3
Change-Id: Ic3bb2450443c52ba3df1ed6729cecdab51245e76
2019-11-25Correct typo in simple_encode.hangiebird1-5/+5
Change-Id: Ifa858acad8b943d1579283fd1c72ff41434c0710