From: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
To: ffmpeg-devel@ffmpeg.org
Subject: Re: [FFmpeg-devel] [PATCH] lavc: move bitstream filters into bsf/ subdir
Date: Fri, 26 Jan 2024 13:35:56 +0100
Message-ID: <AS8P250MB074490F65A1287D047FF0F7A8F792@AS8P250MB0744.EURP250.PROD.OUTLOOK.COM> (raw)
In-Reply-To: <20240126103905.17826-1-anton@khirnov.net>
Anton Khirnov:
> ---
> libavcodec/Makefile | 49 +---------------
> libavcodec/bsf/Makefile | 56 +++++++++++++++++++
> .../aac_adtstoasc.c} | 0
> .../av1_frame_merge.c} | 0
> .../av1_frame_split.c} | 0
> .../av1_metadata.c} | 0
> libavcodec/{chomp_bsf.c => bsf/chomp.c} | 0
> libavcodec/{dca_core_bsf.c => bsf/dca_core.c} | 0
> libavcodec/{dts2pts_bsf.c => bsf/dts2pts.c} | 0
> .../dump_extradata.c} | 0
> .../dv_error_marker.c} | 0
> .../{eac3_core_bsf.c => bsf/eac3_core.c} | 0
> .../evc_frame_merge.c} | 0
> .../extract_extradata.c} | 0
> .../filter_units.c} | 0
> .../h264_metadata.c} | 0
> .../h264_mp4toannexb.c} | 0
> .../h264_redundant_pps.c} | 0
> .../h265_metadata.c} | 0
> .../h266_metadata.c} | 0
> .../hapqa_extract.c} | 0
> .../hevc_mp4toannexb.c} | 0
> .../imx_dump_header.c} | 0
> .../media100_to_mjpegb.c} | 0
> .../{mjpeg2jpeg_bsf.c => bsf/mjpeg2jpeg.c} | 0
> .../mjpega_dump_header.c} | 0
> libavcodec/{movsub_bsf.c => bsf/movsub.c} | 0
> .../mp3_header_decompress.c} | 0
> .../mpeg2_metadata.c} | 0
> .../mpeg4_unpack_bframes.c} | 0
> libavcodec/{noise_bsf.c => bsf/noise.c} | 0
> libavcodec/{null_bsf.c => bsf/null.c} | 0
> .../opus_metadata.c} | 0
> .../{pcm_rechunk_bsf.c => bsf/pcm_rechunk.c} | 0
> .../pgs_frame_merge.c} | 0
> .../prores_metadata.c} | 0
> .../remove_extradata.c} | 0
> libavcodec/{setts_bsf.c => bsf/setts.c} | 0
> .../trace_headers.c} | 0
> .../{truehd_core_bsf.c => bsf/truehd_core.c} | 0
> .../vp9_metadata.c} | 0
> .../vp9_raw_reorder.c} | 0
> .../vp9_superframe.c} | 0
> .../vp9_superframe_split.c} | 0
> .../vvc_mp4toannexb.c} | 0
> 45 files changed, 57 insertions(+), 48 deletions(-)
> create mode 100644 libavcodec/bsf/Makefile
> rename libavcodec/{aac_adtstoasc_bsf.c => bsf/aac_adtstoasc.c} (100%)
> rename libavcodec/{av1_frame_merge_bsf.c => bsf/av1_frame_merge.c} (100%)
> rename libavcodec/{av1_frame_split_bsf.c => bsf/av1_frame_split.c} (100%)
> rename libavcodec/{av1_metadata_bsf.c => bsf/av1_metadata.c} (100%)
> rename libavcodec/{chomp_bsf.c => bsf/chomp.c} (100%)
> rename libavcodec/{dca_core_bsf.c => bsf/dca_core.c} (100%)
> rename libavcodec/{dts2pts_bsf.c => bsf/dts2pts.c} (100%)
> rename libavcodec/{dump_extradata_bsf.c => bsf/dump_extradata.c} (100%)
> rename libavcodec/{dv_error_marker_bsf.c => bsf/dv_error_marker.c} (100%)
> rename libavcodec/{eac3_core_bsf.c => bsf/eac3_core.c} (100%)
> rename libavcodec/{evc_frame_merge_bsf.c => bsf/evc_frame_merge.c} (100%)
> rename libavcodec/{extract_extradata_bsf.c => bsf/extract_extradata.c} (100%)
> rename libavcodec/{filter_units_bsf.c => bsf/filter_units.c} (100%)
> rename libavcodec/{h264_metadata_bsf.c => bsf/h264_metadata.c} (100%)
> rename libavcodec/{h264_mp4toannexb_bsf.c => bsf/h264_mp4toannexb.c} (100%)
> rename libavcodec/{h264_redundant_pps_bsf.c => bsf/h264_redundant_pps.c} (100%)
> rename libavcodec/{h265_metadata_bsf.c => bsf/h265_metadata.c} (100%)
> rename libavcodec/{h266_metadata_bsf.c => bsf/h266_metadata.c} (100%)
> rename libavcodec/{hapqa_extract_bsf.c => bsf/hapqa_extract.c} (100%)
> rename libavcodec/{hevc_mp4toannexb_bsf.c => bsf/hevc_mp4toannexb.c} (100%)
> rename libavcodec/{imx_dump_header_bsf.c => bsf/imx_dump_header.c} (100%)
> rename libavcodec/{media100_to_mjpegb_bsf.c => bsf/media100_to_mjpegb.c} (100%)
> rename libavcodec/{mjpeg2jpeg_bsf.c => bsf/mjpeg2jpeg.c} (100%)
> rename libavcodec/{mjpega_dump_header_bsf.c => bsf/mjpega_dump_header.c} (100%)
> rename libavcodec/{movsub_bsf.c => bsf/movsub.c} (100%)
> rename libavcodec/{mp3_header_decompress_bsf.c => bsf/mp3_header_decompress.c} (100%)
> rename libavcodec/{mpeg2_metadata_bsf.c => bsf/mpeg2_metadata.c} (100%)
> rename libavcodec/{mpeg4_unpack_bframes_bsf.c => bsf/mpeg4_unpack_bframes.c} (100%)
> rename libavcodec/{noise_bsf.c => bsf/noise.c} (100%)
> rename libavcodec/{null_bsf.c => bsf/null.c} (100%)
> rename libavcodec/{opus_metadata_bsf.c => bsf/opus_metadata.c} (100%)
> rename libavcodec/{pcm_rechunk_bsf.c => bsf/pcm_rechunk.c} (100%)
> rename libavcodec/{pgs_frame_merge_bsf.c => bsf/pgs_frame_merge.c} (100%)
> rename libavcodec/{prores_metadata_bsf.c => bsf/prores_metadata.c} (100%)
> rename libavcodec/{remove_extradata_bsf.c => bsf/remove_extradata.c} (100%)
> rename libavcodec/{setts_bsf.c => bsf/setts.c} (100%)
> rename libavcodec/{trace_headers_bsf.c => bsf/trace_headers.c} (100%)
> rename libavcodec/{truehd_core_bsf.c => bsf/truehd_core.c} (100%)
> rename libavcodec/{vp9_metadata_bsf.c => bsf/vp9_metadata.c} (100%)
> rename libavcodec/{vp9_raw_reorder_bsf.c => bsf/vp9_raw_reorder.c} (100%)
> rename libavcodec/{vp9_superframe_bsf.c => bsf/vp9_superframe.c} (100%)
> rename libavcodec/{vp9_superframe_split_bsf.c => bsf/vp9_superframe_split.c} (100%)
> rename libavcodec/{vvc_mp4toannexb_bsf.c => bsf/vvc_mp4toannexb.c} (100%)
>
> diff --git a/libavcodec/Makefile b/libavcodec/Makefile
> index 96361ac794..43b557faaf 100644
> --- a/libavcodec/Makefile
> +++ b/libavcodec/Makefile
> @@ -1233,54 +1233,7 @@ OBJS-$(CONFIG_XMA_PARSER) += xma_parser.o
> OBJS-$(CONFIG_XWD_PARSER) += xwd_parser.o
>
> # bitstream filters
> -OBJS-$(CONFIG_AAC_ADTSTOASC_BSF) += aac_adtstoasc_bsf.o
> -OBJS-$(CONFIG_AV1_METADATA_BSF) += av1_metadata_bsf.o
> -OBJS-$(CONFIG_AV1_FRAME_MERGE_BSF) += av1_frame_merge_bsf.o
> -OBJS-$(CONFIG_AV1_FRAME_SPLIT_BSF) += av1_frame_split_bsf.o
> -OBJS-$(CONFIG_CHOMP_BSF) += chomp_bsf.o
> -OBJS-$(CONFIG_DUMP_EXTRADATA_BSF) += dump_extradata_bsf.o
> -OBJS-$(CONFIG_DCA_CORE_BSF) += dca_core_bsf.o
> -OBJS-$(CONFIG_DTS2PTS_BSF) += dts2pts_bsf.o
> -OBJS-$(CONFIG_DV_ERROR_MARKER_BSF) += dv_error_marker_bsf.o
> -OBJS-$(CONFIG_EAC3_CORE_BSF) += eac3_core_bsf.o
> -OBJS-$(CONFIG_EXTRACT_EXTRADATA_BSF) += extract_extradata_bsf.o \
> - av1_parse.o h2645_parse.o
> -OBJS-$(CONFIG_FILTER_UNITS_BSF) += filter_units_bsf.o
> -OBJS-$(CONFIG_H264_METADATA_BSF) += h264_metadata_bsf.o h264_levels.o \
> - h2645data.o
> -OBJS-$(CONFIG_H264_MP4TOANNEXB_BSF) += h264_mp4toannexb_bsf.o
> -OBJS-$(CONFIG_H264_REDUNDANT_PPS_BSF) += h264_redundant_pps_bsf.o
> -OBJS-$(CONFIG_HAPQA_EXTRACT_BSF) += hapqa_extract_bsf.o hap.o
> -OBJS-$(CONFIG_HEVC_METADATA_BSF) += h265_metadata_bsf.o h265_profile_level.o \
> - h2645data.o
> -OBJS-$(CONFIG_HEVC_MP4TOANNEXB_BSF) += hevc_mp4toannexb_bsf.o
> -OBJS-$(CONFIG_IMX_DUMP_HEADER_BSF) += imx_dump_header_bsf.o
> -OBJS-$(CONFIG_MEDIA100_TO_MJPEGB_BSF) += media100_to_mjpegb_bsf.o
> -OBJS-$(CONFIG_MJPEG2JPEG_BSF) += mjpeg2jpeg_bsf.o
> -OBJS-$(CONFIG_MJPEGA_DUMP_HEADER_BSF) += mjpega_dump_header_bsf.o
> -OBJS-$(CONFIG_MPEG4_UNPACK_BFRAMES_BSF) += mpeg4_unpack_bframes_bsf.o
> -OBJS-$(CONFIG_MOV2TEXTSUB_BSF) += movsub_bsf.o
> -OBJS-$(CONFIG_MP3_HEADER_DECOMPRESS_BSF) += mp3_header_decompress_bsf.o \
> - mpegaudiotabs.o
> -OBJS-$(CONFIG_MPEG2_METADATA_BSF) += mpeg2_metadata_bsf.o
> -OBJS-$(CONFIG_NOISE_BSF) += noise_bsf.o
> -OBJS-$(CONFIG_NULL_BSF) += null_bsf.o
> -OBJS-$(CONFIG_OPUS_METADATA_BSF) += opus_metadata_bsf.o
> -OBJS-$(CONFIG_PCM_RECHUNK_BSF) += pcm_rechunk_bsf.o
> -OBJS-$(CONFIG_PGS_FRAME_MERGE_BSF) += pgs_frame_merge_bsf.o
> -OBJS-$(CONFIG_PRORES_METADATA_BSF) += prores_metadata_bsf.o
> -OBJS-$(CONFIG_REMOVE_EXTRADATA_BSF) += remove_extradata_bsf.o av1_parse.o
> -OBJS-$(CONFIG_SETTS_BSF) += setts_bsf.o
> -OBJS-$(CONFIG_TEXT2MOVSUB_BSF) += movsub_bsf.o
> -OBJS-$(CONFIG_TRACE_HEADERS_BSF) += trace_headers_bsf.o
> -OBJS-$(CONFIG_TRUEHD_CORE_BSF) += truehd_core_bsf.o mlp_parse.o mlp.o
> -OBJS-$(CONFIG_VP9_METADATA_BSF) += vp9_metadata_bsf.o
> -OBJS-$(CONFIG_VP9_RAW_REORDER_BSF) += vp9_raw_reorder_bsf.o
> -OBJS-$(CONFIG_VP9_SUPERFRAME_BSF) += vp9_superframe_bsf.o
> -OBJS-$(CONFIG_VP9_SUPERFRAME_SPLIT_BSF) += vp9_superframe_split_bsf.o
> -OBJS-$(CONFIG_VVC_METADATA_BSF) += h266_metadata_bsf.o
> -OBJS-$(CONFIG_VVC_MP4TOANNEXB_BSF) += vvc_mp4toannexb_bsf.o
> -OBJS-$(CONFIG_EVC_FRAME_MERGE_BSF) += evc_frame_merge_bsf.o
> +include $(SRC_PATH)/libavcodec/bsf/Makefile
>
> # thread libraries
> OBJS-$(HAVE_LIBC_MSVCRT) += file_open.o
> diff --git a/libavcodec/bsf/Makefile b/libavcodec/bsf/Makefile
> new file mode 100644
> index 0000000000..9c414cdb45
> --- /dev/null
> +++ b/libavcodec/bsf/Makefile
> @@ -0,0 +1,56 @@
> +clean::
> + $(RM) $(CLEANSUFFIXES:%=libavcodec/bsf/%)
> +
> +OBJS_BSF-$(CONFIG_AAC_ADTSTOASC_BSF) += bsf/aac_adtstoasc.o
> +OBJS_BSF-$(CONFIG_AV1_METADATA_BSF) += bsf/av1_metadata.o
> +OBJS_BSF-$(CONFIG_AV1_FRAME_MERGE_BSF) += bsf/av1_frame_merge.o
> +OBJS_BSF-$(CONFIG_AV1_FRAME_SPLIT_BSF) += bsf/av1_frame_split.o
> +OBJS_BSF-$(CONFIG_CHOMP_BSF) += bsf/chomp.o
> +OBJS_BSF-$(CONFIG_DUMP_EXTRADATA_BSF) += bsf/dump_extradata.o
> +OBJS_BSF-$(CONFIG_DCA_CORE_BSF) += bsf/dca_core.o
> +OBJS_BSF-$(CONFIG_DTS2PTS_BSF) += bsf/dts2pts.o
> +OBJS_BSF-$(CONFIG_DV_ERROR_MARKER_BSF) += bsf/dv_error_marker.o
> +OBJS_BSF-$(CONFIG_EAC3_CORE_BSF) += bsf/eac3_core.o
> +OBJS_BSF-$(CONFIG_EXTRACT_EXTRADATA_BSF) += bsf/extract_extradata.o \
> + av1_parse.o h2645_parse.o
> +OBJS_BSF-$(CONFIG_FILTER_UNITS_BSF) += bsf/filter_units.o
> +OBJS_BSF-$(CONFIG_H264_METADATA_BSF) += bsf/h264_metadata.o \
> + h264_levels.o h2645data.o
> +OBJS_BSF-$(CONFIG_H264_MP4TOANNEXB_BSF) += bsf/h264_mp4toannexb.o
> +OBJS_BSF-$(CONFIG_H264_REDUNDANT_PPS_BSF) += bsf/h264_redundant_pps.o
> +OBJS_BSF-$(CONFIG_HAPQA_EXTRACT_BSF) += bsf/hapqa_extract.o \
> + hap.o
> +OBJS_BSF-$(CONFIG_HEVC_METADATA_BSF) += bsf/h265_metadata.o \
> + h265_profile_level.o h2645data.o
> +OBJS_BSF-$(CONFIG_HEVC_MP4TOANNEXB_BSF) += bsf/hevc_mp4toannexb.o
> +OBJS_BSF-$(CONFIG_IMX_DUMP_HEADER_BSF) += bsf/imx_dump_header.o
> +OBJS_BSF-$(CONFIG_MEDIA100_TO_MJPEGB_BSF) += bsf/media100_to_mjpegb.o
> +OBJS_BSF-$(CONFIG_MJPEG2JPEG_BSF) += bsf/mjpeg2jpeg.o
> +OBJS_BSF-$(CONFIG_MJPEGA_DUMP_HEADER_BSF) += bsf/mjpega_dump_header.o
> +OBJS_BSF-$(CONFIG_MPEG4_UNPACK_BFRAMES_BSF) += bsf/mpeg4_unpack_bframes.o
> +OBJS_BSF-$(CONFIG_MOV2TEXTSUB_BSF) += bsf/movsub.o
> +OBJS_BSF-$(CONFIG_MP3_HEADER_DECOMPRESS_BSF) += bsf/mp3_header_decompress.o \
> + mpegaudiotabs.o
> +OBJS_BSF-$(CONFIG_MPEG2_METADATA_BSF) += bsf/mpeg2_metadata.o
> +OBJS_BSF-$(CONFIG_NOISE_BSF) += bsf/noise.o
> +OBJS_BSF-$(CONFIG_NULL_BSF) += bsf/null.o
> +OBJS_BSF-$(CONFIG_OPUS_METADATA_BSF) += bsf/opus_metadata.o
> +OBJS_BSF-$(CONFIG_PCM_RECHUNK_BSF) += bsf/pcm_rechunk.o
> +OBJS_BSF-$(CONFIG_PGS_FRAME_MERGE_BSF) += bsf/pgs_frame_merge.o
> +OBJS_BSF-$(CONFIG_PRORES_METADATA_BSF) += bsf/prores_metadata.o
> +OBJS_BSF-$(CONFIG_REMOVE_EXTRADATA_BSF) += bsf/remove_extradata.o av1_parse.o
> +OBJS_BSF-$(CONFIG_SETTS_BSF) += bsf/setts.o
> +OBJS_BSF-$(CONFIG_TEXT2MOVSUB_BSF) += bsf/movsub.o
> +OBJS_BSF-$(CONFIG_TRACE_HEADERS_BSF) += bsf/trace_headers.o
> +OBJS_BSF-$(CONFIG_TRUEHD_CORE_BSF) += bsf/truehd_core.o mlp_parse.o mlp.o
> +OBJS_BSF-$(CONFIG_VP9_METADATA_BSF) += bsf/vp9_metadata.o
> +OBJS_BSF-$(CONFIG_VP9_RAW_REORDER_BSF) += bsf/vp9_raw_reorder.o
> +OBJS_BSF-$(CONFIG_VP9_SUPERFRAME_BSF) += bsf/vp9_superframe.o
> +OBJS_BSF-$(CONFIG_VP9_SUPERFRAME_SPLIT_BSF) += bsf/vp9_superframe_split.o
> +OBJS_BSF-$(CONFIG_VVC_METADATA_BSF) += bsf/h266_metadata.o
> +OBJS_BSF-$(CONFIG_VVC_MP4TOANNEXB_BSF) += bsf/vvc_mp4toannexb.o
> +OBJS_BSF-$(CONFIG_EVC_FRAME_MERGE_BSF) += bsf/evc_frame_merge.o
> +
> +$(addprefix libavcodec/, $(OBJS_BSF-yes)): CPPFLAGS += -I$(SRC_PATH)/libavcodec/
This is inconsistent with the behaviour for arch-specific subfolders.
It also interferes with the files not in the bsf-subfolder (like
h264_levels.o). Granted, it won't break anything, but it nevertheless
feels wrong.
- Andreas
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
next prev parent reply other threads:[~2024-01-26 12:34 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-26 10:39 Anton Khirnov
2024-01-26 12:11 ` Lynne
2024-01-26 12:17 ` Zhao Zhili
2024-01-26 12:17 ` Anton Khirnov
2024-01-26 16:09 ` James Almer
2024-01-26 16:17 ` Anton Khirnov
2024-01-26 16:22 ` James Almer
2024-01-26 16:24 ` Anton Khirnov
2024-01-26 12:35 ` Andreas Rheinhardt [this message]
2024-01-26 16:22 ` Anton Khirnov
2024-01-28 17:49 ` Anton Khirnov
2024-01-29 9:57 ` Andreas Rheinhardt
2024-01-29 10:21 ` Anton Khirnov
2024-01-29 10:55 ` Andreas Rheinhardt
2024-01-29 11:07 ` Anton Khirnov
2024-01-29 11:15 ` Anton Khirnov
2024-01-29 11:29 ` Andreas Rheinhardt
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=AS8P250MB074490F65A1287D047FF0F7A8F792@AS8P250MB0744.EURP250.PROD.OUTLOOK.COM \
--to=andreas.rheinhardt@outlook.com \
--cc=ffmpeg-devel@ffmpeg.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
This inbox may be cloned and mirrored by anyone:
git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
ffmpegdev@gitmailbox.com
public-inbox-index ffmpegdev
Example config snippet for mirrors.
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git