Elecard
May 26, 2013, 12:13:00 am
Welcome,
Guest
. Please
login
or
register
.
Did you miss your
activation email?
1 Hour
1 Day
1 Week
1 Month
Forever
Login with username, password and session length
Home
Help
Search
Login
Register
Elecard
>
Bug Reports
>
Bugs Found / Bugs Fixed
(Moderators:
vlad_marchenko
,
Emil_Issabekov
) >
H264 SPS declared Framerate decoded incorrectly?
Pages: [
1
]
« previous
next »
Print
Author
Topic: H264 SPS declared Framerate decoded incorrectly? (Read 2125 times)
brandyj
Newbie
Posts: 1
H264 SPS declared Framerate decoded incorrectly?
«
on:
October 19, 2011, 09:34:50 am »
Hello,
I have been working with Stream Eye for some time. I have an H264 stream with different frame rates declared within it. It decodes some of them correctly and others in correctly within the same stream. When I decode the SPS by hand it seems to that all the frame rates are correct. I think there might be a bug in the system that is adding or deleting bits when decoding the header. I see from the H264 specification that the num_units_in_tick and time_scale values are supposed to be 32bits each. But for some reason, the time_scale will occasionally shift and grab the bit intended for fixed_frame_rate_flag and trailing_bits.
I would like to up load a screen shot or imagery file for you see the headers, but I can't figure on how to do that.
Here is some text:
A good decode of the frame rate looks like this:
SPS header in hex: 00 00 00 01 67 42 80 28 f4 05 a1 e9 28 40 00 7d 00 00 04 e2 00 21
and then the Headers info shows with proper flags set and 5 as the framerate declared.
[00]seq_parameter_set_rbsp() {
profile_idc = 66 (Baseline)
constraint_set0_flag = 1 (true)
constraint_set1_flag = 0 (false)
constraint_set2_flag = 0 (false)
constraint_set3_flag = 0 (false)
reserved_zero_4bits = 0 (false)
level_idc = 40
seq_parameter_set_id = 0
if (profile_idc == 100 || profile_idc == 110 || profile_idc == 122 || profile_idc == 144) {
log2_max_frame_num_minus4 = 0 (4)
pic_order_cnt_type = 0
if (pic_order_cnt_type == 0)
else if (pic_order_cnt_type == 1) {
num_ref_frames = 1
gaps_in_frame_num_value_allowed_flag = 0
pic_width_in_mbs_minus1 = 44 (720)
pic_height_in_map_units_minus1 = 29 (480)
frame_mbs_only_flag = 1
if (!frame_mbs_only_flag)
direct_8x8_inference_flag = 0 (false)
frame_cropping_flag = 0 (false)
if (frame_cropping_flag) {
vui_parameters_present_flag = 1 (true)
if (vui_parameters_present_flag)
vui_parameters() {
aspect_ratio_info_present_flag = 0 (false)
if (aspect_ratio_info_present_flag) {
overscan_info_present_flag = 0 (false)
if (overscan_info_present_flag)
video_signal_type_present_flag = 1 (true)
if (video_signal_type_present_flag) {
video_format = 2
video_full_range_flag = 0 (false)
colour_description_present_flag = 0 (false)
if (colour_description_present_flag) {
}
chroma_location_info_present_flag = 0 (false)
if (chroma_loc_info_present_flag) {
timing_info_present_flag = 1 (true)
if (timing_info_present_flag) {
num_units_in_tick = 128000
time_scale = 1280000
fixed_frame_rate_flag = 1
}
nal_hrd_parameters_present_flag = 0 (false)
if (nal_hrd_parameters_present_flag)
vcl_hrd_parameters_present_flag = 0 (false)
if (vcl_hrd_parameters_present_flag)
if (nal_hrd_parameters_present_flag || vcl_hrd_parameters_present_flag)
pic_struct_present_flag = 0 (false)
bitstream_restriction_flag = 0 (false)
if (bitstream_restriction_flag) {
}
}
}
[00]pic_parameter_set_rbsp() {
[00]slice_header() {
[00]sei() { = 35
The very next frame has should have a declared rate of 4fps
SPS header in hex: 00 00 00 01 67 42 80 28 f4 05 a1 e9 28 40 00 7d 00 00 03 e8 00 21
The Headers Info displays this and states that the declared frame rate is 237.569
[00]seq_parameter_set_rbsp() {
profile_idc = 66 (Baseline)
constraint_set0_flag = 1 (true)
constraint_set1_flag = 0 (false)
constraint_set2_flag = 0 (false)
constraint_set3_flag = 0 (false)
reserved_zero_4bits = 0 (false)
level_idc = 40
seq_parameter_set_id = 0
if (profile_idc == 100 || profile_idc == 110 || profile_idc == 122 || profile_idc == 144) {
log2_max_frame_num_minus4 = 0 (4)
pic_order_cnt_type = 0
if (pic_order_cnt_type == 0)
else if (pic_order_cnt_type == 1) {
num_ref_frames = 1
gaps_in_frame_num_value_allowed_flag = 0
pic_width_in_mbs_minus1 = 44 (720)
pic_height_in_map_units_minus1 = 29 (480)
frame_mbs_only_flag = 1
if (!frame_mbs_only_flag)
direct_8x8_inference_flag = 0 (false)
frame_cropping_flag = 0 (false)
if (frame_cropping_flag) {
vui_parameters_present_flag = 1 (true)
if (vui_parameters_present_flag)
vui_parameters() {
aspect_ratio_info_present_flag = 0 (false)
if (aspect_ratio_info_present_flag) {
overscan_info_present_flag = 0 (false)
if (overscan_info_present_flag)
video_signal_type_present_flag = 1 (true)
if (video_signal_type_present_flag) {
video_format = 2
video_full_range_flag = 0 (false)
colour_description_present_flag = 0 (false)
if (colour_description_present_flag) {
}
chroma_location_info_present_flag = 0 (false)
if (chroma_loc_info_present_flag) {
timing_info_present_flag = 1 (true)
if (timing_info_present_flag) {
num_units_in_tick = 128000
time_scale = 60817540
fixed_frame_rate_flag = 0
}
nal_hrd_parameters_present_flag = 0 (false)
if (nal_hrd_parameters_present_flag)
vcl_hrd_parameters_present_flag = 0 (false)
if (vcl_hrd_parameters_present_flag)
if (nal_hrd_parameters_present_flag || vcl_hrd_parameters_present_flag)
pic_struct_present_flag = 0 (false)
bitstream_restriction_flag = 0 (false)
if (bitstream_restriction_flag) {
}
}
}
[00]pic_parameter_set_rbsp() {
[00]slice_header() {
[00]sei() { = 35
Is there some limitation as to how many times it can change frame rates? Or is this an error within Stream Eye?
thanks for you prompt reply. I am going to look for another decoder too to verify what I am seeing.
Brandy
Logged
Pages: [
1
]
Print
« previous
next »
Jump to:
Please select a destination:
-----------------------------
PC Products
-----------------------------
=> Consumer Players
===> Elecard MPEG Player
===> Elecard DVD Player
=> Consumer Converters
===> Elecard Converter Studio
===> Elecard Converter Studio AVC HD Edition
===> Elecard Converter Studio AVC HD Edition Mac
===> Elecard XMuxer Lite
=> Professional Converters
===> Elecard Converter Studio Pro
===> Elecard Converter Studio Pro HD
===> Elecard XMuxer Pro
=> Elecard PlugIns
===> Elecard AVC PlugIn
===> Elecard AVC PlugIn for ProgDVB
===> Elecard AVC Streaming PlugIn for WMP
===> Elecard MPEG2 Decoder and Streaming PlugIn for WMP
===> Adobe Premiere AVC HD Compiler Plugin
===> Adobe Premiere AVC HD Import & Player Plugin
=> Professional Analyzing tools
===> Elecard StreamEye Studio
=====> Elecard YUV Viewer
=====> Elecard Video QuEst
=====> Elecard Stream Analyzer
=====> Elecard Buffer Analizer
=====> Elecard StreamEye
===> Elecard Stream Inspector
-----------------------------
PC Development Kits
-----------------------------
=> Media Foundation SDK
=> PC SDK
===> Elecard SDK
=====> Elecard Codec SDK G4
=====> Elecard Codec .NET SDK G4
=====> Elecard Video Transform SDK
===> Elecard SRD
=====> Elecard IPTV Player SRD
=====> Elecard XMuxer SRD
=> Components
===> AVC/H.264 solutions
===> Elecard AAC coding technology
===> MPEG-4 Intermedia Format (MP4)
===> OneClick Compressor
===> Audio Decoders
===> Audio Encoders
===> Networking components
===> Muxers-Demuxers
===> Transform components
===> Various components
===> Video Decoders
=====> Elecard Decoder Pack
===> Video Encoders
=====> Elecard MPEG-2 Encoder Pack
-----------------------------
DVB/IPTV Products
-----------------------------
=> DVB/IPTV Servers
===> CodecWorks
===> V-Cinema TimeShift Server
===> V-Cinema VoD Server
===> XWorks IP-DVB Encapsulator
===> XWorks DVB IP Gateway, XWorks RD
===> IPTV solutions
=> DVB/IPTV STB's
===> STB 820
===> STB 83x/84x
===> STB 610
===> Upcoming HD STB
===> Поддержка пользователей
=====> Прошивки
=====> Подключение
=====> Настройки(Settings)
=====> Интернет-вещание(IPTV)
=====> Vidimax(VoD)
=====> Видео по запросу(VoD)
=====> Интернет-услуги(Web Serviсes)
=====> Интернет-телефония(VoIP)
=====> USB
=====> Оплата товаров и уcлуг
=====> Пожелания и предложения
=====> Другое
-----------------------------
Embedded & Hardware Products
-----------------------------
=> PC Cards
===> HD SDI Capture and Playback boards (HD Access 2.0)
===> Deblock IP Core
===> DVB-ASI TX\RX
===> IP Cores under development
=> DSP Codec SDK
===> SC-1500
===> NXP Codecs
=====> PNX 1500/1700
=======> Audio Decoders
=======> Audio Encoders
=======> Muxer/Demuxer PS/TS
=======> Video Decoders
=======> Video Encoders
=====> PNX 8950
=======> AAC Decoder
=======> AVC Decoder
=======> MPEG Audio Decoder
=======> MPEG-2 Decoder
===> TI DaVinci Codecs
=====> DaVinci 6446
=======> AAC Decoder
=======> AVC Decoder
=======> AVC Encoder
=====> DaVinci 6467
=======> AVC HD Decoder
=======> AVC HD Encoder
-----------------------------
Solveig Multimedia
-----------------------------
=> Solveig Multimedia products
-----------------------------
Student developments
-----------------------------
=> Student developments
-----------------------------
Bug Reports
-----------------------------
=> Bugs Found / Bugs Fixed
-----------------------------
General
-----------------------------
=> General Discussions
=> Questions and Answers
=> Your Elecard Wishlist
-----------------------------
Website
-----------------------------
=> Site Comments and Feedback
Loading...