OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2014 The WebM project authors. All Rights Reserved. | 2 * Copyright (c) 2014 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 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
43 } LAYER_CONTEXT; | 43 } LAYER_CONTEXT; |
44 | 44 |
45 typedef struct { | 45 typedef struct { |
46 int spatial_layer_id; | 46 int spatial_layer_id; |
47 int temporal_layer_id; | 47 int temporal_layer_id; |
48 int number_spatial_layers; | 48 int number_spatial_layers; |
49 int number_temporal_layers; | 49 int number_temporal_layers; |
50 | 50 |
51 int spatial_layer_to_encode; | 51 int spatial_layer_to_encode; |
52 | 52 |
| 53 // Workaround for multiple frame contexts |
| 54 enum { |
| 55 ENCODED = 0, |
| 56 ENCODING, |
| 57 NEED_TO_ENCODE |
| 58 }encode_empty_frame_state; |
| 59 struct lookahead_entry empty_frame; |
| 60 int empty_frame_width; |
| 61 int empty_frame_height; |
| 62 |
53 // Store scaled source frames to be used for temporal filter to generate | 63 // Store scaled source frames to be used for temporal filter to generate |
54 // a alt ref frame. | 64 // a alt ref frame. |
55 YV12_BUFFER_CONFIG scaled_frames[MAX_LAG_BUFFERS]; | 65 YV12_BUFFER_CONFIG scaled_frames[MAX_LAG_BUFFERS]; |
56 | 66 |
57 // Layer context used for rate control in one pass temporal CBR mode or | 67 // Layer context used for rate control in one pass temporal CBR mode or |
58 // two pass spatial mode. Defined for temporal or spatial layers for now. | 68 // two pass spatial mode. Defined for temporal or spatial layers for now. |
59 // Does not support temporal combined with spatial RC. | 69 // Does not support temporal combined with spatial RC. |
60 LAYER_CONTEXT layer_context[MAX(VPX_TS_MAX_LAYERS, VPX_SS_MAX_LAYERS)]; | 70 LAYER_CONTEXT layer_context[MAX(VPX_TS_MAX_LAYERS, VPX_SS_MAX_LAYERS)]; |
61 } SVC; | 71 } SVC; |
62 | 72 |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
99 int drain); | 109 int drain); |
100 | 110 |
101 // Start a frame and initialize svc parameters | 111 // Start a frame and initialize svc parameters |
102 int vp9_svc_start_frame(struct VP9_COMP *const cpi); | 112 int vp9_svc_start_frame(struct VP9_COMP *const cpi); |
103 | 113 |
104 #ifdef __cplusplus | 114 #ifdef __cplusplus |
105 } // extern "C" | 115 } // extern "C" |
106 #endif | 116 #endif |
107 | 117 |
108 #endif // VP9_ENCODER_VP9_SVC_LAYERCONTEXT_ | 118 #endif // VP9_ENCODER_VP9_SVC_LAYERCONTEXT_ |
OLD | NEW |