* [FFmpeg-devel] [PATCH v1] avformat/mov_demuxer: Extended MOV demuxer to handle APV video content
[not found] <CGME20250506092836eucas1p1b209ca172f464f413d481ccc0fd0f95b@eucas1p1.samsung.com>
@ 2025-05-06 9:28 ` Dawid Kozinski
2025-07-07 13:50 ` James Almer
0 siblings, 1 reply; 2+ messages in thread
From: Dawid Kozinski @ 2025-05-06 9:28 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Dawid Kozinski
- Added apv extension to the list of extensions for ff_mov_demuxer
Signed-off-by: Dawid Kozinski <d.kozinski@samsung.com>
---
libavformat/demux.c | 1 +
libavformat/mov.c | 7 ++++++-
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/libavformat/demux.c b/libavformat/demux.c
index 2795863567..4e76de0629 100644
--- a/libavformat/demux.c
+++ b/libavformat/demux.c
@@ -126,6 +126,7 @@ static int set_codec_from_probe_data(AVFormatContext *s, AVStream *st,
{ "truehd", AV_CODEC_ID_TRUEHD, AVMEDIA_TYPE_AUDIO },
{ "evc", AV_CODEC_ID_EVC, AVMEDIA_TYPE_VIDEO },
{ "vvc", AV_CODEC_ID_VVC, AVMEDIA_TYPE_VIDEO },
+ { "apv", AV_CODEC_ID_APV, AVMEDIA_TYPE_VIDEO },
{ 0 }
};
int score;
diff --git a/libavformat/mov.c b/libavformat/mov.c
index cb81b6c4da..b7495b33ed 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -2982,6 +2982,7 @@ static int mov_finalize_stsd_codec(MOVContext *c, AVIOContext *pb,
case AV_CODEC_ID_VP9:
sti->need_parsing = AVSTREAM_PARSE_FULL;
break;
+ case AV_CODEC_ID_APV:
case AV_CODEC_ID_EVC:
case AV_CODEC_ID_AV1:
/* field_order detection of H264 requires parsing */
@@ -9318,6 +9319,7 @@ static const MOVParseTableEntry mov_default_parse_table[] = {
#if CONFIG_IAMFDEC
{ MKTAG('i','a','c','b'), mov_read_iacb },
#endif
+{ MKTAG('a','p','v','C'), mov_read_glbl },
{ 0, NULL }
};
@@ -11022,7 +11024,10 @@ static int mov_read_packet(AVFormatContext *s, AVPacket *pkt)
return FFERROR_REDO;
}
#endif
- else
+ else if(st->codecpar->codec_id == AV_CODEC_ID_APV && sample->size > 4) {
+ const uint32_t au_size = avio_rb32(sc->pb);
+ ret = av_get_packet(sc->pb, pkt, au_size);
+ } else
ret = av_get_packet(sc->pb, pkt, sample->size);
if (ret < 0) {
if (should_retry(sc->pb, ret)) {
--
2.34.1
_______________________________________________
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".
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [FFmpeg-devel] [PATCH v1] avformat/mov_demuxer: Extended MOV demuxer to handle APV video content
2025-05-06 9:28 ` [FFmpeg-devel] [PATCH v1] avformat/mov_demuxer: Extended MOV demuxer to handle APV video content Dawid Kozinski
@ 2025-07-07 13:50 ` James Almer
0 siblings, 0 replies; 2+ messages in thread
From: James Almer @ 2025-07-07 13:50 UTC (permalink / raw)
To: ffmpeg-devel
[-- Attachment #1.1.1: Type: text/plain, Size: 2237 bytes --]
On 5/6/2025 6:28 AM, Dawid Kozinski wrote:
> - Added apv extension to the list of extensions for ff_mov_demuxer
>
> Signed-off-by: Dawid Kozinski <d.kozinski@samsung.com>
> ---
> libavformat/demux.c | 1 +
> libavformat/mov.c | 7 ++++++-
> 2 files changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/libavformat/demux.c b/libavformat/demux.c
> index 2795863567..4e76de0629 100644
> --- a/libavformat/demux.c
> +++ b/libavformat/demux.c
> @@ -126,6 +126,7 @@ static int set_codec_from_probe_data(AVFormatContext *s, AVStream *st,
> { "truehd", AV_CODEC_ID_TRUEHD, AVMEDIA_TYPE_AUDIO },
> { "evc", AV_CODEC_ID_EVC, AVMEDIA_TYPE_VIDEO },
> { "vvc", AV_CODEC_ID_VVC, AVMEDIA_TYPE_VIDEO },
> + { "apv", AV_CODEC_ID_APV, AVMEDIA_TYPE_VIDEO },
> { 0 }
> };
> int score;
> diff --git a/libavformat/mov.c b/libavformat/mov.c
> index cb81b6c4da..b7495b33ed 100644
> --- a/libavformat/mov.c
> +++ b/libavformat/mov.c
> @@ -2982,6 +2982,7 @@ static int mov_finalize_stsd_codec(MOVContext *c, AVIOContext *pb,
> case AV_CODEC_ID_VP9:
> sti->need_parsing = AVSTREAM_PARSE_FULL;
> break;
> + case AV_CODEC_ID_APV:
> case AV_CODEC_ID_EVC:
> case AV_CODEC_ID_AV1:
> /* field_order detection of H264 requires parsing */
> @@ -9318,6 +9319,7 @@ static const MOVParseTableEntry mov_default_parse_table[] = {
> #if CONFIG_IAMFDEC
> { MKTAG('i','a','c','b'), mov_read_iacb },
> #endif
> +{ MKTAG('a','p','v','C'), mov_read_glbl },
> { 0, NULL }
> };
>
> @@ -11022,7 +11024,10 @@ static int mov_read_packet(AVFormatContext *s, AVPacket *pkt)
> return FFERROR_REDO;
> }
> #endif
> - else
> + else if(st->codecpar->codec_id == AV_CODEC_ID_APV && sample->size > 4) {
> + const uint32_t au_size = avio_rb32(sc->pb);
> + ret = av_get_packet(sc->pb, pkt, au_size);
> + } else
> ret = av_get_packet(sc->pb, pkt, sample->size);
> if (ret < 0) {
> if (should_retry(sc->pb, ret)) {
Will apply.
[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 495 bytes --]
[-- Attachment #2: Type: text/plain, Size: 251 bytes --]
_______________________________________________
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".
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2025-07-07 13:50 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <CGME20250506092836eucas1p1b209ca172f464f413d481ccc0fd0f95b@eucas1p1.samsung.com>
2025-05-06 9:28 ` [FFmpeg-devel] [PATCH v1] avformat/mov_demuxer: Extended MOV demuxer to handle APV video content Dawid Kozinski
2025-07-07 13:50 ` James Almer
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