platform/upstream/libvpx.git
4 years agoMerge "Add text to clarify the unit of variables for target bitrate"
James Zern [Sat, 11 Jan 2020 01:09:19 +0000 (01:09 +0000)]
Merge "Add text to clarify the unit of variables for target bitrate"

4 years agoMerge "Fix test failure with --size-limit"
Jerome Jiang [Fri, 10 Jan 2020 06:00:31 +0000 (06:00 +0000)]
Merge "Fix test failure with --size-limit"

4 years agoFix test failure with --size-limit
Jerome Jiang [Thu, 9 Jan 2020 18:50:43 +0000 (10:50 -0800)]
Fix test failure with --size-limit

The test didn't verify expected error code with invalid sizes. It
assumed VPX_CODEC_OK.

Added new Encoder class which doesn't run decoding at all. It accepts
expected error code to verify with encoder output.

The encoder behavior was changed in 94a65e8.

BUG=webm:1670

Change-Id: I6324d8f744e6c4aa82aa66913923dc140b07bfc9

4 years agoAvoid reloads in vp9_read_mode_info.
Clement Courbet [Tue, 7 Jan 2020 08:08:24 +0000 (09:08 +0100)]
Avoid reloads in vp9_read_mode_info.

The compiler cannot prove that the buffers do not alias, so it has to emit a
reload. On our internal workloads, the reloads are about 1% of the total time
spent decoding frames.

The loop before the change:

movzwl 0x8(%r15), %edx       # load ref_frame
addq $0xc, %rax
movw %dx, -0x4(%rax)         # store ref_frame
movq 0xc(%r15), %rdx         # load mv
movq %rdx, -0xc(%rax)        # store mv
cmpq %rax, %rcx
jne -0x1a

The loop after the change:

movw %r9w, 0x8(%rax)         # store cached ref_frame
addq $0xc, %rax
movq %r8, -0xc(%rax)         # store cached mv
cmpq %rax, %rdx
jne -0x12

Change-Id: Ia1e9634bcabb4d7e06ed60f470bc4cd67f5ab27e

4 years agoMerge remote-tracking branch 'origin/pekin'
Johann [Thu, 19 Dec 2019 22:24:23 +0000 (14:24 -0800)]
Merge remote-tracking branch 'origin/pekin'

Change-Id: I6f8e21696023fa4067960a7dedb6e7bbdb531ff9

4 years agoAdd text to clarify the unit of variables for target bitrate
Wonkap Jang [Wed, 18 Dec 2019 21:29:09 +0000 (13:29 -0800)]
Add text to clarify the unit of variables for target bitrate

ts_target_bitrate, layer_target_bitrate, and ss_target_bitrate

Change-Id: I845c4b67b5b8b546f7a185e97ad9e510bc246ce0

4 years agoMerge "vp8: move error check earlier"
Johann Koenig [Wed, 18 Dec 2019 06:01:54 +0000 (06:01 +0000)]
Merge "vp8: move error check earlier"

4 years agoMerge "trivial: remove reference to error correction"
Johann Koenig [Tue, 17 Dec 2019 20:44:58 +0000 (20:44 +0000)]
Merge "trivial: remove reference to error correction"

4 years agoMerge "trivial: fix 'fragment' spelling"
Johann Koenig [Tue, 17 Dec 2019 20:22:07 +0000 (20:22 +0000)]
Merge "trivial: fix 'fragment' spelling"

4 years agovp8: move error check earlier
Johann [Tue, 17 Dec 2019 19:44:26 +0000 (11:44 -0800)]
vp8: move error check earlier

This avoids assigning variables which will not be used. A
similar change was made to vpx_dsp/bitreader.c a long time
ago.

Change-Id: Ia5012091b8d85ca9bfefc7735a2aa69c5c2bf516

4 years agoMerge "vp8 boolreader: ignore invalid input"
Johann Koenig [Tue, 17 Dec 2019 19:41:23 +0000 (19:41 +0000)]
Merge "vp8 boolreader: ignore invalid input"

4 years agoRename encode_frame_index
angiebird [Mon, 16 Dec 2019 23:19:35 +0000 (15:19 -0800)]
Rename encode_frame_index

to next_encode_frame_index

Change-Id: Id9bd2a0f6c4278bf0f0c270eb937a317232dead6

4 years agoAdd start_show_index/show_frame_count
angiebird [Sat, 14 Dec 2019 00:44:21 +0000 (16:44 -0800)]
Add start_show_index/show_frame_count

