mirror of https://git.ffmpeg.org/ffmpeg.git
diracdec: Extract version parameters
This commit is contained in:
parent
9f374c5906
commit
8dcc99dc68
|
@ -294,6 +294,7 @@ static int parse_source_parameters(AVCodecContext *avctx, GetBitContext *gb,
|
||||||
/* [DIRAC_STD] 10. Sequence Header. sequence_header() */
|
/* [DIRAC_STD] 10. Sequence Header. sequence_header() */
|
||||||
int avpriv_dirac_parse_sequence_header(AVCodecContext *avctx, GetBitContext *gb,
|
int avpriv_dirac_parse_sequence_header(AVCodecContext *avctx, GetBitContext *gb,
|
||||||
dirac_source_params *source,
|
dirac_source_params *source,
|
||||||
|
DiracVersionInfo *version,
|
||||||
int *bit_depth)
|
int *bit_depth)
|
||||||
{
|
{
|
||||||
unsigned version_major;
|
unsigned version_major;
|
||||||
|
|
|
@ -34,6 +34,11 @@
|
||||||
#include "avcodec.h"
|
#include "avcodec.h"
|
||||||
#include "get_bits.h"
|
#include "get_bits.h"
|
||||||
|
|
||||||
|
typedef struct DiracVersionInfo {
|
||||||
|
int major;
|
||||||
|
int minor;
|
||||||
|
} DiracVersionInfo;
|
||||||
|
|
||||||
typedef struct dirac_source_params {
|
typedef struct dirac_source_params {
|
||||||
unsigned width;
|
unsigned width;
|
||||||
unsigned height;
|
unsigned height;
|
||||||
|
@ -56,6 +61,7 @@ typedef struct dirac_source_params {
|
||||||
|
|
||||||
int avpriv_dirac_parse_sequence_header(AVCodecContext *avctx, GetBitContext *gb,
|
int avpriv_dirac_parse_sequence_header(AVCodecContext *avctx, GetBitContext *gb,
|
||||||
dirac_source_params *source,
|
dirac_source_params *source,
|
||||||
|
DiracVersionInfo *version,
|
||||||
int *bit_depth);
|
int *bit_depth);
|
||||||
|
|
||||||
#endif /* AVCODEC_DIRAC_H */
|
#endif /* AVCODEC_DIRAC_H */
|
||||||
|
|
|
@ -140,6 +140,7 @@ typedef struct DiracContext {
|
||||||
MpegvideoEncDSPContext mpvencdsp;
|
MpegvideoEncDSPContext mpvencdsp;
|
||||||
VideoDSPContext vdsp;
|
VideoDSPContext vdsp;
|
||||||
DiracDSPContext diracdsp;
|
DiracDSPContext diracdsp;
|
||||||
|
DiracVersionInfo version;
|
||||||
GetBitContext gb;
|
GetBitContext gb;
|
||||||
dirac_source_params source;
|
dirac_source_params source;
|
||||||
int seen_sequence_header;
|
int seen_sequence_header;
|
||||||
|
@ -1914,7 +1915,7 @@ static int dirac_decode_data_unit(AVCodecContext *avctx, const uint8_t *buf, int
|
||||||
|
|
||||||
/* [DIRAC_STD] 10. Sequence header */
|
/* [DIRAC_STD] 10. Sequence header */
|
||||||
ret = avpriv_dirac_parse_sequence_header(avctx, &s->gb, &s->source,
|
ret = avpriv_dirac_parse_sequence_header(avctx, &s->gb, &s->source,
|
||||||
&s->bit_depth);
|
&s->version, &s->bit_depth);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
|
|
|
@ -30,6 +30,7 @@ static int dirac_header(AVFormatContext *s, int idx)
|
||||||
struct ogg_stream *os = ogg->streams + idx;
|
struct ogg_stream *os = ogg->streams + idx;
|
||||||
AVStream *st = s->streams[idx];
|
AVStream *st = s->streams[idx];
|
||||||
dirac_source_params source;
|
dirac_source_params source;
|
||||||
|
DiracVersionInfo version;
|
||||||
GetBitContext gb;
|
GetBitContext gb;
|
||||||
int ret, bit_depth;
|
int ret, bit_depth;
|
||||||
|
|
||||||
|
@ -41,7 +42,8 @@ static int dirac_header(AVFormatContext *s, int idx)
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
ret = avpriv_dirac_parse_sequence_header(st->codec, &gb, &source, &bit_depth);
|
ret = avpriv_dirac_parse_sequence_header(st->codec, &gb, &source, &version,
|
||||||
|
&bit_depth);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue