This new line says how many items are I, P, B (or IDR in case of H.264).
This new line is not present if the video is in AVS format.
--HG--
extra : convert_revision : svn%3Aeff31bef-be4a-0410-a8fe-e47997df2690/trunk%40153
1. Fix some print_msg to be print_err
2. Rename the function to make error messages go to stderr to
redirect_output_stderr, which is more sensible.
3. Make the -stdout switch always force error messages to stderr
4. Add the "-err" switch to all programs, which allows the user
to choose whether they prefer errors to go to stdout or stderr
That last is something I meant to do as part of the stdout/stderr
changes - thanks again to alexw for causing me to get round to it.
This now allows:
cat data/ed24p_11.ts | ts2ps -stdin -stdout | ps2ts -stdin -stdout | mplayer -
to work -- it didn't before.
--HG--
extra : convert_revision : svn%3Aeff31bef-be4a-0410-a8fe-e47997df2690/trunk%40145
h.264 RAP as I or I + recovery_point SEI
Two changes done:
1) esdots computes the duration of GOPs, even in the h.264 case. The change made is to consider an I frame without recovery_point SEI as beginning of a new GOP. This can be changed just setting rec_point_required = TRUE in esdots.c.
In this case a new GOP is started when we found I + recovery point SEI
2) nalunit has been modified so it's able to output the information about error recovery point SEI message. Just use 'esreport -x' and SEI recovery point messages will be reported with the same syntax as all the others.
e.g.
83644584/0036: NAL unit 0/6 (SEI) 6: 06 06 01 a4 80 00
@@ Recovery Point SEI
recovery_frame_cnt 0
exact_match_flag 0
broken_link_flag 1
changing_slice_group_idc 0
--HG--
extra : convert_revision : svn%3Aeff31bef-be4a-0410-a8fe-e47997df2690/trunk%4074
Default value is 25.00, so if no value is given the code computes everything exacly as before.
The value of the frame rate is used to compute the gop duration.
--HG--
extra : convert_revision : svn%3Aeff31bef-be4a-0410-a8fe-e47997df2690/trunk%4033
In choose_nal_type in esdotc.c there is a boolean value rec_point_required. It you set it to FALSE any I pic is considered a random access point.
The field recovery_frame_cnt is not used (as if it was 0). If it is != 0 a warning message is printed.
The fields broken_link_flag, exact_match_flag and changing_slice_group_idc are not considered (as 0).
In the final message the max, min and mean duration of a GOP are shown. For H.264 streams this is defined as the distance between 2 random access points. If no full GOP is found this info is not displayed.
The -gop switch works as before.
In esdots a function choose_nal_type has been added.
In nalunit.c a function read_SEI_recovery_point has been added.
The structure nal_SEI_recovery_data has been added, in order to cope with the recovery_point message. It's added to nal_innards too. See nalunit_defns.h
--HG--
extra : convert_revision : svn%3Aeff31bef-be4a-0410-a8fe-e47997df2690/trunk%409
- For MPEG-2 streams it outputs informations about the size of a Gropu Of Pictures (GOP): min, max and average duration in sec. Video is supposed to be @25fps.
- For AVC streams, where the GOP is not formally defined, it computes the same date looking at the interval between two I or IDR frames (whichever comes first).
Using the switch -gop display the duration of each GOP (or pseudo-GOP fir AVC)
NOTE that a new function hab been added:
static char choose_nal_type(access_unit_p access_unit, int verbose);
Called by dots_by_access_unit, it returns a single character which specifies the type of the access unit.
+ tools.txt has been modified describing this new functionality and switch.
--HG--
extra : convert_revision : svn%3Aeff31bef-be4a-0410-a8fe-e47997df2690/trunk%408
(with -v) didn't match the code, and the whole thing was rather wrong.
--HG--
extra : convert_revision : svn%3Aeff31bef-be4a-0410-a8fe-e47997df2690/trunk%404