to GroupOfPicture

Change-Id: I905be72686b6c0e27ea782a12f1e8a8176c8b0f5

4 years agoCosmetic change of update_encode_frame_result()
angiebird [Fri, 13 Dec 2019 00:14:05 +0000 (16:14 -0800)]
Cosmetic change of update_encode_frame_result()

Move output parameter to the end.

Change-Id: I579a118768d29cb1ae2e3c8995a952ef11cfeb8d

4 years agoMove psnr/sse computation under RATE_CTRL flag
angiebird [Thu, 12 Dec 2019 23:43:48 +0000 (15:43 -0800)]
Move psnr/sse computation under RATE_CTRL flag

in update_encode_frame_result()

Change-Id: Ie86d11f66744ef95dd224c7daf325750a5e5458b

4 years agoAdd detailed description about GroupOfPicture
angiebird [Thu, 12 Dec 2019 20:40:43 +0000 (12:40 -0800)]
Add detailed description about GroupOfPicture

Change-Id: I96a447e59bdcf156ab6fbf9e766d867633ca47f3

4 years agoCosmetic change of vp9_get_gop_coding_frame_count
angiebird [Thu, 12 Dec 2019 20:15:33 +0000 (12:15 -0800)]
Cosmetic change of vp9_get_gop_coding_frame_count

Move the output parameter to the end.

Change-Id: I39c718b683a76cd7c5998724c3a07e88275198bf

4 years agoAdd GetFramePixelCount to SimpleEncode
angiebird [Wed, 11 Dec 2019 23:43:48 +0000 (15:43 -0800)]
Add GetFramePixelCount to SimpleEncode

Gets the total number of pixels of YUV planes per frame.

Change-Id: Ifdf35190cdde1378de6d7e93ab4428868a5795fa

4 years agoCosmetic changes for RATE_CTRL related functions
angiebird [Wed, 11 Dec 2019 21:49:39 +0000 (13:49 -0800)]
Cosmetic changes for RATE_CTRL related functions

Move input parameters ahead of output parameters.

Change-Id: I384f69523b6be92224535d05373ebb33467a040e

4 years agoMerge changes I54f60f62,Idbc437d3
Angie Chiang [Wed, 11 Dec 2019 00:42:01 +0000 (00:42 +0000)]
Merge changes I54f60f62,Idbc437d3

* changes:
  Rename parameter two_pass to twopass.
  Add GetNextEncodeFrameInfo ObserveGroupOfPicture

4 years agoRename parameter two_pass to twopass.
angiebird [Tue, 10 Dec 2019 01:00:27 +0000 (17:00 -0800)]
Rename parameter two_pass to twopass.

Change-Id: I54f60f62f27f9ef96db892d5b6219c9591ce2dc9

4 years agoAdd GetNextEncodeFrameInfo ObserveGroupOfPicture
angiebird [Wed, 27 Nov 2019 00:40:48 +0000 (16:40 -0800)]
Add GetNextEncodeFrameInfo ObserveGroupOfPicture

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

4 years agoRelease v1.8.2 Pekin Duck v1.8.2
Johann [Mon, 9 Dec 2019 23:08:49 +0000 (15:08 -0800)]
Release v1.8.2 Pekin Duck

Fixed: webm:1661

Change-Id: Icc17635d63fbd533a084e17cc291693b9a453887

4 years agoMerge changes I41ff04bb,I3d88d719
Angie Chiang [Mon, 9 Dec 2019 22:15:50 +0000 (22:15 +0000)]
Merge changes I41ff04bb,I3d88d719

* changes:
  Set frames_since_key in vp9_get_coding_frame_num
  Add vp9_get_gop_coding_frame_count()

4 years agoSet frames_since_key in vp9_get_coding_frame_num
angiebird [Mon, 9 Dec 2019 19:27:46 +0000 (11:27 -0800)]
Set frames_since_key in vp9_get_coding_frame_num

Set frames_since_key to 0 whenever a key frame appears.

Add dependency notes to get_gop_coding_frame_num()

Change-Id: I41ff04bb1c6176e60946b05fe21c72fbb82be62a

4 years agoAdd vp9_get_gop_coding_frame_count()
angiebird [Sat, 7 Dec 2019 01:24:27 +0000 (17:24 -0800)]
Add vp9_get_gop_coding_frame_count()

Call this function before coding a new group of picture to get
information about it.

Change-Id: I3d88d719dd27c6d7383eb8f92307a93096b30706

