* [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