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

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

Issue 756673003: libvpx: Pull from upstream (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/deps/third_party/libvpx/
Patch Set: Created 6 years 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/bitstream.h ('k') | source/libvpx/vp8/encoder/block.h » ('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 141 matching lines...) Expand 10 before | Expand all | Expand 10 after
152 vp8_write_token(bc, vp8_bmode_tree, p, vp8_bmode_encodings + m); 152 vp8_write_token(bc, vp8_bmode_tree, p, vp8_bmode_encodings + m);
153 } 153 }
154 154
155 static void write_split(vp8_writer *bc, int x) 155 static void write_split(vp8_writer *bc, int x)
156 { 156 {
157 vp8_write_token( 157 vp8_write_token(
158 bc, vp8_mbsplit_tree, vp8_mbsplit_probs, vp8_mbsplit_encodings + x 158 bc, vp8_mbsplit_tree, vp8_mbsplit_probs, vp8_mbsplit_encodings + x
159 ); 159 );
160 } 160 }
161 161
162 void vp8_pack_tokens_c(vp8_writer *w, const TOKENEXTRA *p, int xcount) 162 void vp8_pack_tokens(vp8_writer *w, const TOKENEXTRA *p, int xcount)
163 { 163 {
164 const TOKENEXTRA *stop = p + xcount; 164 const TOKENEXTRA *stop = p + xcount;
165 unsigned int split; 165 unsigned int split;
166 unsigned int shift; 166 unsigned int shift;
167 int count = w->count; 167 int count = w->count;
168 unsigned int range = w->range; 168 unsigned int range = w->range;
169 unsigned int lowvalue = w->lowvalue; 169 unsigned int lowvalue = w->lowvalue;
170 170
171 while (p < stop) 171 while (p < stop)
172 { 172 {
(...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after
367 367
368 csize = size & 0xff; 368 csize = size & 0xff;
369 *cx_data = csize; 369 *cx_data = csize;
370 csize = (size >> 8) & 0xff; 370 csize = (size >> 8) & 0xff;
371 *(cx_data + 1) = csize; 371 *(cx_data + 1) = csize;
372 csize = (size >> 16) & 0xff; 372 csize = (size >> 16) & 0xff;
373 *(cx_data + 2) = csize; 373 *(cx_data + 2) = csize;
374 374
375 } 375 }
376 376
377 static void pack_tokens_into_partitions_c(VP8_COMP *cpi, unsigned char *cx_data, 377 static void pack_tokens_into_partitions(VP8_COMP *cpi, unsigned char *cx_data,
378 unsigned char * cx_data_end, 378 unsigned char * cx_data_end,
379 int num_part) 379 int num_part)
380 { 380 {
381 381
382 int i; 382 int i;
383 unsigned char *ptr = cx_data; 383 unsigned char *ptr = cx_data;
384 unsigned char *ptr_end = cx_data_end; 384 unsigned char *ptr_end = cx_data_end;
385 vp8_writer * w; 385 vp8_writer * w;
386 386
387 for (i = 0; i < num_part; i++) 387 for (i = 0; i < num_part; i++)
388 { 388 {
389 int mb_row; 389 int mb_row;
390 390
391 w = cpi->bc + i + 1; 391 w = cpi->bc + i + 1;
392 392
393 vp8_start_encode(w, ptr, ptr_end); 393 vp8_start_encode(w, ptr, ptr_end);
394 394
395 for (mb_row = i; mb_row < cpi->common.mb_rows; mb_row += num_part) 395 for (mb_row = i; mb_row < cpi->common.mb_rows; mb_row += num_part)
396 { 396 {
397 const TOKENEXTRA *p = cpi->tplist[mb_row].start; 397 const TOKENEXTRA *p = cpi->tplist[mb_row].start;
398 const TOKENEXTRA *stop = cpi->tplist[mb_row].stop; 398 const TOKENEXTRA *stop = cpi->tplist[mb_row].stop;
399 int tokens = (int)(stop - p); 399 int tokens = (int)(stop - p);
400 400
401 vp8_pack_tokens_c(w, p, tokens); 401 vp8_pack_tokens(w, p, tokens);
402 } 402 }
403 403
404 vp8_stop_encode(w); 404 vp8_stop_encode(w);
405 ptr += w->pos; 405 ptr += w->pos;
406 } 406 }
407 } 407 }
408 408
409 409
410 static void pack_mb_row_tokens_c(VP8_COMP *cpi, vp8_writer *w) 410 static void pack_mb_row_tokens(VP8_COMP *cpi, vp8_writer *w)
411 { 411 {
412 int mb_row; 412 int mb_row;
413 413
414 for (mb_row = 0; mb_row < cpi->common.mb_rows; mb_row++) 414 for (mb_row = 0; mb_row < cpi->common.mb_rows; mb_row++)
415 { 415 {
416 const TOKENEXTRA *p = cpi->tplist[mb_row].start; 416 const TOKENEXTRA *p = cpi->tplist[mb_row].start;
417 const TOKENEXTRA *stop = cpi->tplist[mb_row].stop; 417 const TOKENEXTRA *stop = cpi->tplist[mb_row].stop;
418 int tokens = (int)(stop - p); 418 int tokens = (int)(stop - p);
419 419
420 vp8_pack_tokens_c(w, p, tokens); 420 vp8_pack_tokens(w, p, tokens);
421 } 421 }
422 422
423 } 423 }
424 424
425 static void write_mv_ref 425 static void write_mv_ref
426 ( 426 (
427 vp8_writer *w, MB_PREDICTION_MODE m, const vp8_prob *p 427 vp8_writer *w, MB_PREDICTION_MODE m, const vp8_prob *p
428 ) 428 )
429 { 429 {
430 #if CONFIG_DEBUG 430 #if CONFIG_DEBUG
(...skipping 1238 matching lines...) Expand 10 before | Expand all | Expand 10 after
1669 { 1669 {
1670 bc[1].error = &pc->error; 1670 bc[1].error = &pc->error;
1671 1671
1672 vp8_start_encode(&cpi->bc[1], cx_data, cx_data_end); 1672 vp8_start_encode(&cpi->bc[1], cx_data, cx_data_end);
1673 1673
1674 #if CONFIG_MULTITHREAD 1674 #if CONFIG_MULTITHREAD
1675 if (cpi->b_multi_threaded) 1675 if (cpi->b_multi_threaded)
1676 pack_mb_row_tokens(cpi, &cpi->bc[1]); 1676 pack_mb_row_tokens(cpi, &cpi->bc[1]);
1677 else 1677 else
1678 #endif 1678 #endif
1679 pack_tokens(&cpi->bc[1], cpi->tok, cpi->tok_count); 1679 vp8_pack_tokens(&cpi->bc[1], cpi->tok, cpi->tok_count);
1680 1680
1681 vp8_stop_encode(&cpi->bc[1]); 1681 vp8_stop_encode(&cpi->bc[1]);
1682 1682
1683 *size += cpi->bc[1].pos; 1683 *size += cpi->bc[1].pos;
1684 cpi->partition_sz[1] = cpi->bc[1].pos; 1684 cpi->partition_sz[1] = cpi->bc[1].pos;
1685 } 1685 }
1686 #endif 1686 #endif
1687 } 1687 }
1688 1688
1689 #ifdef VP8_ENTROPY_STATS 1689 #ifdef VP8_ENTROPY_STATS
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
1728 fprintf(f, " },\n"); 1728 fprintf(f, " },\n");
1729 } 1729 }
1730 1730
1731 fprintf(f, " },\n"); 1731 fprintf(f, " },\n");
1732 } 1732 }
1733 1733
1734 fprintf(f, "};\n"); 1734 fprintf(f, "};\n");
1735 fclose(f); 1735 fclose(f);
1736 } 1736 }
1737 #endif 1737 #endif
OLDNEW
« no previous file with comments | « source/libvpx/vp8/encoder/bitstream.h ('k') | source/libvpx/vp8/encoder/block.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698