4 years agoMerge "Merge Timestamp TestVpxRollover tests for Vp8/Vp9"
Debargha Mukherjee [Sat, 7 Dec 2019 02:10:33 +0000 (02:10 +0000)]
Merge "Merge Timestamp TestVpxRollover tests for Vp8/Vp9"

4 years agoMerge Timestamp TestVpxRollover tests for Vp8/Vp9
Debargha Mukherjee [Fri, 6 Dec 2019 22:20:56 +0000 (14:20 -0800)]
Merge Timestamp TestVpxRollover tests for Vp8/Vp9

BUG=webm:701

Change-Id: Id0b928db3cbb6263d136d7b9eb8d9453b3c63824

4 years agoAdd GetKeyFrameGroupSize()
angiebird [Mon, 25 Nov 2019 20:26:08 +0000 (12:26 -0800)]
Add GetKeyFrameGroupSize()

Makes vp9_get_frames_to_next_key() public.

Change-Id: I903cefbb3925d6ffc641412c6d60d95a2ff256a4

4 years agoconfigure.sh,darwin: fix asm conv w/external build
James Zern [Fri, 6 Dec 2019 21:18:37 +0000 (13:18 -0800)]
configure.sh,darwin: fix asm conv w/external build

always set asm_conversion_cmd as e.g., vpx_config.asm may still be
generated with make when using --enable-external-build

BUG=webm:1535

Change-Id: I120452d4e06580b67119aee8d0a710998ac87a7a

4 years agoFix argv leak on Unrecognized input file type err
Wan-Teh Chang [Fri, 6 Dec 2019 18:42:49 +0000 (10:42 -0800)]
Fix argv leak on Unrecognized input file type err

Free argv (allocated by argv_dup) after the
"Unrecognized input file type" error.

Change-Id: I2b6273a1abca2ff8e51445fb15839bd993c41741

4 years agoAdd missing typecast and re-enable timestamp test
Debargha Mukherjee [Fri, 6 Dec 2019 03:14:41 +0000 (19:14 -0800)]
Add missing typecast and re-enable timestamp test

BUG=webm:701

Change-Id: I1d8a6e263fddb9e4cc6265a313011a18d18bbf9e

4 years agotrivial: fix 'fragment' spelling
Johann [Wed, 4 Dec 2019 23:02:47 +0000 (15:02 -0800)]
trivial: fix 'fragment' spelling

Change-Id: I71b17f3dcb72d5cb2c1d7fe94dd5228433c6eef5

4 years agotrivial: remove reference to error correction
Johann [Wed, 4 Dec 2019 23:07:12 +0000 (15:07 -0800)]
trivial: remove reference to error correction

vp9 does not support error correction

Change-Id: I89517ae97abfa60833c9150495556d49c9656778

4 years agovp8 boolreader: ignore invalid input
Johann [Tue, 3 Dec 2019 23:29:35 +0000 (15:29 -0800)]
vp8 boolreader: ignore invalid input

Do basic initialization even when the result will not be used.

BUG=chromium:1026961

Change-Id: Iaa480534b49efe1ecc66484b316f8d654e8a1245

4 years agoremove init_motion_estimation from update_initial_width
Jerome Jiang [Wed, 4 Dec 2019 20:46:56 +0000 (12:46 -0800)]
remove init_motion_estimation from update_initial_width

Change-Id: I04da24eb6a87425490b25e50ead7a8fd8117e7cb

4 years agoMerge "Fix the encode inconsistency of SimpleEncode"
Angie Chiang [Wed, 4 Dec 2019 20:26:28 +0000 (20:26 +0000)]
Merge "Fix the encode inconsistency of SimpleEncode"

4 years agoMerge "Describe ObserveFirstPassStats with more details"
Angie Chiang [Wed, 4 Dec 2019 19:31:02 +0000 (19:31 +0000)]
Merge "Describe ObserveFirstPassStats with more details"

4 years agoFix the encode inconsistency of SimpleEncode
angiebird [Tue, 3 Dec 2019 23:34:03 +0000 (15:34 -0800)]
Fix the encode inconsistency of SimpleEncode

Make sure restore_coding_context() is always called in the end
of encode_with_recode_loop().

Add EncodeConsistencyTest.

Change-Id: I3c8e4c8fcff4e3f7afef9bec469beef2a5fb6eeb

4 years agoDescribe ObserveFirstPassStats with more details
angiebird [Tue, 26 Nov 2019 21:43:03 +0000 (13:43 -0800)]
Describe ObserveFirstPassStats with more details

