Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1650)

Side by Side Diff: source/libvpx/vp8/encoder/onyx_if.c

Issue 341293003: libvpx: Pull from upstream (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/deps/third_party/libvpx/
Patch Set: Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « source/libvpx/vp8/encoder/encodeframe.c ('k') | source/libvpx/vp8/encoder/pickinter.c » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2010 The WebM project authors. All Rights Reserved. 2 * Copyright (c) 2010 The WebM project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
91 double *ssim_v 91 double *ssim_v
92 ); 92 );
93 93
94 94
95 #endif 95 #endif
96 96
97 97
98 #ifdef OUTPUT_YUV_SRC 98 #ifdef OUTPUT_YUV_SRC
99 FILE *yuv_file; 99 FILE *yuv_file;
100 #endif 100 #endif
101 #ifdef OUTPUT_YUV_DENOISED
102 FILE *yuv_denoised_file;
103 #endif
101 104
102 #if 0 105 #if 0
103 FILE *framepsnr; 106 FILE *framepsnr;
104 FILE *kf_list; 107 FILE *kf_list;
105 FILE *keyfile; 108 FILE *keyfile;
106 #endif 109 #endif
107 110
108 #if 0 111 #if 0
109 extern int skip_true_count; 112 extern int skip_true_count;
110 extern int skip_false_count; 113 extern int skip_false_count;
(...skipping 1630 matching lines...) Expand 10 before | Expand all | Expand 10 after
1741 cpi->alt_ref_source = NULL; 1744 cpi->alt_ref_source = NULL;
1742 cpi->is_src_frame_alt_ref = 0; 1745 cpi->is_src_frame_alt_ref = 0;
1743 1746
1744 #if CONFIG_TEMPORAL_DENOISING 1747 #if CONFIG_TEMPORAL_DENOISING
1745 if (cpi->oxcf.noise_sensitivity) 1748 if (cpi->oxcf.noise_sensitivity)
1746 { 1749 {
1747 if (!cpi->denoiser.yv12_mc_running_avg.buffer_alloc) 1750 if (!cpi->denoiser.yv12_mc_running_avg.buffer_alloc)
1748 { 1751 {
1749 int width = (cpi->oxcf.Width + 15) & ~15; 1752 int width = (cpi->oxcf.Width + 15) & ~15;
1750 int height = (cpi->oxcf.Height + 15) & ~15; 1753 int height = (cpi->oxcf.Height + 15) & ~15;
1751 vp8_denoiser_allocate(&cpi->denoiser, width, height); 1754 vp8_denoiser_allocate(&cpi->denoiser, width, height,
1755 cpi->common.mb_rows, cpi->common.mb_cols);
1752 } 1756 }
1753 } 1757 }
1754 #endif 1758 #endif
1755 1759
1756 #if 0 1760 #if 0
1757 /* Experimental RD Code */ 1761 /* Experimental RD Code */
1758 cpi->frame_distortion = 0; 1762 cpi->frame_distortion = 0;
1759 cpi->last_frame_distortion = 0; 1763 cpi->last_frame_distortion = 0;
1760 #endif 1764 #endif
1761 1765
(...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after
1954 cpi->twopass.est_max_qcorrection_factor = 1.0; 1958 cpi->twopass.est_max_qcorrection_factor = 1.0;
1955 1959
1956 for (i = 0; i < KEY_FRAME_CONTEXT; i++) 1960 for (i = 0; i < KEY_FRAME_CONTEXT; i++)
1957 { 1961 {
1958 cpi->prior_key_frame_distance[i] = (int)cpi->output_framerate; 1962 cpi->prior_key_frame_distance[i] = (int)cpi->output_framerate;
1959 } 1963 }
1960 1964
1961 #ifdef OUTPUT_YUV_SRC 1965 #ifdef OUTPUT_YUV_SRC
1962 yuv_file = fopen("bd.yuv", "ab"); 1966 yuv_file = fopen("bd.yuv", "ab");
1963 #endif 1967 #endif
1968 #ifdef OUTPUT_YUV_DENOISED
1969 yuv_denoised_file = fopen("denoised.yuv", "ab");
1970 #endif
1964 1971
1965 #if 0 1972 #if 0
1966 framepsnr = fopen("framepsnr.stt", "a"); 1973 framepsnr = fopen("framepsnr.stt", "a");
1967 kf_list = fopen("kf_list.stt", "w"); 1974 kf_list = fopen("kf_list.stt", "w");
1968 #endif 1975 #endif
1969 1976
1970 cpi->output_pkt_list = oxcf->output_pkt_list; 1977 cpi->output_pkt_list = oxcf->output_pkt_list;
1971 1978
1972 #if !(CONFIG_REALTIME_ONLY) 1979 #if !(CONFIG_REALTIME_ONLY)
1973 1980
(...skipping 429 matching lines...) Expand 10 before | Expand all | Expand 10 after
2403 vpx_free(cpi->tok); 2410 vpx_free(cpi->tok);
2404 vpx_free(cpi->cyclic_refresh_map); 2411 vpx_free(cpi->cyclic_refresh_map);
2405 2412
2406 vp8_remove_common(&cpi->common); 2413 vp8_remove_common(&cpi->common);
2407 vpx_free(cpi); 2414 vpx_free(cpi);
2408 *ptr = 0; 2415 *ptr = 0;
2409 2416
2410 #ifdef OUTPUT_YUV_SRC 2417 #ifdef OUTPUT_YUV_SRC
2411 fclose(yuv_file); 2418 fclose(yuv_file);
2412 #endif 2419 #endif
2420 #ifdef OUTPUT_YUV_DENOISED
2421 fclose(yuv_denoised_file);
2422 #endif
2413 2423
2414 #if 0 2424 #if 0
2415 2425
2416 if (keyfile) 2426 if (keyfile)
2417 fclose(keyfile); 2427 fclose(keyfile);
2418 2428
2419 if (framepsnr) 2429 if (framepsnr)
2420 fclose(framepsnr); 2430 fclose(framepsnr);
2421 2431
2422 if (kf_list) 2432 if (kf_list)
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after
2603 } 2613 }
2604 int vp8_update_entropy(VP8_COMP *cpi, int update) 2614 int vp8_update_entropy(VP8_COMP *cpi, int update)
2605 { 2615 {
2606 VP8_COMMON *cm = &cpi->common; 2616 VP8_COMMON *cm = &cpi->common;
2607 cm->refresh_entropy_probs = update; 2617 cm->refresh_entropy_probs = update;
2608 2618
2609 return 0; 2619 return 0;
2610 } 2620 }
2611 2621
2612 2622
2613 #if OUTPUT_YUV_SRC 2623 #if defined(OUTPUT_YUV_SRC) || defined(OUTPUT_YUV_DENOISED)
2614 void vp8_write_yuv_frame(const char *name, YV12_BUFFER_CONFIG *s) 2624 void vp8_write_yuv_frame(FILE *yuv_file, YV12_BUFFER_CONFIG *s)
2615 { 2625 {
2616 FILE *yuv_file = fopen(name, "ab");
2617 unsigned char *src = s->y_buffer; 2626 unsigned char *src = s->y_buffer;
2618 int h = s->y_height; 2627 int h = s->y_height;
2619 2628
2620 do 2629 do
2621 { 2630 {
2622 fwrite(src, s->y_width, 1, yuv_file); 2631 fwrite(src, s->y_width, 1, yuv_file);
2623 src += s->y_stride; 2632 src += s->y_stride;
2624 } 2633 }
2625 while (--h); 2634 while (--h);
2626 2635
2627 src = s->u_buffer; 2636 src = s->u_buffer;
2628 h = s->uv_height; 2637 h = s->uv_height;
2629 2638
2630 do 2639 do
2631 { 2640 {
2632 fwrite(src, s->uv_width, 1, yuv_file); 2641 fwrite(src, s->uv_width, 1, yuv_file);
2633 src += s->uv_stride; 2642 src += s->uv_stride;
2634 } 2643 }
2635 while (--h); 2644 while (--h);
2636 2645
2637 src = s->v_buffer; 2646 src = s->v_buffer;
2638 h = s->uv_height; 2647 h = s->uv_height;
2639 2648
2640 do 2649 do
2641 { 2650 {
2642 fwrite(src, s->uv_width, 1, yuv_file); 2651 fwrite(src, s->uv_width, 1, yuv_file);
2643 src += s->uv_stride; 2652 src += s->uv_stride;
2644 } 2653 }
2645 while (--h); 2654 while (--h);
2646
2647 fclose(yuv_file);
2648 } 2655 }
2649 #endif 2656 #endif
2650 2657
2651
2652 static void scale_and_extend_source(YV12_BUFFER_CONFIG *sd, VP8_COMP *cpi) 2658 static void scale_and_extend_source(YV12_BUFFER_CONFIG *sd, VP8_COMP *cpi)
2653 { 2659 {
2654 VP8_COMMON *cm = &cpi->common; 2660 VP8_COMMON *cm = &cpi->common;
2655 2661
2656 /* are we resizing the image */ 2662 /* are we resizing the image */
2657 if (cm->horiz_scale != 0 || cm->vert_scale != 0) 2663 if (cm->horiz_scale != 0 || cm->vert_scale != 0)
2658 { 2664 {
2659 #if CONFIG_SPATIAL_RESAMPLING 2665 #if CONFIG_SPATIAL_RESAMPLING
2660 int UNINITIALIZED_IS_SAFE(hr), UNINITIALIZED_IS_SAFE(hs); 2666 int UNINITIALIZED_IS_SAFE(hr), UNINITIALIZED_IS_SAFE(hs);
2661 int UNINITIALIZED_IS_SAFE(vr), UNINITIALIZED_IS_SAFE(vs); 2667 int UNINITIALIZED_IS_SAFE(vr), UNINITIALIZED_IS_SAFE(vs);
(...skipping 1226 matching lines...) Expand 10 before | Expand all | Expand 10 after
3888 if (cpi->Source->y_stride < 0) 3894 if (cpi->Source->y_stride < 0)
3889 { 3895 {
3890 src += cpi->Source->y_stride * (cpi->Source->y_height - 1); 3896 src += cpi->Source->y_stride * (cpi->Source->y_height - 1);
3891 } 3897 }
3892 } 3898 }
3893 } 3899 }
3894 3900
3895 #endif 3901 #endif
3896 3902
3897 #ifdef OUTPUT_YUV_SRC 3903 #ifdef OUTPUT_YUV_SRC
3898 vp8_write_yuv_frame(cpi->Source); 3904 vp8_write_yuv_frame(yuv_file, cpi->Source);
3899 #endif 3905 #endif
3900 3906
3901 do 3907 do
3902 { 3908 {
3903 vp8_clear_system_state(); 3909 vp8_clear_system_state();
3904 3910
3905 vp8_set_quantizer(cpi, Q); 3911 vp8_set_quantizer(cpi, Q);
3906 3912
3907 /* setup skip prob for costing in mode/mv decision */ 3913 /* setup skip prob for costing in mode/mv decision */
3908 if (cpi->common.mb_no_coeff_skip) 3914 if (cpi->common.mb_no_coeff_skip)
(...skipping 518 matching lines...) Expand 10 before | Expand all | Expand 10 after
4427 cpi->b_lpf_running = 1; 4433 cpi->b_lpf_running = 1;
4428 } 4434 }
4429 else 4435 else
4430 #endif 4436 #endif
4431 { 4437 {
4432 vp8_loopfilter_frame(cpi, cm); 4438 vp8_loopfilter_frame(cpi, cm);
4433 } 4439 }
4434 4440
4435 update_reference_frames(cpi); 4441 update_reference_frames(cpi);
4436 4442
4443 #ifdef OUTPUT_YUV_DENOISED
4444 vp8_write_yuv_frame(yuv_denoised_file,
4445 &cpi->denoiser.yv12_running_avg[INTRA_FRAME]);
4446 #endif
4447
4437 #if !(CONFIG_REALTIME_ONLY & CONFIG_ONTHEFLY_BITPACKING) 4448 #if !(CONFIG_REALTIME_ONLY & CONFIG_ONTHEFLY_BITPACKING)
4438 if (cpi->oxcf.error_resilient_mode) 4449 if (cpi->oxcf.error_resilient_mode)
4439 { 4450 {
4440 cm->refresh_entropy_probs = 0; 4451 cm->refresh_entropy_probs = 0;
4441 } 4452 }
4442 #endif 4453 #endif
4443 4454
4444 #if CONFIG_MULTITHREAD 4455 #if CONFIG_MULTITHREAD
4445 /* wait that filter_level is picked so that we can continue with stream pack ing */ 4456 /* wait that filter_level is picked so that we can continue with stream pack ing */
4446 if (cpi->b_multi_threaded) 4457 if (cpi->b_multi_threaded)
(...skipping 1091 matching lines...) Expand 10 before | Expand all | Expand 10 after
5538 } 5549 }
5539 5550
5540 return Total; 5551 return Total;
5541 } 5552 }
5542 5553
5543 5554
5544 int vp8_get_quantizer(VP8_COMP *cpi) 5555 int vp8_get_quantizer(VP8_COMP *cpi)
5545 { 5556 {
5546 return cpi->common.base_qindex; 5557 return cpi->common.base_qindex;
5547 } 5558 }
OLDNEW
« no previous file with comments | « source/libvpx/vp8/encoder/encodeframe.c ('k') | source/libvpx/vp8/encoder/pickinter.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698