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

Side by Side Diff: source/libvpx/vp8/vp8_dx_iface.c

Issue 1302353004: libvpx: Pull from upstream (Closed) Base URL: https://chromium.googlesource.com/chromium/deps/libvpx.git@master
Patch Set: Created 5 years, 3 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
« no previous file with comments | « source/libvpx/vp8/vp8_cx_iface.c ('k') | source/libvpx/vp8/vp8cx.mk » ('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 24 matching lines...) Expand all
35 typedef vpx_codec_stream_info_t vp8_stream_info_t; 35 typedef vpx_codec_stream_info_t vp8_stream_info_t;
36 36
37 /* Structures for handling memory allocations */ 37 /* Structures for handling memory allocations */
38 typedef enum 38 typedef enum
39 { 39 {
40 VP8_SEG_ALG_PRIV = 256, 40 VP8_SEG_ALG_PRIV = 256,
41 VP8_SEG_MAX 41 VP8_SEG_MAX
42 } mem_seg_id_t; 42 } mem_seg_id_t;
43 #define NELEMENTS(x) ((int)(sizeof(x)/sizeof(x[0]))) 43 #define NELEMENTS(x) ((int)(sizeof(x)/sizeof(x[0])))
44 44
45 static unsigned long vp8_priv_sz(const vpx_codec_dec_cfg_t *si, vpx_codec_flags_ t);
46
47 struct vpx_codec_alg_priv 45 struct vpx_codec_alg_priv
48 { 46 {
49 vpx_codec_priv_t base; 47 vpx_codec_priv_t base;
50 vpx_codec_dec_cfg_t cfg; 48 vpx_codec_dec_cfg_t cfg;
51 vp8_stream_info_t si; 49 vp8_stream_info_t si;
52 int decoder_init; 50 int decoder_init;
53 int postproc_cfg_set; 51 int postproc_cfg_set;
54 vp8_postproc_cfg_t postproc_cfg; 52 vp8_postproc_cfg_t postproc_cfg;
55 #if CONFIG_POSTPROC_VISUALIZER 53 #if CONFIG_POSTPROC_VISUALIZER
56 unsigned int dbg_postproc_flag; 54 unsigned int dbg_postproc_flag;
57 int dbg_color_ref_frame_flag; 55 int dbg_color_ref_frame_flag;
58 int dbg_color_mb_modes_flag; 56 int dbg_color_mb_modes_flag;
59 int dbg_color_b_modes_flag; 57 int dbg_color_b_modes_flag;
60 int dbg_display_mv_flag; 58 int dbg_display_mv_flag;
61 #endif 59 #endif
62 vpx_decrypt_cb decrypt_cb; 60 vpx_decrypt_cb decrypt_cb;
63 void *decrypt_state; 61 void *decrypt_state;
64 vpx_image_t img; 62 vpx_image_t img;
65 int img_setup; 63 int img_setup;
66 struct frame_buffers yv12_frame_buffers; 64 struct frame_buffers yv12_frame_buffers;
67 void *user_priv; 65 void *user_priv;
68 FRAGMENT_DATA fragments; 66 FRAGMENT_DATA fragments;
69 }; 67 };
70 68
71 static unsigned long vp8_priv_sz(const vpx_codec_dec_cfg_t *si, vpx_codec_flags_ t flags)
72 {
73 /* Although this declaration is constant, we can't use it in the requested
74 * segments list because we want to define the requested segments list
75 * before defining the private type (so that the number of memory maps is
76 * known)
77 */
78 (void)si;
79 (void)flags;
80 return sizeof(vpx_codec_alg_priv_t);
81 }
82
83 static void vp8_init_ctx(vpx_codec_ctx_t *ctx) 69 static void vp8_init_ctx(vpx_codec_ctx_t *ctx)
84 { 70 {
85 vpx_codec_alg_priv_t *priv = 71 vpx_codec_alg_priv_t *priv =
86 (vpx_codec_alg_priv_t *)vpx_calloc(1, sizeof(*priv)); 72 (vpx_codec_alg_priv_t *)vpx_calloc(1, sizeof(*priv));
87 73
88 ctx->priv = (vpx_codec_priv_t *)priv; 74 ctx->priv = (vpx_codec_priv_t *)priv;
89 ctx->priv->init_flags = ctx->init_flags; 75 ctx->priv->init_flags = ctx->init_flags;
90 76
91 priv->si.sz = sizeof(priv->si); 77 priv->si.sz = sizeof(priv->si);
92 priv->decrypt_cb = NULL; 78 priv->decrypt_cb = NULL;
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
173 /* Parse uncompresssed part of key frame header. 159 /* Parse uncompresssed part of key frame header.
174 * 3 bytes:- including version, frame type and an offset 160 * 3 bytes:- including version, frame type and an offset
175 * 3 bytes:- sync code (0x9d, 0x01, 0x2a) 161 * 3 bytes:- sync code (0x9d, 0x01, 0x2a)
176 * 4 bytes:- including image width and height in the lowest 14 bits 162 * 4 bytes:- including image width and height in the lowest 14 bits
177 * of each 2-byte value. 163 * of each 2-byte value.
178 */ 164 */
179 uint8_t clear_buffer[10]; 165 uint8_t clear_buffer[10];
180 const uint8_t *clear = data; 166 const uint8_t *clear = data;
181 if (decrypt_cb) 167 if (decrypt_cb)
182 { 168 {
183 int n = MIN(sizeof(clear_buffer), data_sz); 169 int n = VPXMIN(sizeof(clear_buffer), data_sz);
184 decrypt_cb(decrypt_state, data, clear_buffer, n); 170 decrypt_cb(decrypt_state, data, clear_buffer, n);
185 clear = clear_buffer; 171 clear = clear_buffer;
186 } 172 }
187 si->is_kf = 0; 173 si->is_kf = 0;
188 174
189 if (data_sz >= 10 && !(clear[0] & 0x01)) /* I-Frame */ 175 if (data_sz >= 10 && !(clear[0] & 0x01)) /* I-Frame */
190 { 176 {
191 si->is_kf = 1; 177 si->is_kf = 1;
192 178
193 /* vet via sync code */ 179 /* vet via sync code */
(...skipping 630 matching lines...) Expand 10 before | Expand all | Expand 10 after
824 { /* encoder functions */ 810 { /* encoder functions */
825 0, 811 0,
826 NULL, 812 NULL,
827 NULL, 813 NULL,
828 NULL, 814 NULL,
829 NULL, 815 NULL,
830 NULL, 816 NULL,
831 NULL 817 NULL
832 } 818 }
833 }; 819 };
OLDNEW
« no previous file with comments | « source/libvpx/vp8/vp8_cx_iface.c ('k') | source/libvpx/vp8/vp8cx.mk » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698