OLD | NEW |
1 /* | 1 /* |
2 * libjingle | 2 * libjingle |
3 * Copyright 2004 Google Inc. | 3 * Copyright 2004 Google Inc. |
4 * | 4 * |
5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
6 * modification, are permitted provided that the following conditions are met: | 6 * modification, are permitted provided that the following conditions are met: |
7 * | 7 * |
8 * 1. Redistributions of source code must retain the above copyright notice, | 8 * 1. Redistributions of source code must retain the above copyright notice, |
9 * this list of conditions and the following disclaimer. | 9 * this list of conditions and the following disclaimer. |
10 * 2. Redistributions in binary form must reproduce the above copyright notice, | 10 * 2. Redistributions in binary form must reproduce the above copyright notice, |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
55 int dw, | 55 int dw, |
56 int dh, | 56 int dh, |
57 uint8_t* sample, | 57 uint8_t* sample, |
58 size_t sample_size, | 58 size_t sample_size, |
59 size_t pixel_width, | 59 size_t pixel_width, |
60 size_t pixel_height, | 60 size_t pixel_height, |
61 int64_t time_stamp, | 61 int64_t time_stamp, |
62 webrtc::VideoRotation rotation, | 62 webrtc::VideoRotation rotation, |
63 bool apply_rotation) = 0; | 63 bool apply_rotation) = 0; |
64 | 64 |
65 // TODO(guoweis): Remove this once all external implementations are updated. | |
66 virtual bool Reset(uint32_t fourcc, | |
67 int w, | |
68 int h, | |
69 int dw, | |
70 int dh, | |
71 uint8_t* sample, | |
72 size_t sample_size, | |
73 size_t pixel_width, | |
74 size_t pixel_height, | |
75 int64_t time_stamp, | |
76 int rotation) { | |
77 return Reset(fourcc, w, h, dw, dh, sample, sample_size, pixel_width, | |
78 pixel_height, time_stamp, | |
79 static_cast<webrtc::VideoRotation>(rotation), true); | |
80 } | |
81 | |
82 // Basic accessors. | 65 // Basic accessors. |
83 // Note this is the width and height without rotation applied. | 66 // Note this is the width and height without rotation applied. |
84 virtual size_t GetWidth() const = 0; | 67 virtual size_t GetWidth() const = 0; |
85 virtual size_t GetHeight() const = 0; | 68 virtual size_t GetHeight() const = 0; |
86 | 69 |
87 size_t GetChromaWidth() const { return (GetWidth() + 1) / 2; } | 70 size_t GetChromaWidth() const { return (GetWidth() + 1) / 2; } |
88 size_t GetChromaHeight() const { return (GetHeight() + 1) / 2; } | 71 size_t GetChromaHeight() const { return (GetHeight() + 1) / 2; } |
89 size_t GetChromaSize() const { return GetUPitch() * GetChromaHeight(); } | 72 size_t GetChromaSize() const { return GetUPitch() * GetChromaHeight(); } |
90 // These can return NULL if the object is not backed by a buffer. | 73 // These can return NULL if the object is not backed by a buffer. |
91 virtual const uint8_t* GetYPlane() const = 0; | 74 virtual const uint8_t* GetYPlane() const = 0; |
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
228 // Creates an empty frame. | 211 // Creates an empty frame. |
229 virtual VideoFrame *CreateEmptyFrame(int w, int h, size_t pixel_width, | 212 virtual VideoFrame *CreateEmptyFrame(int w, int h, size_t pixel_width, |
230 size_t pixel_height, | 213 size_t pixel_height, |
231 int64_t time_stamp) const = 0; | 214 int64_t time_stamp) const = 0; |
232 virtual void SetRotation(webrtc::VideoRotation rotation) = 0; | 215 virtual void SetRotation(webrtc::VideoRotation rotation) = 0; |
233 }; | 216 }; |
234 | 217 |
235 } // namespace cricket | 218 } // namespace cricket |
236 | 219 |
237 #endif // TALK_MEDIA_BASE_VIDEOFRAME_H_ | 220 #endif // TALK_MEDIA_BASE_VIDEOFRAME_H_ |
OLD | NEW |