Change-Id: I7c15aeaf0c0884b7c7b265fb03fbbb9ccc6b73be

4 years agoMerge "Avoid dividing by 0 in vp8 gf_group bits compute"
Debargha Mukherjee [Tue, 3 Dec 2019 02:29:30 +0000 (02:29 +0000)]
Merge "Avoid dividing by 0 in vp8 gf_group bits compute"

4 years agoAvoid dividing by 0 in vp8 gf_group bits compute
Debargha Mukherjee [Mon, 2 Dec 2019 22:49:50 +0000 (14:49 -0800)]
Avoid dividing by 0 in vp8 gf_group bits compute

BUG=webm:1653

Change-Id: Ic59fe5e573f08dbca678d3927d4a750ae75f903c

4 years agoFix SVC regression in webrtc tests.
Jerome Jiang [Mon, 2 Dec 2019 20:20:17 +0000 (12:20 -0800)]
Fix SVC regression in webrtc tests.

BUG=1029438

Change-Id: I4495fc7bb45e77e9d91059a5c6c4695d8da1bf34

4 years agoMerge "Fix mutex free in multi-thread lpf"
James Zern [Mon, 2 Dec 2019 20:16:33 +0000 (20:16 +0000)]
Merge "Fix mutex free in multi-thread lpf"

4 years agoFix mutex free in multi-thread lpf
Venkatarama NG. Avadhani [Mon, 25 Nov 2019 10:45:52 +0000 (16:15 +0530)]
Fix mutex free in multi-thread lpf

The mutex lf_mutex will now be allocated and destroyed, making it easier
to verify if it has been inited before destruction.

BUG=webm:1662

Change-Id: I8169bea9e117bd615d68b8d02da98aeab570b53f

4 years agoMerge "fix __has_attribute in visual studio"
Johann Koenig [Tue, 26 Nov 2019 14:44:15 +0000 (14:44 +0000)]
Merge "fix __has_attribute in visual studio"

4 years agoMake GetCodingFrameNum const function
angiebird [Fri, 22 Nov 2019 18:53:09 +0000 (10:53 -0800)]
Make GetCodingFrameNum const function

Change-Id: I6a5a2400cfb6e122c77667e0950c80026c48a1f6

4 years agoAdd missing includes to simple_encode.h
angiebird [Fri, 22 Nov 2019 18:44:02 +0000 (10:44 -0800)]
Add missing includes to simple_encode.h

Change-Id: Ic3bb2450443c52ba3df1ed6729cecdab51245e76

4 years agoCorrect typo in simple_encode.h
angiebird [Thu, 21 Nov 2019 19:09:52 +0000 (11:09 -0800)]
Correct typo in simple_encode.h

Change-Id: Ifa858acad8b943d1579283fd1c72ff41434c0710

4 years agoCosmetic change of GetBitrateInKbps
angiebird [Thu, 21 Nov 2019 19:08:52 +0000 (11:08 -0800)]
Cosmetic change of GetBitrateInKbps

Change-Id: Id4b852cdfba0f6fa1e12a05e2617df0de395be9d

4 years agoMerge "Change vp9_get_encoder_config."
Angie Chiang [Mon, 25 Nov 2019 18:34:26 +0000 (18:34 +0000)]
Merge "Change vp9_get_encoder_config."

4 years agofix __has_attribute in visual studio
Johann [Mon, 25 Nov 2019 16:00:50 +0000 (08:00 -0800)]
fix __has_attribute in visual studio

Similar to __has_feature, __has_attribute needs to be defined
away on unsupported platforms.

BUG=chromium:1020220,chromium:977230

Change-Id: I803fff0fef2b18b535604f3b7f9f8300e45f7ef8

4 years agoDisable -ftrivial-auto-var-init= for hot code
Vitaly Buka [Thu, 21 Nov 2019 02:08:14 +0000 (18:08 -0800)]
Disable -ftrivial-auto-var-init= for hot code

Improves encode_time by 10% on FullStackTest.VP9KSVC_3SL_High and other
tests when -ftrivial-auto-var-init= is used.

vp9_pick_inter_mode can be called recursevely so multiple pred_buf is
neede. So alternative to attribute should be list of bufferes in
ThreadData or TileData.

Bug: 1020220, 977230
Change-Id: I939a468f88c2b5dd2ec235de7564b92bfaa356f5

