summaryrefslogtreecommitdiff
path: root/vp9
AgeCommit message (Collapse)Author
2015-09-30vp9_loopfilter: remove unnecessary masksJames Zern
Change-Id: I264e75bf3ddd083ee5311c50a37fb18fe634ddc3
2015-09-29vp9_reset_lfm: harmonize function signatureJames Zern
Change-Id: Ifb0f41fb43564a777be29b4c66443b366fa146a3
2015-09-29Merge "VP9: move loopfilter build masks to decode loop"Scott LaVarnway
2015-09-29Merge "aq-mode for SVC: Add consec_zero_mv to layer context."Marco Paniconi
2015-09-29aq-mode for SVC: Add consec_zero_mv to layer context.Marco
Change-Id: I63fadf1c7240d4b2893384f75c519311e9659d47
2015-09-29Fix a macro definitionYaowu Xu
to be consistent with the head file name. Change-Id: I9634332a2b3fac7e7f3b7ef58821ea7c81c5c813
2015-09-29VP9: move loopfilter build masks to decode loopScott LaVarnway
The loopfilter masks are now built in the decode loop. This is done so we can eventually reduce the number of MODE_INFO structs required by the decoder. The encoder builds the masks for the entire frame prior to calling the loopfilter. Change-Id: Ia2146b07e0acb8c50203e586dfae0c4c5b316f11
2015-09-28Merge "vp9/10: improve support for render_width/height."Ronald S. Bultje
2015-09-28Merge "Rename display_{size,width,height} to render_*."Ronald S. Bultje
2015-09-25vp9/10: improve support for render_width/height.Ronald S. Bultje
In the decoder, map this to the output variable vpx_image_t.r_w/h. This is intended as an improved version of VP9D_GET_DISPLAY_SIZE, which doesn't work with parallel frame decoding. In the encoder, map this to a codec control func (VP9E_SET_RENDER_SIZE) that takes a w/h pair argument in a int[2] (identical to VP9D_GET_DISPLAY_SIZE). Also add render_size to the encoder_param_get_to_decoder unit test. See issue 1030. Change-Id: I12124c13602d832bf4c44090db08c1009c94c7e8
2015-09-26Merge "vp9/10 encoder: prevent NULL access on failure"James Zern
2015-09-25Rename display_{size,width,height} to render_*.Ronald S. Bultje
The name "display_*" (or "d_*") is used for non-compatible information (that is, the cropped frame dimensions in pixels, as opposed to the intended screen rendering surface size). Therefore, continuing to use display_* would be confusing to end users. Instead, rename the field to render_*, so that struct vpx_image can include it. Change-Id: Iab8d2eae96492b71c4ea60c4bce8121cb2a1fe2d
2015-09-25Merge "vp9/10 decoder_remove: check pbi pointer"James Zern
2015-09-25Limit cyclic refresh on steady background blocks.Marco
Use the existing QP condition on limiting cyclic refresh, and add addiitonal condition that block has been encoded with zero/small motion x frames in row (where x is at least several times the refresh period). Additional condition only affect non-screen content mode. This helps to improve visual stability for noisy input, where on steady background areas the application of delta_qp may lead to encoding the noise. Also added a change to use the true skip (after encoding) to update the last QP. Change-Id: I234a1128d017d284cf767fdb58ef6c59d809f679
2015-09-24vp9/10 decoder_remove: check pbi pointerJames Zern
fixes crash on error Change-Id: Ibb1ef5565fb833cdee1a49335473d98f1187ef43
2015-09-25Merge "Change size on first frame and change config cause crash."Jacky Chen
2015-09-23vp9/10 encoder: prevent NULL access on failureJames Zern
Change-Id: I1fc8e0b3d48675cd5428b7b36f7cc28ab32cbf71
2015-09-24Merge "VP9: Remove frame_parallel_decoding_mode from macroblockd"James Zern
2015-09-24Merge "Non-rd mode: Limit transform size for intra to 16x16."Marco Paniconi
2015-09-23VP9: Remove frame_parallel_decoding_mode from macroblockdScott LaVarnway
Not used. Change-Id: I71527d0ee43a5730f1a2527e7ab687a77a137db4
2015-09-23Merge "Adjust rd calculation in choose_tx_size_from_rd"Hui Su
2015-09-23Adjust rate-boost threshold in cyclic refresh for seg#2.Marco
Small gain in metrics (average ~0.2dB), small reduction in rate fluctuation. Change-Id: Id75bd89c168486f075308fb474ebd26e3bdfb85b
2015-09-23Non-rd mode: Limit transform size for intra to 16x16.Marco
Limit transform size for intra to 16x16, for non-screen content mode. Little/no change in speed or metrics. 32x32 intra block is rarley selected in RTC (non-screen content) case, but some visual improvement can be seen in some example, e.g., captured_video_dark_whd.yuv. Change-Id: I68e2db87875343b3fb9bb407a7709f0088f84072
2015-09-23Adjust rd calculation in choose_tx_size_from_rdhui su
Coding gain: derflr 0.142% hevclr 0.153% hevcmr 0.124% Change-Id: I63b56ae3a9002c3a266e10e2964135ed43b0ba53
2015-09-21Change size on first frame and change config cause crash.jackychen
Reallocation of mi buffer fails if change size on the first frame and change config in subsequent frames. Add a condition for resolution check to avoid assertion failure. BUG=1074 Change-Id: Ie26ed816a57fa871ba27a72db9805baaaeaba9f3
2015-09-21Non-rd pickmode: Don't skip checking zeromv-last mode.Marco
Reference frame masking logic may skip checking zeromv-last mode. Fix to avoid this and make sure zero-last is always checked. No noticeable change in speed, and PSNR/SSIM metrics on RTC set overall neutral (very small gain ~0.02). Small visual improvement on few RTC clips. Change-Id: I26eacdc449126424001a4a64e5ac31949f064417
2015-09-17Merge "Add SVC codec control to set frame flags and buffer indices."Marco Paniconi
2015-09-17Merge changes from topic 'tile-thread-cleanup'James Zern
* changes: vp9/decode_tiles_mt: move frame count accum from loop VP9Decoder: remove duplicate tile_worker_info vp9/decode_tiles_mt: move some inits from inner loop vp9_accumulate_frame_counts: pass counts directly
2015-09-17Add SVC codec control to set frame flags and buffer indices.Marco
Add SVC codec control to set the frame flags and buffer indices for each spatial layer of the current (super)frame to be encoded. This allows the application to set (and change on the fly) the reference frame configuration for spatial layers. Added an example layer pattern (spatial and temporal layers) in vp9_spatial_svc_encoder for the bypass_mode using new control. Change-Id: I05f941897cae13fb9275b939d11f93941cb73bee
2015-09-16Add support for color-range.Ronald S. Bultje
In decoder, export (eventually) into vpx_image_t.range field. In encoder, use oxcf->color_range to set it (same way as for color_space). See issue 1059. Change-Id: Ieabbb2a785fa58cc4044bd54eee66f328f3906ce
2015-09-15Merge changes from topic 'fix-vp9-bitstream-test'James Zern
* changes: vp9_encoder_parms_get_to_decoder: cosmetics vp9...parms_get_to_decoder: remove unneeded func vp9...parms_get_to_decoder: fix EXPECT param order vp9_encoder_parms_get_to_decoder: delete dead code fix BitstreamParms test vp9_encoder_parms_get_to_decoder: remove vp10 yuvconfig2image(): add explicit cast to avoid conv warning vp9/10 decoder_init: add missing alloc cast vp9/10: set color_space on preview frame vp10: add extern "C" to headers vp9: add extern "C" to headers
2015-09-15Merge "SVC fix to set worst/best_quality per layer."Marco Paniconi
2015-09-15SVC fix to set worst/best_quality per layer.Marco
Allow the worst/best_quality to be set per layer via the VP9E_SET_SVC_PARAMETERS control. Change-Id: Icba5ec8ac757152f3bb7860d6010d9174a7bd578
2015-09-15Add cyclic refresh parameters to svc-layer context.Marco
For 1 pass CBR spatial-SVC: Add cyclic refresh parameters to the svc-layer context. This allows cyclic refresh (aq-mode=3) to be applied to the whole super-frame (all spatial layers). This gives a performance improvement for spatial layer encoding. Addd the aq_mode mode on/off setting as command line option. Change-Id: Ib9c3b5ba3cb7851bfb8c37d4f911664bef38e165
2015-09-15Fix two pass svc encodingDebargha Mukherjee
Fixes temporal scalability. Updates were inadvertently turned off for two pass svc causing crashes due to gf_group.index growing unchecked. Change-Id: Iff759946bf61bbde70630347cc8fa4d51a8c2d2f
2015-09-14Change parameters for VP9 dynamic resizing.jackychen
Use a smaller window in dynamic resizing and wait a shorter time after key frame. Change-Id: I086f840cdec3c6bdaa9acfe11346d919e445973d
2015-09-14Merge "CR: Don't attempt to read qindex_delta for segments CR is unaware of."Alex Converse
2015-09-14CR: Don't attempt to read qindex_delta for segments CR is unaware of.Alex Converse
Found by the remoting VideoEncoderVpxTest.Vp9LossyUnchangedFrame unit test under asan. Change-Id: Icac63051bf37c7355e661837b57c257d58c764fc
2015-09-14For 1 pass: always use the normative filter in vp9_scale_if_required()Marco
The normative (convolve8) filter is optimized/faster than the nonnormative one. Pass usage of scaler (normative/nonomorative) to vp9_scale_if_required(), and always use normative one for 1 pass. Change-Id: I2b71d9ff18b3c7499b058d1325a9554de993dd52
2015-09-11Avoid scaling last_source, unless needed.Marco
Save some encoding time, for the case of spatial layers or under dynamic resizing mode. Change-Id: If4a8eb6f0376c3d2dde8465fde6bfd86ab704920
2015-09-11Remove unneeded/incorrect comment.Marco
Change-Id: I5c923223c284ad4fda0c45572a66bebc8528dd1d
2015-09-10Prevent CR in screen mode from refreshing flat inter blocks forever.Alex Converse
Take the minimum last_codec_q_map on inter skip. Change-Id: Ibb308526dd19793bb359f51ebd7b48d8692903fd
2015-09-10For screen content consider intra uv when color_sensitivity is set.Alex Converse
Change-Id: I99e330f8a779b4d564c19ef4639a881cb68910ae
2015-09-10yuvconfig2image(): add explicit cast to avoid conv warningJames Zern
prevents an int -> vpx_img_fmt_t conversion warning with high-bitdepth as it modifies the image format Change-Id: Ie3135d031565312613a036a1e6937abb59760a7e
2015-09-09vp9/10 decoder_init: add missing alloc castJames Zern
Change-Id: I1ba4400d67095f3a360fb7d97ee8d118d4f741fe
2015-09-09vp9/10: set color_space on preview frameJames Zern
Change-Id: If9176ce6ed3eb6c7ef8ffd1378456cb95b4aeb86
2015-09-09vp9: add extern "C" to headersJames Zern
Change-Id: I1b6927ad820f99340985b094d415aaab14defaf4
2015-09-10Merge "Fix ioc warnings related to sub8x8 reference frame"James Zern
2015-09-09Fix ioc warnings related to sub8x8 reference frameJingning Han
Access scaled reference frame in the sub8x8 rate-distortion optimization loop only when the current test mode is an inter mode. This prevents an ioc warning triggered by sending intra_frame index to fetch scaled reference frame. Change-Id: I6177ecc946651dd86c7ce362e3f65c4074444604
2015-09-09Change the qp threshold of VP9 dynamic resizing.jackychen
Change-Id: I1efe086191665ff8fa063f03d8e2032024dc090f