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

Side by Side Diff: trunk/src/media/filters/h264_parser.h

Issue 357903003: Revert 279958 "Revert "Revert 279650 "Add VaapiVideoEncodeAccele..." (Closed) Base URL: svn://svn.chromium.org/chrome/
Patch Set: Created 6 years, 5 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 | Annotate | Revision Log
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 // 4 //
5 // This file contains an implementation of an H264 Annex-B video stream parser. 5 // This file contains an implementation of an H264 Annex-B video stream parser.
6 6
7 #ifndef MEDIA_FILTERS_H264_PARSER_H_ 7 #ifndef MEDIA_FILTERS_H264_PARSER_H_
8 #define MEDIA_FILTERS_H264_PARSER_H_ 8 #define MEDIA_FILTERS_H264_PARSER_H_
9 9
10 #include <sys/types.h> 10 #include <sys/types.h>
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
56 }; 56 };
57 57
58 enum { 58 enum {
59 kH264ScalingList4x4Length = 16, 59 kH264ScalingList4x4Length = 16,
60 kH264ScalingList8x8Length = 64, 60 kH264ScalingList8x8Length = 64,
61 }; 61 };
62 62
63 struct MEDIA_EXPORT H264SPS { 63 struct MEDIA_EXPORT H264SPS {
64 H264SPS(); 64 H264SPS();
65 65
66 enum H264ProfileIDC {
67 kProfileIDCBaseline = 66,
68 kProfileIDCConstrainedBaseline = kProfileIDCBaseline,
69 kProfileIDCMain = 77,
70 kProfileIDCHigh = 100,
71 };
72
73 enum AspectRatioIdc {
74 kExtendedSar = 255,
75 };
76
77 enum {
78 // Constants for HRD parameters (spec ch. E.2.2).
79 kBitRateScaleConstantTerm = 6, // Equation E-37.
80 kCPBSizeScaleConstantTerm = 4, // Equation E-38.
81 kDefaultInitialCPBRemovalDelayLength = 24,
82 kDefaultDPBOutputDelayLength = 24,
83 kDefaultTimeOffsetLength = 24,
84 };
85
86 int profile_idc; 66 int profile_idc;
87 bool constraint_set0_flag; 67 bool constraint_set0_flag;
88 bool constraint_set1_flag; 68 bool constraint_set1_flag;
89 bool constraint_set2_flag; 69 bool constraint_set2_flag;
90 bool constraint_set3_flag; 70 bool constraint_set3_flag;
91 bool constraint_set4_flag; 71 bool constraint_set4_flag;
92 bool constraint_set5_flag; 72 bool constraint_set5_flag;
93 int level_idc; 73 int level_idc;
94 int seq_parameter_set_id; 74 int seq_parameter_set_id;
95 75
(...skipping 28 matching lines...) Expand all
124 int frame_crop_right_offset; 104 int frame_crop_right_offset;
125 int frame_crop_top_offset; 105 int frame_crop_top_offset;
126 int frame_crop_bottom_offset; 106 int frame_crop_bottom_offset;
127 107
128 bool vui_parameters_present_flag; 108 bool vui_parameters_present_flag;
129 int sar_width; // Set to 0 when not specified. 109 int sar_width; // Set to 0 when not specified.
130 int sar_height; // Set to 0 when not specified. 110 int sar_height; // Set to 0 when not specified.
131 bool bitstream_restriction_flag; 111 bool bitstream_restriction_flag;
132 int max_num_reorder_frames; 112 int max_num_reorder_frames;
133 int max_dec_frame_buffering; 113 int max_dec_frame_buffering;
134 bool timing_info_present_flag;
135 int num_units_in_tick;
136 int time_scale;
137 bool fixed_frame_rate_flag;
138
139 // TODO(posciak): actually parse these instead of ParseAndIgnoreHRDParameters.
140 bool nal_hrd_parameters_present_flag;
141 int cpb_cnt_minus1;
142 int bit_rate_scale;
143 int cpb_size_scale;
144 int bit_rate_value_minus1[32];
145 int cpb_size_value_minus1[32];
146 bool cbr_flag[32];
147 int initial_cpb_removal_delay_length_minus_1;
148 int cpb_removal_delay_length_minus1;
149 int dpb_output_delay_length_minus1;
150 int time_offset_length;
151
152 bool low_delay_hrd_flag;
153 114
154 int chroma_array_type; 115 int chroma_array_type;
155 }; 116 };
156 117
157 struct MEDIA_EXPORT H264PPS { 118 struct MEDIA_EXPORT H264PPS {
158 H264PPS(); 119 H264PPS();
159 120
160 int pic_parameter_set_id; 121 int pic_parameter_set_id;
161 int seq_parameter_set_id; 122 int seq_parameter_set_id;
162 bool entropy_coding_mode_flag; 123 bool entropy_coding_mode_flag;
(...skipping 277 matching lines...) Expand 10 before | Expand all | Expand 10 after
440 typedef std::map<int, H264PPS*> PPSById; 401 typedef std::map<int, H264PPS*> PPSById;
441 SPSById active_SPSes_; 402 SPSById active_SPSes_;
442 PPSById active_PPSes_; 403 PPSById active_PPSes_;
443 404
444 DISALLOW_COPY_AND_ASSIGN(H264Parser); 405 DISALLOW_COPY_AND_ASSIGN(H264Parser);
445 }; 406 };
446 407
447 } // namespace media 408 } // namespace media
448 409
449 #endif // MEDIA_FILTERS_H264_PARSER_H_ 410 #endif // MEDIA_FILTERS_H264_PARSER_H_
OLDNEW
« no previous file with comments | « trunk/src/media/filters/h264_bitstream_buffer_unittest.cc ('k') | trunk/src/media/filters/h264_parser.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698