4 years agoDisable -ftrivial-auto-var-init= for hot code
Vitaly Buka [Fri, 15 Nov 2019 18:40:47 +0000 (10:40 -0800)]
Disable -ftrivial-auto-var-init= for hot code

This helps to improve some benchmarks by 10%, e.g. decode_time
PCFullStackTest.VP9SVC_3SL_Low

Bug: 1020220, 977230
Change-Id: Ic992f1eec369f46a08e19eb33bc3a7c15c1e7c87

4 years agoMerge "Move buffer from extend_and_predict into TileWorkerData"
Jerome Jiang [Fri, 22 Nov 2019 22:50:30 +0000 (22:50 +0000)]
Merge "Move buffer from extend_and_predict into TileWorkerData"

4 years agoChange vp9_get_encoder_config.
angiebird [Wed, 20 Nov 2019 23:54:54 +0000 (15:54 -0800)]
Change vp9_get_encoder_config.

Add vp9_dump_encoder_config for config comparison.

This function will generate the same VP9EncoderConfig used by the
vpxenc command given below.
The configs in the vpxenc command corresponds to parameters of
vp9_get_encoder_config() as follows.

WIDTH:   frame_width
HEIGHT:  frame_height
FPS:     frame_rate
BITRATE: target_bitrate

INPUT, OUTPUT, LIMIT will not affect VP9EncoderConfig

vpxenc command:
INPUT=bus_cif.y4m
OUTPUT=output.webm
WIDTH=352
HEIGHT=288
BITRATE=600
FPS=30/1
LIMIT=150
./vpxenc --limit=$LIMIT --width=$WIDTH --height=$HEIGHT --fps=$FPS
--lag-in-frames=25 \
 --codec=vp9 --good --cpu-used=0 --threads=0 --profile=0 \
 --min-q=0 --max-q=63 --auto-alt-ref=1 --passes=2 --kf-max-dist=150 \
 --kf-min-dist=0 --drop-frame=0 --static-thresh=0 --bias-pct=50 \
 --minsection-pct=0 --maxsection-pct=150 --arnr-maxframes=7 --psnr \
 --arnr-strength=5 --sharpness=0 --undershoot-pct=100 --overshoot-pct=100 \
 --frame-parallel=0 --tile-columns=0 --cpu-used=0 --end-usage=vbr \
 --target-bitrate=$BITRATE -o $OUTPUT $INPUT

Change-Id: If7fd635d6f3fad4e6199a4fbcd556323efc1c250

4 years agoAdd trailing underscore to members of SimpleEncode
angiebird [Wed, 20 Nov 2019 20:48:58 +0000 (12:48 -0800)]
Add trailing underscore to members of SimpleEncode

Change-Id: I7a1d19ed4fd60fef374392c86df69d2122c335f0

4 years agoRename impl by EncodeImpl
angiebird [Wed, 20 Nov 2019 20:34:26 +0000 (12:34 -0800)]
Rename impl by EncodeImpl

Change-Id: Id182cd234c9f4f37c2854ea5ca761d8cfa113791

4 years agoCosmetic changes of SimpleEncode code
angiebird [Tue, 19 Nov 2019 22:04:02 +0000 (14:04 -0800)]
Cosmetic changes of SimpleEncode code

Change-Id: Ied06630d605a4978711070778b92bfb731c32161

4 years agoFix a bug related to use_external_quantize_index
angiebird [Tue, 19 Nov 2019 21:58:36 +0000 (13:58 -0800)]
Fix a bug related to use_external_quantize_index

Move the break point in encode_with_recode_loop after
save_coding_context() so that restore_coding_context
can work properly.

Change-Id: I58f46928c8cae0ae542fd8343076670fb35681bf

4 years agoFix a bug in free_encoder()
angiebird [Tue, 19 Nov 2019 20:58:05 +0000 (12:58 -0800)]
Fix a bug in free_encoder()

Move vpx_free(buffer_pool) after vp9_remove_compressor()

buffer_pool needs to be free after cpi because buffer_pool
contains allocated buffers that will be free in
vp9_remove_compressor()

Change-Id: I8bcedae2858cfe132bde110c8f3f6b55dcbe3f36

4 years agoUse indicative mood in comments of SimpleEncode
angiebird [Mon, 18 Nov 2019 18:54:18 +0000 (10:54 -0800)]
Use indicative mood in comments of SimpleEncode

Change-Id: I913e14994646945a7237c9ab65097647fb3a5b5c

