1FFMPEG-BITSTREAM-FILTERS(1) FFMPEG-BITSTREAM-FILTERS(1)
2
3
4
6 ffmpeg-bitstream-filters - FFmpeg bitstream filters
7
9 This document describes the bitstream filters provided by the
10 libavcodec library.
11
12 A bitstream filter operates on the encoded stream data, and performs
13 bitstream level modifications without performing decoding.
14
16 When you configure your FFmpeg build, all the supported bitstream
17 filters are enabled by default. You can list all available ones using
18 the configure option "--list-bsfs".
19
20 You can disable all the bitstream filters using the configure option
21 "--disable-bsfs", and selectively enable any bitstream filter using the
22 option "--enable-bsf=BSF", or you can disable a particular bitstream
23 filter using the option "--disable-bsf=BSF".
24
25 The option "-bsfs" of the ff* tools will display the list of all the
26 supported bitstream filters included in your build.
27
28 The ff* tools have a -bsf option applied per stream, taking a comma-
29 separated list of filters, whose parameters follow the filter name
30 after a '='.
31
32 ffmpeg -i INPUT -c:v copy -bsf:v filter1[=opt1=str1:opt2=str2][,filter2] OUTPUT
33
34 Below is a description of the currently available bitstream filters,
35 with their parameters, if any.
36
37 aac_adtstoasc
38 Convert MPEG-2/4 AAC ADTS to an MPEG-4 Audio Specific Configuration
39 bitstream.
40
41 This filter creates an MPEG-4 AudioSpecificConfig from an MPEG-2/4 ADTS
42 header and removes the ADTS header.
43
44 This filter is required for example when copying an AAC stream from a
45 raw ADTS AAC or an MPEG-TS container to MP4A-LATM, to an FLV file, or
46 to MOV/MP4 files and related formats such as 3GP or M4A. Please note
47 that it is auto-inserted for MP4A-LATM and MOV/MP4 and related formats.
48
49 av1_metadata
50 Modify metadata embedded in an AV1 stream.
51
52 td Insert or remove temporal delimiter OBUs in all temporal units of
53 the stream.
54
55 insert
56 Insert a TD at the beginning of every TU which does not already
57 have one.
58
59 remove
60 Remove the TD from the beginning of every TU which has one.
61
62 color_primaries
63 transfer_characteristics
64 matrix_coefficients
65 Set the color description fields in the stream (see AV1 section
66 6.4.2).
67
68 color_range
69 Set the color range in the stream (see AV1 section 6.4.2; note that
70 this cannot be set for streams using BT.709 primaries, sRGB
71 transfer characteristic and identity (RGB) matrix coefficients).
72
73 tv Limited range.
74
75 pc Full range.
76
77 chroma_sample_position
78 Set the chroma sample location in the stream (see AV1 section
79 6.4.2). This can only be set for 4:2:0 streams.
80
81 vertical
82 Left position (matching the default in MPEG-2 and H.264).
83
84 colocated
85 Top-left position.
86
87 tick_rate
88 Set the tick rate (time_scale / num_units_in_display_tick) in the
89 timing info in the sequence header.
90
91 num_ticks_per_picture
92 Set the number of ticks in each picture, to indicate that the
93 stream has a fixed framerate. Ignored if tick_rate is not also
94 set.
95
96 delete_padding
97 Deletes Padding OBUs.
98
99 chomp
100 Remove zero padding at the end of a packet.
101
102 dca_core
103 Extract the core from a DCA/DTS stream, dropping extensions such as
104 DTS-HD.
105
106 dump_extra
107 Add extradata to the beginning of the filtered packets except when said
108 packets already exactly begin with the extradata that is intended to be
109 added.
110
111 freq
112 The additional argument specifies which packets should be filtered.
113 It accepts the values:
114
115 k
116 keyframe
117 add extradata to all key packets
118
119 e
120 all add extradata to all packets
121
122 If not specified it is assumed k.
123
124 For example the following ffmpeg command forces a global header (thus
125 disabling individual packet headers) in the H.264 packets generated by
126 the "libx264" encoder, but corrects them by adding the header stored in
127 extradata to the key packets:
128
129 ffmpeg -i INPUT -map 0 -flags:v +global_header -c:v libx264 -bsf:v dump_extra out.ts
130
131 dv_error_marker
132 Blocks in DV which are marked as damaged are replaced by blocks of the
133 specified color.
134
135 color
136 The color to replace damaged blocks by
137
138 sta A 16 bit mask which specifies which of the 16 possible error status
139 values are to be replaced by colored blocks. 0xFFFE is the default
140 which replaces all non 0 error status values.
141
142 ok No error, no concealment
143
144 err Error, No concealment
145
146 res Reserved
147
148 notok
149 Error or concealment
150
151 notres
152 Not reserved
153
154 Aa, Ba, Ca, Ab, Bb, Cb, A, B, C, a, b, erri, erru
155 The specific error status code
156
157 see page 44-46 or section 5.5 of
158 <http://web.archive.org/web/20060927044735/http://www.smpte.org/smpte_store/standards/pdf/s314m.pdf>
159
160 eac3_core
161 Extract the core from a E-AC-3 stream, dropping extra channels.
162
163 extract_extradata
164 Extract the in-band extradata.
165
166 Certain codecs allow the long-term headers (e.g. MPEG-2 sequence
167 headers, or H.264/HEVC (VPS/)SPS/PPS) to be transmitted either "in-
168 band" (i.e. as a part of the bitstream containing the coded frames) or
169 "out of band" (e.g. on the container level). This latter form is called
170 "extradata" in FFmpeg terminology.
171
172 This bitstream filter detects the in-band headers and makes them
173 available as extradata.
174
175 remove
176 When this option is enabled, the long-term headers are removed from
177 the bitstream after extraction.
178
179 filter_units
180 Remove units with types in or not in a given set from the stream.
181
182 pass_types
183 List of unit types or ranges of unit types to pass through while
184 removing all others. This is specified as a '|'-separated list of
185 unit type values or ranges of values with '-'.
186
187 remove_types
188 Identical to pass_types, except the units in the given set removed
189 and all others passed through.
190
191 Extradata is unchanged by this transformation, but note that if the
192 stream contains inline parameter sets then the output may be unusable
193 if they are removed.
194
195 For example, to remove all non-VCL NAL units from an H.264 stream:
196
197 ffmpeg -i INPUT -c:v copy -bsf:v 'filter_units=pass_types=1-5' OUTPUT
198
199 To remove all AUDs, SEI and filler from an H.265 stream:
200
201 ffmpeg -i INPUT -c:v copy -bsf:v 'filter_units=remove_types=35|38-40' OUTPUT
202
203 hapqa_extract
204 Extract Rgb or Alpha part of an HAPQA file, without recompression, in
205 order to create an HAPQ or an HAPAlphaOnly file.
206
207 texture
208 Specifies the texture to keep.
209
210 color
211 alpha
212
213 Convert HAPQA to HAPQ
214
215 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
216
217 Convert HAPQA to HAPAlphaOnly
218
219 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
220
221 h264_metadata
222 Modify metadata embedded in an H.264 stream.
223
224 aud Insert or remove AUD NAL units in all access units of the stream.
225
226 pass
227 insert
228 remove
229
230 Default is pass.
231
232 sample_aspect_ratio
233 Set the sample aspect ratio of the stream in the VUI parameters.
234 See H.264 table E-1.
235
236 overscan_appropriate_flag
237 Set whether the stream is suitable for display using overscan or
238 not (see H.264 section E.2.1).
239
240 video_format
241 video_full_range_flag
242 Set the video format in the stream (see H.264 section E.2.1 and
243 table E-2).
244
245 colour_primaries
246 transfer_characteristics
247 matrix_coefficients
248 Set the colour description in the stream (see H.264 section E.2.1
249 and tables E-3, E-4 and E-5).
250
251 chroma_sample_loc_type
252 Set the chroma sample location in the stream (see H.264 section
253 E.2.1 and figure E-1).
254
255 tick_rate
256 Set the tick rate (time_scale / num_units_in_tick) in the VUI
257 parameters. This is the smallest time unit representable in the
258 stream, and in many cases represents the field rate of the stream
259 (double the frame rate).
260
261 fixed_frame_rate_flag
262 Set whether the stream has fixed framerate - typically this
263 indicates that the framerate is exactly half the tick rate, but the
264 exact meaning is dependent on interlacing and the picture structure
265 (see H.264 section E.2.1 and table E-6).
266
267 zero_new_constraint_set_flags
268 Zero constraint_set4_flag and constraint_set5_flag in the SPS.
269 These bits were reserved in a previous version of the H.264 spec,
270 and thus some hardware decoders require these to be zero. The
271 result of zeroing this is still a valid bitstream.
272
273 crop_left
274 crop_right
275 crop_top
276 crop_bottom
277 Set the frame cropping offsets in the SPS. These values will
278 replace the current ones if the stream is already cropped.
279
280 These fields are set in pixels. Note that some sizes may not be
281 representable if the chroma is subsampled or the stream is
282 interlaced (see H.264 section 7.4.2.1.1).
283
284 sei_user_data
285 Insert a string as SEI unregistered user data. The argument must
286 be of the form UUID+string, where the UUID is as hex digits
287 possibly separated by hyphens, and the string can be anything.
288
289 For example, 086f3693-b7b3-4f2c-9653-21492feee5b8+hello will insert
290 the string ``hello'' associated with the given UUID.
291
292 delete_filler
293 Deletes both filler NAL units and filler SEI messages.
294
295 display_orientation
296 Insert, extract or remove Display orientation SEI messages. See
297 H.264 section D.1.27 and D.2.27 for syntax and semantics.
298
299 pass
300 insert
301 remove
302 extract
303
304 Default is pass.
305
306 Insert mode works in conjunction with "rotate" and "flip" options.
307 Any pre-existing Display orientation messages will be removed in
308 insert or remove mode. Extract mode attaches the display matrix to
309 the packet as side data.
310
311 rotate
312 Set rotation in display orientation SEI (anticlockwise angle in
313 degrees). Range is -360 to +360. Default is NaN.
314
315 flip
316 Set flip in display orientation SEI.
317
318 horizontal
319 vertical
320
321 Default is unset.
322
323 level
324 Set the level in the SPS. Refer to H.264 section A.3 and tables
325 A-1 to A-5.
326
327 The argument must be the name of a level (for example, 4.2), a
328 level_idc value (for example, 42), or the special name auto
329 indicating that the filter should attempt to guess the level from
330 the input stream properties.
331
332 h264_mp4toannexb
333 Convert an H.264 bitstream from length prefixed mode to start code
334 prefixed mode (as defined in the Annex B of the ITU-T H.264
335 specification).
336
337 This is required by some streaming formats, typically the MPEG-2
338 transport stream format (muxer "mpegts").
339
340 For example to remux an MP4 file containing an H.264 stream to mpegts
341 format with ffmpeg, you can use the command:
342
343 ffmpeg -i INPUT.mp4 -codec copy -bsf:v h264_mp4toannexb OUTPUT.ts
344
345 Please note that this filter is auto-inserted for MPEG-TS (muxer
346 "mpegts") and raw H.264 (muxer "h264") output formats.
347
348 h264_redundant_pps
349 This applies a specific fixup to some Blu-ray streams which contain
350 redundant PPSs modifying irrelevant parameters of the stream which
351 confuse other transformations which require correct extradata.
352
353 hevc_metadata
354 Modify metadata embedded in an HEVC stream.
355
356 aud Insert or remove AUD NAL units in all access units of the stream.
357
358 insert
359 remove
360 sample_aspect_ratio
361 Set the sample aspect ratio in the stream in the VUI parameters.
362
363 video_format
364 video_full_range_flag
365 Set the video format in the stream (see H.265 section E.3.1 and
366 table E.2).
367
368 colour_primaries
369 transfer_characteristics
370 matrix_coefficients
371 Set the colour description in the stream (see H.265 section E.3.1
372 and tables E.3, E.4 and E.5).
373
374 chroma_sample_loc_type
375 Set the chroma sample location in the stream (see H.265 section
376 E.3.1 and figure E.1).
377
378 tick_rate
379 Set the tick rate in the VPS and VUI parameters (time_scale /
380 num_units_in_tick). Combined with num_ticks_poc_diff_one, this can
381 set a constant framerate in the stream. Note that it is likely to
382 be overridden by container parameters when the stream is in a
383 container.
384
385 num_ticks_poc_diff_one
386 Set poc_proportional_to_timing_flag in VPS and VUI and use this
387 value to set num_ticks_poc_diff_one_minus1 (see H.265 sections
388 7.4.3.1 and E.3.1). Ignored if tick_rate is not also set.
389
390 crop_left
391 crop_right
392 crop_top
393 crop_bottom
394 Set the conformance window cropping offsets in the SPS. These
395 values will replace the current ones if the stream is already
396 cropped.
397
398 These fields are set in pixels. Note that some sizes may not be
399 representable if the chroma is subsampled (H.265 section
400 7.4.3.2.1).
401
402 level
403 Set the level in the VPS and SPS. See H.265 section A.4 and tables
404 A.6 and A.7.
405
406 The argument must be the name of a level (for example, 5.1), a
407 general_level_idc value (for example, 153 for level 5.1), or the
408 special name auto indicating that the filter should attempt to
409 guess the level from the input stream properties.
410
411 hevc_mp4toannexb
412 Convert an HEVC/H.265 bitstream from length prefixed mode to start code
413 prefixed mode (as defined in the Annex B of the ITU-T H.265
414 specification).
415
416 This is required by some streaming formats, typically the MPEG-2
417 transport stream format (muxer "mpegts").
418
419 For example to remux an MP4 file containing an HEVC stream to mpegts
420 format with ffmpeg, you can use the command:
421
422 ffmpeg -i INPUT.mp4 -codec copy -bsf:v hevc_mp4toannexb OUTPUT.ts
423
424 Please note that this filter is auto-inserted for MPEG-TS (muxer
425 "mpegts") and raw HEVC/H.265 (muxer "h265" or "hevc") output formats.
426
427 imxdump
428 Modifies the bitstream to fit in MOV and to be usable by the Final Cut
429 Pro decoder. This filter only applies to the mpeg2video codec, and is
430 likely not needed for Final Cut Pro 7 and newer with the appropriate
431 -tag:v.
432
433 For example, to remux 30 MB/sec NTSC IMX to MOV:
434
435 ffmpeg -i input.mxf -c copy -bsf:v imxdump -tag:v mx3n output.mov
436
437 mjpeg2jpeg
438 Convert MJPEG/AVI1 packets to full JPEG/JFIF packets.
439
440 MJPEG is a video codec wherein each video frame is essentially a JPEG
441 image. The individual frames can be extracted without loss, e.g. by
442
443 ffmpeg -i ../some_mjpeg.avi -c:v copy frames_%d.jpg
444
445 Unfortunately, these chunks are incomplete JPEG images, because they
446 lack the DHT segment required for decoding. Quoting from
447 <http://www.digitalpreservation.gov/formats/fdd/fdd000063.shtml>:
448
449 Avery Lee, writing in the rec.video.desktop newsgroup in 2001,
450 commented that "MJPEG, or at least the MJPEG in AVIs having the MJPG
451 fourcc, is restricted JPEG with a fixed -- and *omitted* -- Huffman
452 table. The JPEG must be YCbCr colorspace, it must be 4:2:2, and it must
453 use basic Huffman encoding, not arithmetic or progressive. . . . You
454 can indeed extract the MJPEG frames and decode them with a regular JPEG
455 decoder, but you have to prepend the DHT segment to them, or else the
456 decoder won't have any idea how to decompress the data. The exact table
457 necessary is given in the OpenDML spec."
458
459 This bitstream filter patches the header of frames extracted from an
460 MJPEG stream (carrying the AVI1 header ID and lacking a DHT segment) to
461 produce fully qualified JPEG images.
462
463 ffmpeg -i mjpeg-movie.avi -c:v copy -bsf:v mjpeg2jpeg frame_%d.jpg
464 exiftran -i -9 frame*.jpg
465 ffmpeg -i frame_%d.jpg -c:v copy rotated.avi
466
467 mjpegadump
468 Add an MJPEG A header to the bitstream, to enable decoding by
469 Quicktime.
470
471 mov2textsub
472 Extract a representable text file from MOV subtitles, stripping the
473 metadata header from each subtitle packet.
474
475 See also the text2movsub filter.
476
477 mp3decomp
478 Decompress non-standard compressed MP3 audio headers.
479
480 mpeg2_metadata
481 Modify metadata embedded in an MPEG-2 stream.
482
483 display_aspect_ratio
484 Set the display aspect ratio in the stream.
485
486 The following fixed values are supported:
487
488 4/3
489 16/9
490 221/100
491
492 Any other value will result in square pixels being signalled
493 instead (see H.262 section 6.3.3 and table 6-3).
494
495 frame_rate
496 Set the frame rate in the stream. This is constructed from a table
497 of known values combined with a small multiplier and divisor - if
498 the supplied value is not exactly representable, the nearest
499 representable value will be used instead (see H.262 section 6.3.3
500 and table 6-4).
501
502 video_format
503 Set the video format in the stream (see H.262 section 6.3.6 and
504 table 6-6).
505
506 colour_primaries
507 transfer_characteristics
508 matrix_coefficients
509 Set the colour description in the stream (see H.262 section 6.3.6
510 and tables 6-7, 6-8 and 6-9).
511
512 mpeg4_unpack_bframes
513 Unpack DivX-style packed B-frames.
514
515 DivX-style packed B-frames are not valid MPEG-4 and were only a
516 workaround for the broken Video for Windows subsystem. They use more
517 space, can cause minor AV sync issues, require more CPU power to decode
518 (unless the player has some decoded picture queue to compensate the
519 2,0,2,0 frame per packet style) and cause trouble if copied into a
520 standard container like mp4 or mpeg-ps/ts, because MPEG-4 decoders may
521 not be able to decode them, since they are not valid MPEG-4.
522
523 For example to fix an AVI file containing an MPEG-4 stream with DivX-
524 style packed B-frames using ffmpeg, you can use the command:
525
526 ffmpeg -i INPUT.avi -codec copy -bsf:v mpeg4_unpack_bframes OUTPUT.avi
527
528 noise
529 Damages the contents of packets or simply drops them without damaging
530 the container. Can be used for fuzzing or testing error
531 resilience/concealment.
532
533 Parameters:
534
535 amount
536 Accepts an expression whose evaluation per-packet determines how
537 often bytes in that packet will be modified. A value below 0 will
538 result in a variable frequency. Default is 0 which results in no
539 modification. However, if neither amount nor drop is specified,
540 amount will be set to -1. See below for accepted variables.
541
542 drop
543 Accepts an expression evaluated per-packet whose value determines
544 whether that packet is dropped. Evaluation to a positive value
545 results in the packet being dropped. Evaluation to a negative value
546 results in a variable chance of it being dropped, roughly inverse
547 in proportion to the magnitude of the value. Default is 0 which
548 results in no drops. See below for accepted variables.
549
550 dropamount
551 Accepts a non-negative integer, which assigns a variable chance of
552 it being dropped, roughly inverse in proportion to the value.
553 Default is 0 which results in no drops. This option is kept for
554 backwards compatibility and is equivalent to setting drop to a
555 negative value with the same magnitude i.e. "dropamount=4" is the
556 same as "drop=-4". Ignored if drop is also specified.
557
558 Both "amount" and "drop" accept expressions containing the following
559 variables:
560
561 n The index of the packet, starting from zero.
562
563 tb The timebase for packet timestamps.
564
565 pts Packet presentation timestamp.
566
567 dts Packet decoding timestamp.
568
569 nopts
570 Constant representing AV_NOPTS_VALUE.
571
572 startpts
573 First non-AV_NOPTS_VALUE PTS seen in the stream.
574
575 startdts
576 First non-AV_NOPTS_VALUE DTS seen in the stream.
577
578 duration
579 d Packet duration, in timebase units.
580
581 pos Packet position in input; may be -1 when unknown or not set.
582
583 size
584 Packet size, in bytes.
585
586 key Whether packet is marked as a keyframe.
587
588 state
589 A pseudo random integer, primarily derived from the content of
590 packet payload.
591
592 Examples
593
594 Apply modification to every byte but don't drop any packets.
595
596 ffmpeg -i INPUT -c copy -bsf noise=1 output.mkv
597
598 Drop every video packet not marked as a keyframe after timestamp 30s
599 but do not modify any of the remaining packets.
600
601 ffmpeg -i INPUT -c copy -bsf:v noise=drop='gt(t\,30)*not(key)' output.mkv
602
603 Drop one second of audio every 10 seconds and add some random noise to
604 the rest.
605
606 ffmpeg -i INPUT -c copy -bsf:a noise=amount=-1:drop='between(mod(t\,10)\,9\,10)' output.mkv
607
608 null
609 This bitstream filter passes the packets through unchanged.
610
611 pcm_rechunk
612 Repacketize PCM audio to a fixed number of samples per packet or a
613 fixed packet rate per second. This is similar to the asetnsamples audio
614 filter but works on audio packets instead of audio frames.
615
616 nb_out_samples, n
617 Set the number of samples per each output audio packet. The number
618 is intended as the number of samples per each channel. Default
619 value is 1024.
620
621 pad, p
622 If set to 1, the filter will pad the last audio packet with
623 silence, so that it will contain the same number of samples (or
624 roughly the same number of samples, see frame_rate) as the previous
625 ones. Default value is 1.
626
627 frame_rate, r
628 This option makes the filter output a fixed number of packets per
629 second instead of a fixed number of samples per packet. If the
630 audio sample rate is not divisible by the frame rate then the
631 number of samples will not be constant but will vary slightly so
632 that each packet will start as close to the frame boundary as
633 possible. Using this option has precedence over nb_out_samples.
634
635 You can generate the well known 1602-1601-1602-1601-1602 pattern of
636 48kHz audio for NTSC frame rate using the frame_rate option.
637
638 ffmpeg -f lavfi -i sine=r=48000:d=1 -c pcm_s16le -bsf pcm_rechunk=r=30000/1001 -f framecrc -
639
640 pgs_frame_merge
641 Merge a sequence of PGS Subtitle segments ending with an "end of
642 display set" segment into a single packet.
643
644 This is required by some containers that support PGS subtitles (muxer
645 "matroska").
646
647 prores_metadata
648 Modify color property metadata embedded in prores stream.
649
650 color_primaries
651 Set the color primaries. Available values are:
652
653 auto
654 Keep the same color primaries property (default).
655
656 unknown
657 bt709
658 bt470bg
659 BT601 625
660
661 smpte170m
662 BT601 525
663
664 bt2020
665 smpte431
666 DCI P3
667
668 smpte432
669 P3 D65
670
671 transfer_characteristics
672 Set the color transfer. Available values are:
673
674 auto
675 Keep the same transfer characteristics property (default).
676
677 unknown
678 bt709
679 BT 601, BT 709, BT 2020
680
681 smpte2084
682 SMPTE ST 2084
683
684 arib-std-b67
685 ARIB STD-B67
686
687 matrix_coefficients
688 Set the matrix coefficient. Available values are:
689
690 auto
691 Keep the same colorspace property (default).
692
693 unknown
694 bt709
695 smpte170m
696 BT 601
697
698 bt2020nc
699
700 Set Rec709 colorspace for each frame of the file
701
702 ffmpeg -i INPUT -c copy -bsf:v prores_metadata=color_primaries=bt709:color_trc=bt709:colorspace=bt709 output.mov
703
704 Set Hybrid Log-Gamma parameters for each frame of the file
705
706 ffmpeg -i INPUT -c copy -bsf:v prores_metadata=color_primaries=bt2020:color_trc=arib-std-b67:colorspace=bt2020nc output.mov
707
708 remove_extra
709 Remove extradata from packets.
710
711 It accepts the following parameter:
712
713 freq
714 Set which frame types to remove extradata from.
715
716 k Remove extradata from non-keyframes only.
717
718 keyframe
719 Remove extradata from keyframes only.
720
721 e, all
722 Remove extradata from all frames.
723
724 setts
725 Set PTS and DTS in packets.
726
727 It accepts the following parameters:
728
729 ts
730 pts
731 dts Set expressions for PTS, DTS or both.
732
733 duration
734 Set expression for duration.
735
736 time_base
737 Set output time base.
738
739 The expressions are evaluated through the eval API and can contain the
740 following constants:
741
742 N The count of the input packet. Starting from 0.
743
744 TS The demux timestamp in input in case of "ts" or "dts" option or
745 presentation timestamp in case of "pts" option.
746
747 POS The original position in the file of the packet, or undefined if
748 undefined for the current packet
749
750 DTS The demux timestamp in input.
751
752 PTS The presentation timestamp in input.
753
754 DURATION
755 The duration in input.
756
757 STARTDTS
758 The DTS of the first packet.
759
760 STARTPTS
761 The PTS of the first packet.
762
763 PREV_INDTS
764 The previous input DTS.
765
766 PREV_INPTS
767 The previous input PTS.
768
769 PREV_INDURATION
770 The previous input duration.
771
772 PREV_OUTDTS
773 The previous output DTS.
774
775 PREV_OUTPTS
776 The previous output PTS.
777
778 PREV_OUTDURATION
779 The previous output duration.
780
781 NEXT_DTS
782 The next input DTS.
783
784 NEXT_PTS
785 The next input PTS.
786
787 NEXT_DURATION
788 The next input duration.
789
790 TB The timebase of stream packet belongs.
791
792 TB_OUT
793 The output timebase.
794
795 SR The sample rate of stream packet belongs.
796
797 NOPTS
798 The AV_NOPTS_VALUE constant.
799
800 text2movsub
801 Convert text subtitles to MOV subtitles (as used by the "mov_text"
802 codec) with metadata headers.
803
804 See also the mov2textsub filter.
805
806 trace_headers
807 Log trace output containing all syntax elements in the coded stream
808 headers (everything above the level of individual coded blocks). This
809 can be useful for debugging low-level stream issues.
810
811 Supports AV1, H.264, H.265, (M)JPEG, MPEG-2 and VP9, but depending on
812 the build only a subset of these may be available.
813
814 truehd_core
815 Extract the core from a TrueHD stream, dropping ATMOS data.
816
817 vp9_metadata
818 Modify metadata embedded in a VP9 stream.
819
820 color_space
821 Set the color space value in the frame header. Note that any frame
822 set to RGB will be implicitly set to PC range and that RGB is
823 incompatible with profiles 0 and 2.
824
825 unknown
826 bt601
827 bt709
828 smpte170
829 smpte240
830 bt2020
831 rgb
832 color_range
833 Set the color range value in the frame header. Note that any value
834 imposed by the color space will take precedence over this value.
835
836 tv
837 pc
838
839 vp9_superframe
840 Merge VP9 invisible (alt-ref) frames back into VP9 superframes. This
841 fixes merging of split/segmented VP9 streams where the alt-ref frame
842 was split from its visible counterpart.
843
844 vp9_superframe_split
845 Split VP9 superframes into single frames.
846
847 vp9_raw_reorder
848 Given a VP9 stream with correct timestamps but possibly out of order,
849 insert additional show-existing-frame packets to correct the ordering.
850
852 ffmpeg(1), ffplay(1), ffprobe(1), libavcodec(3)
853
855 The FFmpeg developers.
856
857 For details about the authorship, see the Git history of the project
858 (https://git.ffmpeg.org/ffmpeg), e.g. by typing the command git log in
859 the FFmpeg source directory, or browsing the online repository at
860 <https://git.ffmpeg.org/ffmpeg>.
861
862 Maintainers for the specific components are listed in the file
863 MAINTAINERS in the source code tree.
864
865
866
867 FFMPEG-BITSTREAM-FILTERS(1)