cakuhnen
3rd May 2008, 22:53
Just want know if its possible to x264 developers add support to still image encoding, no current avaliable encoders have support to encode a still image, ex: encode still image to make still menu with compliance to HDDVD. I was looking aroud and only Toshiba HDDVD Authoring have support to create menus in AVC still. I called Toshiba support and this what they sayd for me.
AVC still picture (system): An AVC still picture consists of an AVC access unit containing an IDR picture,
preceded by SPS and PPS NAL units that carry sufficient information to correctly decode the IDR picture. Preceding an
AVC still picture, there shall be another AVC still picture or an End of Sequence NAL unit terminating a preceding
coded video sequence.
For ITU-T Rec. H.264 | ISO/IEC 14496-10 video streams, the AVC video descriptor provides basic information for
identifying coding parameters of the associated AVC video stream, such as on profile and level parameters included in
the SPS of an AVC video stream.
The AVC video descriptor also signals the presence of AVC still pictures and the presence of AVC 24-hour pictures in
the AVC video stream. If this descriptor is not included in the PMT for an AVC video stream in a transport stream or in
the PSM, if present, for an AVC video stream in a program stream, then such AVC video stream shall not contain AVC
still pictures and shall not contain AVC 24-hour pictures.
For authoring programs know that the AVC is only a still image and not a video it checks the folowing:
Syntax No. of bits Mnemonic
AVC_video_descriptor () {
descriptor_tag 8 uimsbf
descriptor_length 8 uimsbf
profile_idc 8 uimsbf
constraint_set0_flag 1 bslbf
constraint_set1_flag 1 bslbf
constraint_set2_flag 1 bslbf
AVC_compatible_flags 5 bslbf
level_idc 8 uimsbf
AVC_still_present 1 bslbf
AVC_24_hour_picture_flag 1 bslbf
reserved 6 bslbf
}
profile_idc, constraint_set0_flag, constraint_set1_flag, constraint_set2_flag, AVC_compatible_flags and
level_idc – These fields, with the exception of AVC_compatible_flags shall be coded according to the semantics for these fields defined in ITU-T Rec. H.264 | ISO/IEC 14496-10. The semantics of AVC_compatible_flags are exactly equal to the semantics of the field(s) defined for the 5 bits between the constraint_set2 flag and the level_idc field in the Sequence Parameter Set, as defined in ITU-T Rec. H.264 | ISO/IEC 14496-10. The entire AVC video stream to which the AVC descriptor is associated shall conform to the profile, level and constraints signalled by these fields.
In one or more sequences in the AVC video stream the level may be lower than the level signalled in the AVC video
descriptor, while also a profile may occur that is a subset of the profile signalled in the AVC video descriptor. However, in the entire AVC video stream, only tools shall be used that are included in the profile signalled in the AVC video descriptor, if
present. For example, if the main profile is signalled, then the baseline profile may be used in some sequences, but only using
those tools that are in the main profile. If the sequence parameter sets in an AVC video stream signal different profiles, and no additional constraints are signalled, then the stream may need examination to determine which profile, if any, the entire stream conforms to. If an AVC video descriptor is to be associated with an AVC video stream that does not conform to a single profile, then the AVC video stream must be partitioned into two or more sub-streams, so that AVC video descriptors can signal a single profile for each such sub-stream.
AVC_still_present – This 1-bit field when set to '1' indicates that the AVC video stream may include AVC still
pictures. When set to '0', then the associated AVC video stream shall not contain AVC still pictures but only video.
AVC_24_hour_picture_flag – This 1-bit flag when set to '1' indicates that the associated AVC video stream may
contain AVC 24-hour pictures. For the definition of an AVC 24-hour picture, see 2.1.2. If this flag is set to '0', the
associated AVC video stream shall not contain any AVC 24-hour picture.
Authoring programs like Scenarist check these flags before decide if the AVC stream are still image or video, if the flag
AVC_still_present = 0 then it load always a video stream even if the stream as encoded only I-frame, so if its possible to add these features to x264 to encode still images it will be great
Thanks and sorry for my bad english, still learning
AVC still picture (system): An AVC still picture consists of an AVC access unit containing an IDR picture,
preceded by SPS and PPS NAL units that carry sufficient information to correctly decode the IDR picture. Preceding an
AVC still picture, there shall be another AVC still picture or an End of Sequence NAL unit terminating a preceding
coded video sequence.
For ITU-T Rec. H.264 | ISO/IEC 14496-10 video streams, the AVC video descriptor provides basic information for
identifying coding parameters of the associated AVC video stream, such as on profile and level parameters included in
the SPS of an AVC video stream.
The AVC video descriptor also signals the presence of AVC still pictures and the presence of AVC 24-hour pictures in
the AVC video stream. If this descriptor is not included in the PMT for an AVC video stream in a transport stream or in
the PSM, if present, for an AVC video stream in a program stream, then such AVC video stream shall not contain AVC
still pictures and shall not contain AVC 24-hour pictures.
For authoring programs know that the AVC is only a still image and not a video it checks the folowing:
Syntax No. of bits Mnemonic
AVC_video_descriptor () {
descriptor_tag 8 uimsbf
descriptor_length 8 uimsbf
profile_idc 8 uimsbf
constraint_set0_flag 1 bslbf
constraint_set1_flag 1 bslbf
constraint_set2_flag 1 bslbf
AVC_compatible_flags 5 bslbf
level_idc 8 uimsbf
AVC_still_present 1 bslbf
AVC_24_hour_picture_flag 1 bslbf
reserved 6 bslbf
}
profile_idc, constraint_set0_flag, constraint_set1_flag, constraint_set2_flag, AVC_compatible_flags and
level_idc – These fields, with the exception of AVC_compatible_flags shall be coded according to the semantics for these fields defined in ITU-T Rec. H.264 | ISO/IEC 14496-10. The semantics of AVC_compatible_flags are exactly equal to the semantics of the field(s) defined for the 5 bits between the constraint_set2 flag and the level_idc field in the Sequence Parameter Set, as defined in ITU-T Rec. H.264 | ISO/IEC 14496-10. The entire AVC video stream to which the AVC descriptor is associated shall conform to the profile, level and constraints signalled by these fields.
In one or more sequences in the AVC video stream the level may be lower than the level signalled in the AVC video
descriptor, while also a profile may occur that is a subset of the profile signalled in the AVC video descriptor. However, in the entire AVC video stream, only tools shall be used that are included in the profile signalled in the AVC video descriptor, if
present. For example, if the main profile is signalled, then the baseline profile may be used in some sequences, but only using
those tools that are in the main profile. If the sequence parameter sets in an AVC video stream signal different profiles, and no additional constraints are signalled, then the stream may need examination to determine which profile, if any, the entire stream conforms to. If an AVC video descriptor is to be associated with an AVC video stream that does not conform to a single profile, then the AVC video stream must be partitioned into two or more sub-streams, so that AVC video descriptors can signal a single profile for each such sub-stream.
AVC_still_present – This 1-bit field when set to '1' indicates that the AVC video stream may include AVC still
pictures. When set to '0', then the associated AVC video stream shall not contain AVC still pictures but only video.
AVC_24_hour_picture_flag – This 1-bit flag when set to '1' indicates that the associated AVC video stream may
contain AVC 24-hour pictures. For the definition of an AVC 24-hour picture, see 2.1.2. If this flag is set to '0', the
associated AVC video stream shall not contain any AVC 24-hour picture.
Authoring programs like Scenarist check these flags before decide if the AVC stream are still image or video, if the flag
AVC_still_present = 0 then it load always a video stream even if the stream as encoded only I-frame, so if its possible to add these features to x264 to encode still images it will be great
Thanks and sorry for my bad english, still learning