4 years agoRename pimpl by impl_ptr in SimpleEncode
angiebird [Mon, 18 Nov 2019 18:41:52 +0000 (10:41 -0800)]
Rename pimpl by impl_ptr in SimpleEncode

Change-Id: I0071216b710544731a6f8e8c7a63c7a28f25bbac

4 years agoMove pimpl to the function body of SimpleEncode
angiebird [Mon, 18 Nov 2019 18:37:15 +0000 (10:37 -0800)]
Move pimpl to the function body of SimpleEncode

Change-Id: Id4757d61916b8348d76c99dddbe48e68f2b3ef1a

4 years agoFix a bug in EncodeFrame test
angiebird [Fri, 15 Nov 2019 01:04:58 +0000 (17:04 -0800)]
Fix a bug in EncodeFrame test

Move key frame checks after EncodeFrame()

Change-Id: I4e3eded5dc54e757f85e846c4920cddc1ea7444b

4 years agoAdd namespace vp9
angiebird [Thu, 14 Nov 2019 20:35:13 +0000 (12:35 -0800)]
Add namespace vp9

Change-Id: I29d05557becbfc5d55d1cd1bb709e519d27c928b

4 years agoAdd copyright and header guard for simple_encode.h
angiebird [Wed, 13 Nov 2019 21:39:23 +0000 (13:39 -0800)]
Add copyright and header guard for simple_encode.h

Change-Id: Ib4502fc35202b36aa25f06c7c2bb5203673faa06

4 years agoClose the file that SimpleEncode opens in its ctor in its dtor.
Angie Chen [Wed, 20 Nov 2019 00:37:57 +0000 (16:37 -0800)]
Close the file that SimpleEncode opens in its ctor in its dtor.

Change-Id: I1e5d1be9f076c70ec1d7764d5703aeba8afd4436

4 years agoMerge changes I32ab6829,If47867d4,I4442de01
Angie Chiang [Wed, 20 Nov 2019 01:04:56 +0000 (01:04 +0000)]
Merge changes I32ab6829,If47867d4,I4442de01

* changes:
  Add coding_data_bit_size to EncodeFrameResult
  Pass in infile_path to SimpleEncode()
  Add SimpleEncode::EncodeFrameWithQuantizeIndex()

4 years agoMerge "Use a better model for tune=ssim"
Sai Deng [Wed, 20 Nov 2019 00:58:57 +0000 (00:58 +0000)]
Merge "Use a better model for tune=ssim"

4 years agoUse a better model for tune=ssim
sdeng [Mon, 18 Nov 2019 19:33:22 +0000 (11:33 -0800)]
Use a better model for tune=ssim

Comparing to the baseline tune=ssim, the average gains are
PSNR -0.55, SSIM -0.30, MS-SSIM -0.98, VMAF -1.26

Details: (150f VBR)
               PSNR    SSIM  MS-SSIM    VMAF
Lowres       -1.347   0.291   -0.307  -1.291
Midres       -0.628  -0.329   -1.011  -2.173
Hdres         0.781  -0.656   -1.319   0.210
Ugc360p      -2.695  -0.972   -1.503  -4.055
Lowres_bd10   0.074   0.196   -0.623  -0.835
Midres_bd10   0.517  -0.327   -1.124   0.566

Change-Id: Ie034eaedf20e1fe843921cafbb3b7ad9a2bc89d1

4 years agoAdd coding_data_bit_size to EncodeFrameResult
angiebird [Wed, 13 Nov 2019 02:57:39 +0000 (18:57 -0800)]
Add coding_data_bit_size to EncodeFrameResult

Change-Id: I32ab6829083c896ab2c6234e191939a000dea6e5

4 years agoAdd quantize_index to EncodeFrameResult
angiebird [Tue, 12 Nov 2019 16:56:13 +0000 (08:56 -0800)]
Add quantize_index to EncodeFrameResult

Change-Id: Idfb36a8bfa264df8294eba70424fd25fa5d88cda

4 years agoPass in infile_path to SimpleEncode()
angiebird [Wed, 13 Nov 2019 02:34:03 +0000 (18:34 -0800)]
Pass in infile_path to SimpleEncode()

Change-Id: If47867d4d59a59e252bfe7eb24c940f9e089d335

4 years agoAdd psnr and sse to EncodeFrameResult
angiebird [Tue, 12 Nov 2019 01:33:46 +0000 (17:33 -0800)]
Add psnr and sse to EncodeFrameResult

