Merge commit 'b08569a23948db107e5e6175cd4c695427d5339d'
* commit 'b08569a23948db107e5e6175cd4c695427d5339d': lavf: Replace the ASF demuxer Conflicts: Changelog libavformat/asf.h libavformat/asfdec.c libavformat/version.h tests/ref/fate/wmv8-drm-nodec tests/ref/seek/lavf-asf The rewritten demuxer is placed in a new file, the current demuxer is left as default. Carl has tested both and the one working better is default. Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
commit
30b8f3e7dc
@ -8,6 +8,7 @@ version <next>:
|
||||
- Hap decoder and encoder
|
||||
- DirectDraw Surface image/texture decoder
|
||||
- ssim filter
|
||||
- rewritten ASF demuxer
|
||||
|
||||
|
||||
version 2.7:
|
||||
|
1
configure
vendored
1
configure
vendored
@ -2503,6 +2503,7 @@ nvenc_hevc_encoder_deps="nvenc"
|
||||
# demuxers / muxers
|
||||
ac3_demuxer_select="ac3_parser"
|
||||
asf_demuxer_select="riffdec"
|
||||
asf_o_demuxer_select="riffdec"
|
||||
asf_muxer_select="riffenc"
|
||||
asf_stream_muxer_select="asf_muxer"
|
||||
avi_demuxer_select="riffdec exif"
|
||||
|
@ -84,6 +84,8 @@ OBJS-$(CONFIG_APNG_MUXER) += apngenc.o
|
||||
OBJS-$(CONFIG_AQTITLE_DEMUXER) += aqtitledec.o subtitles.o
|
||||
OBJS-$(CONFIG_ASF_DEMUXER) += asfdec.o asf.o asfcrypt.o \
|
||||
avlanguage.o
|
||||
OBJS-$(CONFIG_ASF_O_DEMUXER) += asfdec-o.o asf.o asfcrypt.o \
|
||||
avlanguage.o
|
||||
OBJS-$(CONFIG_ASF_MUXER) += asfenc.o asf.o
|
||||
OBJS-$(CONFIG_ASS_DEMUXER) += assdec.o subtitles.o
|
||||
OBJS-$(CONFIG_ASS_MUXER) += assenc.o
|
||||
|
@ -77,6 +77,7 @@ void av_register_all(void)
|
||||
REGISTER_MUXDEMUX(APNG, apng);
|
||||
REGISTER_DEMUXER (AQTITLE, aqtitle);
|
||||
REGISTER_MUXDEMUX(ASF, asf);
|
||||
REGISTER_DEMUXER (ASF_O, asf_o);
|
||||
REGISTER_MUXDEMUX(ASS, ass);
|
||||
REGISTER_MUXDEMUX(AST, ast);
|
||||
REGISTER_MUXER (ASF_STREAM, asf_stream);
|
||||
|
@ -28,38 +28,6 @@
|
||||
|
||||
#define PACKET_SIZE 3200
|
||||
|
||||
typedef struct ASFPayload {
|
||||
uint8_t type;
|
||||
uint16_t size;
|
||||
} ASFPayload;
|
||||
|
||||
typedef struct ASFStream {
|
||||
int num;
|
||||
unsigned char seq;
|
||||
/* use for reading */
|
||||
AVPacket pkt;
|
||||
int frag_offset;
|
||||
int packet_obj_size;
|
||||
int timestamp;
|
||||
int64_t duration;
|
||||
int skip_to_key;
|
||||
int pkt_clean;
|
||||
|
||||
int ds_span; /* descrambling */
|
||||
int ds_packet_size;
|
||||
int ds_chunk_size;
|
||||
|
||||
int64_t packet_pos;
|
||||
|
||||
uint16_t stream_language_index;
|
||||
|
||||
int palette_changed;
|
||||
uint32_t palette[256];
|
||||
|
||||
int payload_ext_ct;
|
||||
ASFPayload payload[8];
|
||||
} ASFStream;
|
||||
|
||||
typedef struct ASFMainHeader {
|
||||
ff_asf_guid guid; ///< generated by client computer
|
||||
uint64_t file_size; /**< in bytes
|
||||
|
1702
libavformat/asfdec-o.c
Normal file
1702
libavformat/asfdec-o.c
Normal file
File diff suppressed because it is too large
Load Diff
@ -39,6 +39,38 @@
|
||||
#include "asf.h"
|
||||
#include "asfcrypt.h"
|
||||
|
||||
typedef struct ASFPayload {
|
||||
uint8_t type;
|
||||
uint16_t size;
|
||||
} ASFPayload;
|
||||
|
||||
typedef struct ASFStream {
|
||||
int num;
|
||||
unsigned char seq;
|
||||
/* use for reading */
|
||||
AVPacket pkt;
|
||||
int frag_offset;
|
||||
int packet_obj_size;
|
||||
int timestamp;
|
||||
int64_t duration;
|
||||
int skip_to_key;
|
||||
int pkt_clean;
|
||||
|
||||
int ds_span; /* descrambling */
|
||||
int ds_packet_size;
|
||||
int ds_chunk_size;
|
||||
|
||||
int64_t packet_pos;
|
||||
|
||||
uint16_t stream_language_index;
|
||||
|
||||
int palette_changed;
|
||||
uint32_t palette[256];
|
||||
|
||||
int payload_ext_ct;
|
||||
ASFPayload payload[8];
|
||||
} ASFStream;
|
||||
|
||||
typedef struct ASFContext {
|
||||
const AVClass *class;
|
||||
int asfid2avid[128]; ///< conversion table from asf ID 2 AVStream ID
|
||||
|
@ -183,6 +183,38 @@
|
||||
|
||||
#define DATA_HEADER_SIZE 50
|
||||
|
||||
typedef struct ASFPayload {
|
||||
uint8_t type;
|
||||
uint16_t size;
|
||||
} ASFPayload;
|
||||
|
||||
typedef struct ASFStream {
|
||||
int num;
|
||||
unsigned char seq;
|
||||
/* use for reading */
|
||||
AVPacket pkt;
|
||||
int frag_offset;
|
||||
int packet_obj_size;
|
||||
int timestamp;
|
||||
int64_t duration;
|
||||
int skip_to_key;
|
||||
int pkt_clean;
|
||||
|
||||
int ds_span; /* descrambling */
|
||||
int ds_packet_size;
|
||||
int ds_chunk_size;
|
||||
|
||||
int64_t packet_pos;
|
||||
|
||||
uint16_t stream_language_index;
|
||||
|
||||
int palette_changed;
|
||||
uint32_t palette[256];
|
||||
|
||||
int payload_ext_ct;
|
||||
ASFPayload payload[8];
|
||||
} ASFStream;
|
||||
|
||||
typedef struct ASFContext {
|
||||
uint32_t seqno;
|
||||
int is_streamed;
|
||||
|
@ -30,8 +30,8 @@
|
||||
#include "libavutil/version.h"
|
||||
|
||||
#define LIBAVFORMAT_VERSION_MAJOR 56
|
||||
#define LIBAVFORMAT_VERSION_MINOR 38
|
||||
#define LIBAVFORMAT_VERSION_MICRO 102
|
||||
#define LIBAVFORMAT_VERSION_MINOR 39
|
||||
#define LIBAVFORMAT_VERSION_MICRO 100
|
||||
|
||||
#define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \
|
||||
LIBAVFORMAT_VERSION_MINOR, \
|
||||
|
Loading…
x
Reference in New Issue
Block a user