- 23 Feb, 2012 - 2 commits
-
-
James Berry authored
-
Jim Bankoski authored
-
- 22 Feb, 2012 - 1 commit
-
-
Marco Paniconi authored
When temporal layers is used (i.e., number_of_layers > 1), we don't use the frame rate boost for setting the key frame target size. The factor was forcing the target size to be always at its minimum (2* per_frame_bandwidth) for low frame rates (i.e., base layer frame rate). Generally we should modify or remove this frame rate factor; for now we turn if off for number_of_layers > 1. Change-Id: Ia5acf406c9b2f634d30ac2473adc7b9bf2e7e6c6
-
- 21 Feb, 2012 - 4 commits
-
-
James Berry authored
add unit tests for vp8_short_idct4x4llm_c Change-Id: I472b7c0baa365ba25dc99a3f6efccc816d27c941
-
John Koleszar authored
* changes: Consolidate C version of token packing functions Multithreaded encoder, late sync loopfilter
-
Scott LaVarnway authored
-
John Koleszar authored
-
- 17 Feb, 2012 - 7 commits
-
-
Johann authored
When compiling with -ggdb3 the output includes an extraneous EQU from vpx_ports/asm_offsets.h https://trac.macports.org/ticket/33285 Change-Id: Iba93ddafec414c152b87001a7542e7a894781231
-
John Koleszar authored
* changes: vpxenc: factor out input open/close vpxenc: add warning()/fatal() helpers vpxenc: factor out global config options
-
Johann authored
-
Yunqing Wang authored
-
Yunqing Wang authored
In vp8_rd_pick_inter_mode(), if total of eobs is zero, rate needs to be adjusted since there are no non-zero coefficients for transmission. The uv intra eobs calculated in rd_pick_intra_mbuv_mode() need to be saved before they are overwritten by inter-mode eobs. Change-Id: I41dd04fba912e8122ef95793d4d98a251bc60e58
-
Attila Nagy authored
mode_info_context->mbmi.mb_skip_coeff has to always reflect the existence or not of coeffs for a certain MB. The loopfilter needs this info. mb_skip_coeff is either set by the vp8_tokenize_mb or has to be set to 1 when the MB is skipped by mode selection. This has to be done regardless of the mb_no_coeff_skip value. prob_skip_false is needed just when mb_no_coeff_skip is 1. No need to keep count of both skip_false and skip_true as they are complementary (skip_true+skip_false = total_mbs) Change-Id: I3c74c9a0ee37bec10de7bb796e408f3e77006813
-
Attila Nagy authored
segment_counts was zero init twice in the beginning of vp8_encode_frame. Change-Id: Ibc29f6896dabd9aab1d0993f3941cf6876022e70
-
- 16 Feb, 2012 - 12 commits
-
-
Johann authored
Depending on implementation the optimized SAD functions may return early when the calculated SAD exceeds max_sad. Change-Id: I05ce5b2d34e6d45fb3ec2a450aa99c4f3343bf3a
-
Johann authored
Built in echo in 'sh' on OS X does not support -n (exclude trailing newline). It's not necessary so just leave it off. Fixes issue 390. Build include guard using 'symbol' so that it is more likely to be unique. Change-Id: I4bc6aa1fc5e02228f71c200214b5ee4a16d56b83
-
Fritz Koenig authored
cpu-features.h is not in the common paths, add to the cflags for Android. Change-Id: Icbafc7600d72f6b59ffb030f6ab80ee6860332bb
-
John Koleszar authored
Simplify some of the file I/O for later commits which will add multistream support Change-Id: Idf1a05f3a29c95331d0c4a6ea5960904e4897fd4
-
John Koleszar authored
Cosmetic. Allows exiting with an error message without opening a new scope. Change-Id: If227b29b825f0241acea79dd38f19e524552ee18
-
Makoto Kato authored
On Android NDK, rand() is inlined function. But, on our SSE optimization, we need symbol for rand() Change-Id: I42ab00e3255208ba95d7f9b9a8a3605ff58da8e1
-
Scott LaVarnway authored
Change-Id: Ibcb35c32bf24c1d241090e24c5e2320e4d3ba901
-
Scott LaVarnway authored
-
Scott LaVarnway authored
Removed unnecessary variables, unrolled functions, eliminated unnecessary mv bounds checks and branches. Change-Id: I02d034c70cd97b65025d59dd67c695e1db529f0b
-
Attila Nagy authored
Replace inner loops of pack_mb_row_tokens_c and pack_tokens_into_partitions_c with a call to pack_tokens_c. Change-Id: I0341554fb154a14a5dadb63f8fc78010724c2c33
-
Attila Nagy authored
Second shot at this... Sync with loopfilter thread as late as possible, usually just at the beginning of next frame encoding. This returns control to application faster and allows a better multicore scaling. When PSNR packets are generated the final filtered frame is needed imediatly so we cannot delay the sync. Same has to be done when internal frame is previewed. Change-Id: I64e110c8b224dd967faefffd9c93dd8dbad4a5b5
-
John Koleszar authored
This is a first step towards specifying multiple output streams with one command line. Change-Id: Iac784d3911bf553694d024bbd0c3d547261e914b
-
- 15 Feb, 2012 - 1 commit
-
-
Fritz Koenig authored
Add a dependency so ndk-build will generate the needed vpx_rtcd.h file. Change-Id: I92c82e0996943dd0403c9956e1ba60e92e2837a9
-
- 11 Feb, 2012 - 1 commit
-
-
John Koleszar authored
-
- 10 Feb, 2012 - 3 commits
- 09 Feb, 2012 - 1 commit
-
-
Johann authored
In the variance calculations the difference is summed and later squared. When the sum exceeds sqrt(2^31) the value is treated as a negative when it is shifted which gives incorrect results. To fix this we cast the result of the multiplication as unsigned. The alternative fix is to shift sum down by 4 before multiplying. However that will reduce precision. For 16x16 blocks the maximum sum is 65280 and sqrt(2^31) is 46340 (and change). PPC change is untested. Change-Id: I1bad27ea0720067def6d71a6da5f789508cec265
-
- 08 Feb, 2012 - 3 commits
-
-
John Koleszar authored
-
KO Myung-Hun authored
Change-Id: I792d5236451905eb20a8ebe444ef5b2274e4f7a4
-
John Koleszar authored
Allow the application to change the frame size during encoding. This is only supported when not using lagged compress. Change-Id: I89b585d703d5fd728a9e3dedf997f1b595d0db0f
-
- 07 Feb, 2012 - 1 commit
-
-
John Koleszar authored
MFQE postproc crashed with stream dimensions not a multiple of 16. The buffer was memset unconditionally, so if the buffer allocation fails we end up trying to write to NULL. This patch traps an allocation failure with vpx_internal_error(), and aligns the buffer dimensions to what vp8_yv12_alloc_frame_buffer() expects. Change-Id: I3915d597cd66886a24f4ef39752751ebe6425066
-
- 06 Feb, 2012 - 3 commits
-
-
Adrian Grange authored
The 5-layer encode must have a keyframe every 16 frames. The KF flag was being reset after the encode of the first frame, which it should not do for the 5-layer case (mode=6). Change-Id: I207d6e689d347fe3fd1075b97a817e82f7ad53b9
-
Adrian Grange authored
-
Yunqing Wang authored
-
- 03 Feb, 2012 - 1 commit
-
-
Yunqing Wang authored
Sometimes, a user doesn't have enough bandwidth to send high-resolution (i.e. HD) video even though the camera catches HD video. This change allowed users to skip highest-resolution encoding by setting that level's target bit rate to 0. To test it, modify the following line in vp8_multi_resolution_encoder.c. unsigned int target_bitrate[NUM_ENCODERS]={1400, 500, 100}; To skip the highest-resolution level, change it to unsigned int target_bitrate[NUM_ENCODERS]={0, 500, 100}; To skip the first and second highest resolution levels, change it to unsigned int target_bitrate[NUM_ENCODERS]={0, 0, 100}; This change also fixed a small problem in mapping, which slightly helped quality and performance. Change-Id: I977bae9a9fbfba85c8be4bd5af01539f2b84bc81
-