Change-Id: I33c410a14b86f95278eff8d1d0e6992f1b82a17d

4 years agoAdd SimpleEncode::EncodeFrameWithQuantizeIndex()
angiebird [Tue, 12 Nov 2019 21:52:08 +0000 (13:52 -0800)]
Add SimpleEncode::EncodeFrameWithQuantizeIndex()

Change-Id: I4442de01dfdbf13b0b9f7830f0fb393d3b935522

4 years agoAdd frame_type and show_idx to EncodeFrameResult
angiebird [Mon, 11 Nov 2019 20:32:10 +0000 (12:32 -0800)]
Add frame_type and show_idx to EncodeFrameResult

Let vp9_get_compressed_data update ENCODE_FRAME_RESULT, a C
version of EncodeFrameResult.
Let unit test to test frame_type and show_idx properly.

Change-Id: Id810c26c826254fd82249f19ab855ea3b440d99c

4 years agoAdd EncodeFrameResults
angiebird [Mon, 11 Nov 2019 18:20:15 +0000 (10:20 -0800)]
Add EncodeFrameResults

It contains coding_data_size and coding_data.

The EncodeFrame will allocate a buffer, write the coding data into the
buffer and give the ownership of the buffer to
encode_frame_result->coding_data

Change-Id: I6bd86aede191ade1db4a1f1bba5be601eef97d60

4 years agoRename frame_stats by first_pass_stats
angiebird [Mon, 11 Nov 2019 04:39:37 +0000 (20:39 -0800)]
Rename frame_stats by first_pass_stats

This is in simple_encode.cc

Change-Id: I2770e4a229b435f92e1ebe226644d8d104114d29

4 years agoAdd SimpleEncode::GetCodingFrameNum()
angiebird [Mon, 11 Nov 2019 04:36:04 +0000 (20:36 -0800)]
Add SimpleEncode::GetCodingFrameNum()

Also add unit tests for GetCodingFrameNum() and EncodeFrame()

Change-Id: I3e7b65f47226be4660409481435f8f784db72a68

4 years agoAdd SimpleEncode::EncodeFrame()
angiebird [Mon, 11 Nov 2019 04:01:42 +0000 (20:01 -0800)]
Add SimpleEncode::EncodeFrame()

Change-Id: I08f074b7db2011f88769bd1d9d50cb376c238fe5

4 years agoAdd ComputeFirstPassStats()
angiebird [Sun, 10 Nov 2019 18:48:22 +0000 (10:48 -0800)]
Add ComputeFirstPassStats()

Change-Id: Iaed87a4fa35f456aec5d88d07fade636280eb211

4 years agoAdd vp9_iface_common.c
angiebird [Sun, 10 Nov 2019 00:32:01 +0000 (16:32 -0800)]
Add vp9_iface_common.c

Change-Id: Iac8c31a333a0ae04c9b5f188b3e3b09c25df4046

4 years agoMerge changes Id42dbddd,I6dff1bda
Angie Chiang [Mon, 18 Nov 2019 19:33:55 +0000 (19:33 +0000)]
Merge changes Id42dbddd,I6dff1bda

* changes:
  Add const to oxcf of vp9_create_compressor
  Add simple_encode.cc/h

4 years agovp9_cx_iface: quiet unused fn warning w/CONFIG_REALTIME_ONLY
James Zern [Sat, 16 Nov 2019 04:30:39 +0000 (20:30 -0800)]
vp9_cx_iface: quiet unused fn warning w/CONFIG_REALTIME_ONLY

since:
71684703a Remove output_pkt_list from cpi

Change-Id: I14afae6598051680fdaf8c7509b6705d73789dd6

4 years agoAdd const to oxcf of vp9_create_compressor
angiebird [Sat, 9 Nov 2019 23:38:43 +0000 (15:38 -0800)]
Add const to oxcf of vp9_create_compressor

Change-Id: Id42dbdddae3e0a16022343c89cbc57912297398c

4 years agoAdd simple_encode.cc/h
angiebird [Sat, 9 Nov 2019 04:31:10 +0000 (20:31 -0800)]
Add simple_encode.cc/h

Change-Id: I6dff1bda4bea760a32c2f8e38773e5913c830204

4 years agoAdd vp9_update_compressor_with_img_fmt()
angiebird [Sat, 9 Nov 2019 04:23:03 +0000 (20:23 -0800)]
Add vp9_update_compressor_with_img_fmt()

Add utility functions
vpx_img_chroma_subsampling
vpx_img_use_highbitdepth

