[MD settings] moving attached() code
[chromium-blink-merge.git] / media / video / h264_poc.h
blob5457231a323e43801e8d0bd8496e1691c3aa44e2
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef MEDIA_VIDEO_H264_POC_H_
6 #define MEDIA_VIDEO_H264_POC_H_
8 namespace media {
10 struct H264SPS;
11 struct H264SliceHeader;
13 class MEDIA_EXPORT H264POC {
14 public:
15 H264POC();
16 ~H264POC();
18 // Compute the picture order count for a slice, storing the result into
19 // |*pic_order_cnt|.
20 bool ComputePicOrderCnt(
21 const H264SPS* sps,
22 const H264SliceHeader& slice_hdr,
23 int32_t* pic_order_cnt);
25 // Reset computation state. It's best (although not strictly required) to call
26 // this after a seek.
27 void Reset();
29 private:
30 int32_t ref_pic_order_cnt_msb_;
31 int32_t ref_pic_order_cnt_lsb_;
32 int32_t prev_frame_num_;
33 int32_t prev_frame_num_offset_;
35 DISALLOW_COPY_AND_ASSIGN(H264POC);
38 } // namespace media
40 #endif // MEDIA_VIDEO_H264_POC_H_