avformat/av1: combine high_bitdepth and twelve_bit into a single bitdepth value
Signed-off-by: James Almer <jamrial@gmail.com> (cherry picked from commit 9a44ec94100a647df6920c65cccdd605a2e6865b)
This commit is contained in:
parent
6e53b43d48
commit
5152602ba8
@ -94,9 +94,12 @@ static inline void uvlc(GetBitContext *gb)
|
|||||||
|
|
||||||
static int parse_color_config(AV1SequenceParameters *seq_params, GetBitContext *gb)
|
static int parse_color_config(AV1SequenceParameters *seq_params, GetBitContext *gb)
|
||||||
{
|
{
|
||||||
seq_params->high_bitdepth = get_bits1(gb);
|
int twelve_bit = 0;
|
||||||
if (seq_params->profile == FF_PROFILE_AV1_PROFESSIONAL && seq_params->high_bitdepth)
|
int high_bitdepth = get_bits1(gb);
|
||||||
seq_params->twelve_bit = get_bits1(gb);
|
if (seq_params->profile == FF_PROFILE_AV1_PROFESSIONAL && high_bitdepth)
|
||||||
|
twelve_bit = get_bits1(gb);
|
||||||
|
|
||||||
|
seq_params->bitdepth = 8 + (high_bitdepth * 2) + (twelve_bit * 2);
|
||||||
|
|
||||||
if (seq_params->profile == FF_PROFILE_AV1_HIGH)
|
if (seq_params->profile == FF_PROFILE_AV1_HIGH)
|
||||||
seq_params->monochrome = 0;
|
seq_params->monochrome = 0;
|
||||||
@ -135,7 +138,7 @@ static int parse_color_config(AV1SequenceParameters *seq_params, GetBitContext *
|
|||||||
seq_params->chroma_subsampling_x = 0;
|
seq_params->chroma_subsampling_x = 0;
|
||||||
seq_params->chroma_subsampling_y = 0;
|
seq_params->chroma_subsampling_y = 0;
|
||||||
} else {
|
} else {
|
||||||
if (seq_params->twelve_bit) {
|
if (twelve_bit) {
|
||||||
seq_params->chroma_subsampling_x = get_bits1(gb);
|
seq_params->chroma_subsampling_x = get_bits1(gb);
|
||||||
if (seq_params->chroma_subsampling_x)
|
if (seq_params->chroma_subsampling_x)
|
||||||
seq_params->chroma_subsampling_y = get_bits1(gb);
|
seq_params->chroma_subsampling_y = get_bits1(gb);
|
||||||
@ -383,8 +386,8 @@ int ff_isom_write_av1c(AVIOContext *pb, const uint8_t *buf, int size)
|
|||||||
put_bits(&pbc, 3, seq_params.profile);
|
put_bits(&pbc, 3, seq_params.profile);
|
||||||
put_bits(&pbc, 5, seq_params.level);
|
put_bits(&pbc, 5, seq_params.level);
|
||||||
put_bits(&pbc, 1, seq_params.tier);
|
put_bits(&pbc, 1, seq_params.tier);
|
||||||
put_bits(&pbc, 1, seq_params.high_bitdepth);
|
put_bits(&pbc, 1, seq_params.bitdepth > 8);
|
||||||
put_bits(&pbc, 1, seq_params.twelve_bit);
|
put_bits(&pbc, 1, seq_params.bitdepth == 12);
|
||||||
put_bits(&pbc, 1, seq_params.monochrome);
|
put_bits(&pbc, 1, seq_params.monochrome);
|
||||||
put_bits(&pbc, 1, seq_params.chroma_subsampling_x);
|
put_bits(&pbc, 1, seq_params.chroma_subsampling_x);
|
||||||
put_bits(&pbc, 1, seq_params.chroma_subsampling_y);
|
put_bits(&pbc, 1, seq_params.chroma_subsampling_y);
|
||||||
|
@ -29,8 +29,7 @@ typedef struct AV1SequenceParameters {
|
|||||||
uint8_t profile;
|
uint8_t profile;
|
||||||
uint8_t level;
|
uint8_t level;
|
||||||
uint8_t tier;
|
uint8_t tier;
|
||||||
uint8_t high_bitdepth;
|
uint8_t bitdepth;
|
||||||
uint8_t twelve_bit;
|
|
||||||
uint8_t monochrome;
|
uint8_t monochrome;
|
||||||
uint8_t chroma_subsampling_x;
|
uint8_t chroma_subsampling_x;
|
||||||
uint8_t chroma_subsampling_y;
|
uint8_t chroma_subsampling_y;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user