Change-Id: I7b44fdc2cf67bbb49e161fdf778917b9ec0c8832

4 years agoAdd vp9_lookahead_full/vp9_lookahead_next_show_idx
angiebird [Tue, 5 Nov 2019 03:22:10 +0000 (19:22 -0800)]
Add vp9_lookahead_full/vp9_lookahead_next_show_idx

vp9_lookahead_full -  Check if lookahead is full
vp9_lookahead_next_show_idx - Return the show_idx
that will be assigned to the next frame pushed by
vp9_lookahead_push()

Keep track of the show_idx of each frame in the queue

Change-Id: If7ec2c7250f52413e6ce00c5b96f026ebf60a403

4 years agoRemove output_pkt_list from cpi
angiebird [Sun, 3 Nov 2019 05:13:58 +0000 (22:13 -0700)]
Remove output_pkt_list from cpi

Move the pkt operations to encoder_encode

Change-Id: Ibe730baab61bf7a395998641f106eb0f06d3b8ae

4 years agoMove buffer from extend_and_predict into TileWorkerData
Vitaly Buka [Wed, 13 Nov 2019 19:45:53 +0000 (11:45 -0800)]
Move buffer from extend_and_predict into TileWorkerData

This avoids unneeded initializations.

extend_and_predict is called from multiple nested loops, allocate
large buffer on stack and use just a portion of it.
-ftrivial-auto-var-init= inserts initializations which performed on
multiple iterations of loops causing 258.5% regression on
webrtc_perf_tests decode_time/pc_vp9svc_3sl_low_alice-video.

Bug: 1020220, 977230

Change-Id: I7e5bb3c3780adab74dd8b5c8bd2a96bf45e0c231

4 years agoPack psnr pkt outside of vp9_get_compressed_data
angiebird [Sat, 2 Nov 2019 22:22:13 +0000 (15:22 -0700)]
Pack psnr pkt outside of vp9_get_compressed_data

Change-Id: I5549c3dbcbe1550824deaebf03178e38c1b07d54

4 years agoUnite vpx_psnr_pkt and PSNR_STATS
angiebird [Fri, 8 Nov 2019 22:55:14 +0000 (14:55 -0800)]
Unite vpx_psnr_pkt and PSNR_STATS

Change-Id: Ia2be91a49dfa95906fa2ce232ff9d3a69deda4ad

4 years agoRemove psnr_pkt in LAYER_CONTEXT
angiebird [Sat, 2 Nov 2019 21:51:20 +0000 (14:51 -0700)]
Remove psnr_pkt in LAYER_CONTEXT

It's not used by anycode

Change-Id: I30e86c142d4367c7b301f5b19e39c14480d4129b

4 years agoRemove the macro of vp9_lookahead_push
angiebird [Thu, 31 Oct 2019 22:52:43 +0000 (15:52 -0700)]
Remove the macro of vp9_lookahead_push

Change-Id: Iffc06e53714165cbd8e509ca6d2114e9c4d4ab96

4 years agoAdd g_timebase/g_timebase_in_ts to oxcf
angiebird [Tue, 5 Nov 2019 03:40:19 +0000 (19:40 -0800)]
Add g_timebase/g_timebase_in_ts to oxcf

Use get_g_timebase_in_ts() to set priv->timestamp_ratio
and oxcf->g_timebase_in_ts

Change-Id: Iea9d589cb7e5611067bcedfdf6f5becd4592d3cf

4 years agoAdd frame_rate param to vp9_get_encoder_config
angiebird [Sun, 3 Nov 2019 16:45:39 +0000 (08:45 -0800)]
Add frame_rate param to vp9_get_encoder_config

Change-Id: I14a3d076d71240b4ed2436947418aa3177911fc1

4 years agoMerge "example: Enable row-mt on low res and speed 7 8."
Jerome Jiang [Fri, 8 Nov 2019 23:19:48 +0000 (23:19 +0000)]
Merge "example: Enable row-mt on low res and speed 7 8."

4 years agoMerge "remove unused vp8_hex_search parameter"
Johann Koenig [Fri, 8 Nov 2019 19:48:42 +0000 (19:48 +0000)]
Merge "remove unused vp8_hex_search parameter"

4 years agoMerge "remove unused cpi parameters from firstpass.c"
Johann Koenig [Fri, 8 Nov 2019 19:48:21 +0000 (19:48 +0000)]
Merge "remove unused cpi parameters from firstpass.c"