History

avformat/mov: add support for APV streams

Dawid Kozinski committed 1 year ago

Commit 219f2341 parent 934e1c24 files · +10 −2Browse files

Unified · Split

4 files
  1. Changelog +1 −0
  2. libavformat/isom_tags.c +2 −0
  3. libavformat/mov.c +6 −1
  4. libavformat/version.h +1 −1
Changelog+1−0
@@ -21,6 +21,7 @@ version <next>: · 20 unmodified lines
2121 - G.728 decoder
2222 - pad_cuda filter
2323 - Sanyo LD-ADPCM decoder
24+- APV in MP4/ISOBMFF demuxing
2425
2526
2627 version 7.1:
libavformat/isom_tags.c+2−0
@@ -299,6 +299,8 @@ const AVCodecTag ff_codec_movvideo_tags[] = { · 298 unmodified lines
299299
300300 { AV_CODEC_ID_AVS3, MKTAG('a', 'v', 's', '3') },
301301
302+ { AV_CODEC_ID_APV, MKTAG('a', 'p', 'v', '1') },
303+
302304 { AV_CODEC_ID_NONE, 0 },
303305 };
304306
libavformat/mov.c+6−1
@@ -2987,6 +2987,7 @@ static int mov_finalize_stsd_codec(MOVContext *c, AVIOContext *pb, · 2986 unmodified lines
29872987 case AV_CODEC_ID_VP9:
29882988 sti->need_parsing = AVSTREAM_PARSE_FULL;
29892989 break;
2990+ case AV_CODEC_ID_APV:
29902991 case AV_CODEC_ID_EVC:
29912992 case AV_CODEC_ID_AV1:
29922993 /* field_order detection of H264 requires parsing */
@@ -9325,6 +9326,7 @@ static const MOVParseTableEntry mov_default_parse_table[] = { · 6332 unmodified lines
93259326 { MKTAG('a','m','v','e'), mov_read_amve }, /* ambient viewing environment box */
93269327 { MKTAG('l','h','v','C'), mov_read_lhvc },
93279328 { MKTAG('l','v','c','C'), mov_read_glbl },
9329+{ MKTAG('a','p','v','C'), mov_read_glbl },
93289330 #if CONFIG_IAMFDEC
93299331 { MKTAG('i','a','c','b'), mov_read_iacb },
93309332 #endif
@@ -11032,7 +11034,10 @@ static int mov_read_packet(AVFormatContext *s, AVPacket *pkt) · 1701 unmodified lines
1103211034 return FFERROR_REDO;
1103311035 }
1103411036 #endif
11035− else
11037+ else if (st->codecpar->codec_id == AV_CODEC_ID_APV && sample->size > 4) {
11038+ const uint32_t au_size = avio_rb32(sc->pb);
11039+ ret = av_get_packet(sc->pb, pkt, au_size);
11040+ } else
1103611041 ret = av_get_packet(sc->pb, pkt, sample->size);
1103711042 if (ret < 0) {
1103811043 if (should_retry(sc->pb, ret)) {
libavformat/version.h+1−1
@@ -32,7 +32,7 @@ · 31 unmodified lines
3232 #include "version_major.h"
3333
3434 #define LIBAVFORMAT_VERSION_MINOR 1
35−#define LIBAVFORMAT_VERSION_MICRO 101
35+#define LIBAVFORMAT_VERSION_MICRO 102
3636
3737 #define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \
3838 LIBAVFORMAT_VERSION_MINOR, \

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t