X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=doc%2Fbitstream_filters.texi;h=7322af6550d5c270a0f3ef7eaa613ad8426f24e2;hb=01ba52852d2ada3c79fe02a7de5bc1fdc27d56e8;hp=5efb8e0ee886c6b7f87c909714aaae1d70a05f02;hpb=e9dfc6f9006f81d6267d183b00616053b514df8f;p=ffmpeg diff --git a/doc/bitstream_filters.texi b/doc/bitstream_filters.texi index 5efb8e0ee88..7322af6550d 100644 --- a/doc/bitstream_filters.texi +++ b/doc/bitstream_filters.texi @@ -50,21 +50,22 @@ DTS-HD. Add extradata to the beginning of the filtered packets. +@table @option +@item freq The additional argument specifies which packets should be filtered. It accepts the values: @table @samp -@item a -add extradata to all key packets, but only if @var{local_header} is -set in the @option{flags2} codec context field - @item k +@item keyframe add extradata to all key packets @item e +@item all add extradata to all packets @end table +@end table -If not specified it is assumed @samp{k}. +If not specified it is assumed @samp{e}. For example the following @command{ffmpeg} command forces a global header (thus disabling individual packet headers) in the H.264 packets @@ -74,6 +75,10 @@ the header stored in extradata to the key packets: ffmpeg -i INPUT -map 0 -flags:v +global_header -c:v libx264 -bsf:v dump_extra out.ts @end example +@section eac3_core + +Extract the core from a E-AC-3 stream, dropping extra channels. + @section extract_extradata Extract the in-band extradata. @@ -92,6 +97,60 @@ When this option is enabled, the long-term headers are removed from the bitstream after extraction. @end table +@section filter_units + +Remove units with types in or not in a given set from the stream. + +@table @option +@item pass_types +List of unit types or ranges of unit types to pass through while removing +all others. This is specified as a '|'-separated list of unit type values +or ranges of values with '-'. + +@item remove_types +Identical to @option{pass_types}, except the units in the given set +removed and all others passed through. +@end table + +Extradata is unchanged by this transformation, but note that if the stream +contains inline parameter sets then the output may be unusable if they are +removed. + +For example, to remove all non-VCL NAL units from an H.264 stream: +@example +ffmpeg -i INPUT -c:v copy -bsf:v 'filter_units=pass_types=1-5' OUTPUT +@end example + +To remove all AUDs, SEI and filler from an H.265 stream: +@example +ffmpeg -i INPUT -c:v copy -bsf:v 'filter_units=remove_types=35|38-40' OUTPUT +@end example + +@section hapqa_extract + +Extract Rgb or Alpha part of an HAPQA file, without recompression, in order to create an HAPQ or an HAPAlphaOnly file. + +@table @option +@item texture +Specifies the texture to keep. + +@table @option +@item color +@item alpha +@end table + +@end table + +Convert HAPQA to HAPQ +@example +ffmpeg -i hapqa_inputfile.mov -c copy -bsf:v hapqa_extract=texture=color -tag:v HapY -metadata:s:v:0 encoder="HAPQ" hapq_file.mov +@end example + +Convert HAPQA to HAPAlphaOnly +@example +ffmpeg -i hapqa_inputfile.mov -c copy -bsf:v hapqa_extract=texture=alpha -tag:v HapA -metadata:s:v:0 encoder="HAPAlpha Only" hapalphaonly_file.mov +@end example + @section h264_metadata Modify metadata embedded in an H.264 stream. @@ -153,6 +212,9 @@ possibly separated by hyphens, and the string can be anything. For example, @samp{086f3693-b7b3-4f2c-9653-21492feee5b8+hello} will insert the string ``hello'' associated with the given UUID. +@item delete_filler +Deletes both filler NAL units and filler SEI messages. + @end table @section h264_mp4toannexb