Before

…lines 1–30 unchanged (30 lines)
31 pub avg_pq: u16,
32}
33
34impl ExtMetadataBlockLevel1 {
35 pub(crate) fn parse(reader: &mut BsIoSliceReader) -> Result<ExtMetadataBlock> {
36 Ok(ExtMetadataBlock::Level1(Self {
37 min_pq: reader.get_n(12)?,
38 max_pq: reader.get_n(12)?,
39 avg_pq: reader.get_n(12)?,
40 }))
41 }
42
43 pub fn write(&self, writer: &mut BitstreamIoWriter) -> Result<()> {
44 self.validate()?;
45
46 writer.write_n(&self.min_pq, 12)?;
47 writer.write_n(&self.max_pq, 12)?;
48 writer.write_n(&self.avg_pq, 12)?;
49
50 Ok(())
51 }
52
53 pub fn validate(&self) -> Result<()> {
54 ensure!(self.min_pq <= L1_MAX_PQ_MAX_VALUE);
…lines 55–111 unchanged (57 lines)

After

…lines 1–30 unchanged (30 lines)
31 pub avg_pq: u16,
32}
33
34impl ExtMetadataBlockLevel1 {
35 pub(crate) fn parse(reader: &mut BsIoSliceReader) -> Result<ExtMetadataBlock> {
36 Ok(ExtMetadataBlock::Level1(Self {
37 min_pq: reader.read::<12, u16>()?,
38 max_pq: reader.read::<12, u16>()?,
39 avg_pq: reader.read::<12, u16>()?,
40 }))
41 }
42
43 pub fn write(&self, writer: &mut BitstreamIoWriter) -> Result<()> {
44 self.validate()?;
45
46 writer.write::<12, u16>(self.min_pq)?;
47 writer.write::<12, u16>(self.max_pq)?;
48 writer.write::<12, u16>(self.avg_pq)?;
49
50 Ok(())
51 }
52
53 pub fn validate(&self) -> Result<()> {
54 ensure!(self.min_pq <= L1_MAX_PQ_MAX_VALUE);
…lines 55–111 unchanged (57 lines)

Before

source_file
use_declaration
use "use"
scoped_use_list
identifier "anyhow"
:: "::"
use_list
{ "{"
identifier "Result"
, ","
identifier "ensure"
} "}"
; ";"
use_declaration
use "use"
scoped_use_list
identifier "bitvec_helpers"
:: "::"
use_list
{ "{"
scoped_identifier
identifier "bitstream_io_reader"
:: "::"
identifier "BsIoSliceReader"
, ","
scoped_identifier
identifier "bitstream_io_writer"
:: "::"
identifier "BitstreamIoWriter"
, ","
} "}"
; ";"
attribute_item
# "#"
[ "["
attribute
identifier "cfg"
token_tree
( "("
identifier "feature"
= "="
string_literal
" "\""
string_content "serde"
" "\""
) ")"
] "]"
use_declaration
use "use"
scoped_use_list
identifier "serde"
:: "::"
use_list
{ "{"
identifier "Deserialize"
, ","
identifier "Serialize"
} "}"
; ";"
use_declaration
use "use"
scoped_identifier
scoped_identifier
scoped_identifier
crate "crate"
:: "::"
identifier "rpu"
:: "::"
identifier "vdr_dm_data"
:: "::"
identifier "CmVersion"
; ";"
use_declaration
use "use"
scoped_use_list
super "super"
:: "::"
use_list
{ "{"
identifier "ExtMetadataBlock"
, ","
identifier "ExtMetadataBlockInfo"
} "}"
; ";"
line_comment
// "//"
outer_doc_comment_marker
/ "/"
doc_comment " cbindgen:ignore\n"
const_item
visibility_modifier
pub "pub"
const "const"
identifier "L1_MIN_PQ_MAX_VALUE"
: ":"
primitive_type "u16"
= "="
integer_literal "12"
; ";"
line_comment
// "//"
outer_doc_comment_marker
/ "/"
doc_comment " cbindgen:ignore\n"
const_item
visibility_modifier
pub "pub"
const "const"
identifier "L1_MAX_PQ_MIN_VALUE"
: ":"
primitive_type "u16"
= "="
integer_literal "2081"
; ";"
line_comment
// "//"
outer_doc_comment_marker
/ "/"
doc_comment " cbindgen:ignore\n"
const_item
visibility_modifier
pub "pub"
const "const"
identifier "L1_MAX_PQ_MAX_VALUE"
: ":"
primitive_type "u16"
= "="
integer_literal "4095"
; ";"
line_comment
// "//"
outer_doc_comment_marker
/ "/"
doc_comment " cbindgen:ignore\n"
const_item
visibility_modifier
pub "pub"
const "const"
identifier "L1_AVG_PQ_MIN_VALUE"
: ":"
primitive_type "u16"
= "="
integer_literal "819"
; ";"
line_comment
// "//"
outer_doc_comment_marker
/ "/"
doc_comment " cbindgen:ignore\n"
const_item
visibility_modifier
pub "pub"
const "const"
identifier "L1_AVG_PQ_MIN_VALUE_CMV40"
: ":"
primitive_type "u16"
= "="
integer_literal "1229"
; ";"
line_comment
// "//"
outer_doc_comment_marker
/ "/"
doc_comment " Statistical analysis of the frame: min, max, avg brightness"...
attribute_item
# "#"
[ "["
attribute
identifier "repr"
token_tree
( "("
identifier "C"
) ")"
] "]"
attribute_item
# "#"
[ "["
attribute
identifier "derive"
token_tree
( "("
identifier "Debug"
, ","
identifier "Default"
, ","
identifier "Clone"
) ")"
] "]"
attribute_item (+23 nodes collapsed)
struct_item (+29 nodes collapsed)
impl_item
impl "impl"
type_identifier "ExtMetadataBlockLevel1"
declaration_list
{ "{"
function_item
visibility_modifier
pub "pub"
( "("
crate "crate"
) ")"
fn "fn"
identifier "parse"
parameters
( "("
parameter
identifier "reader"
: ":"
reference_type
& "&"
mutable_specifier "mut"
type_identifier "BsIoSliceReader"
) ")"
-> "->"
generic_type
type_identifier "Result"
type_arguments
< "<"
type_identifier "ExtMetadataBlock"
> ">"
block
{ "{"
call_expression
identifier "Ok"
arguments
( "("
call_expression
scoped_identifier
identifier "ExtMetadataBlock"
:: "::"
identifier "Level1"
arguments
( "("
struct_expression
type_identifier "Self"
field_initializer_list
{ "{"
field_initializer
field_identifier "min_pq"
: ":"
try_expression
call_expression
field_expression
identifier "reader"
. "."
field_identifier "get_n"
arguments
( "("
integer_literal "12"
) ")"
? "?"
, ","
field_initializer
field_identifier "max_pq"
: ":"
try_expression
call_expression
field_expression
identifier "reader"
. "."
field_identifier "get_n"
arguments
( "("
integer_literal "12"
) ")"
? "?"
, ","
field_initializer
field_identifier "avg_pq"
: ":"
try_expression
call_expression
field_expression
identifier "reader"
. "."
field_identifier "get_n"
arguments
( "("
integer_literal "12"
) ")"
? "?"
, ","
} "}"
) ")"
) ")"
} "}"
function_item
visibility_modifier
pub "pub"
fn "fn"
identifier "write"
parameters
( "("
self_parameter
& "&"
self "self"
, ","
parameter
identifier "writer"
: ":"
reference_type
& "&"
mutable_specifier "mut"
type_identifier "BitstreamIoWriter"
) ")"
-> "->"
generic_type
type_identifier "Result"
type_arguments
< "<"
unit_type
( "("
) ")"
> ">"
block
{ "{"
expression_statement
try_expression
call_expression
field_expression
self "self"
. "."
field_identifier "validate"
arguments
( "("
) ")"
? "?"
; ";"
expression_statement
try_expression
call_expression
field_expression
identifier "writer"
. "."
field_identifier "write_n"
arguments
( "("
reference_expression
& "&"
field_expression
self "self"
. "."
field_identifier "min_pq"
, ","
integer_literal "12"
) ")"
? "?"
; ";"
expression_statement
try_expression
call_expression
field_expression
identifier "writer"
. "."
field_identifier "write_n"
arguments
( "("
reference_expression
& "&"
field_expression
self "self"
. "."
field_identifier "max_pq"
, ","
integer_literal "12"
) ")"
? "?"
; ";"
expression_statement
try_expression
call_expression
field_expression
identifier "writer"
. "."
field_identifier "write_n"
arguments
( "("
reference_expression
& "&"
field_expression
self "self"
. "."
field_identifier "avg_pq"
, ","
integer_literal "12"
) ")"
? "?"
; ";"
call_expression
identifier "Ok"
arguments
( "("
unit_expression
( "("
) ")"
) ")"
} "}"
function_item (+70 nodes collapsed)
function_item (+41 nodes collapsed)
function_item (+119 nodes collapsed)
line_comment
// "//"
function_item (+64 nodes collapsed)
function_item (+31 nodes collapsed)
} "}"
impl_item (+53 nodes collapsed)

After

source_file
use_declaration
use "use"
scoped_use_list
identifier "anyhow"
:: "::"
use_list
{ "{"
identifier "Result"
, ","
identifier "ensure"
} "}"
; ";"
use_declaration
use "use"
scoped_use_list
identifier "bitvec_helpers"
:: "::"
use_list
{ "{"
scoped_identifier
identifier "bitstream_io_reader"
:: "::"
identifier "BsIoSliceReader"
, ","
scoped_identifier
identifier "bitstream_io_writer"
:: "::"
identifier "BitstreamIoWriter"
, ","
} "}"
; ";"
attribute_item
# "#"
[ "["
attribute
identifier "cfg"
token_tree
( "("
identifier "feature"
= "="
string_literal
" "\""
string_content "serde"
" "\""
) ")"
] "]"
use_declaration
use "use"
scoped_use_list
identifier "serde"
:: "::"
use_list
{ "{"
identifier "Deserialize"
, ","
identifier "Serialize"
} "}"
; ";"
use_declaration
use "use"
scoped_identifier
scoped_identifier
scoped_identifier
crate "crate"
:: "::"
identifier "rpu"
:: "::"
identifier "vdr_dm_data"
:: "::"
identifier "CmVersion"
; ";"
use_declaration
use "use"
scoped_use_list
super "super"
:: "::"
use_list
{ "{"
identifier "ExtMetadataBlock"
, ","
identifier "ExtMetadataBlockInfo"
} "}"
; ";"
line_comment
// "//"
outer_doc_comment_marker
/ "/"
doc_comment " cbindgen:ignore\n"
const_item
visibility_modifier
pub "pub"
const "const"
identifier "L1_MIN_PQ_MAX_VALUE"
: ":"
primitive_type "u16"
= "="
integer_literal "12"
; ";"
line_comment
// "//"
outer_doc_comment_marker
/ "/"
doc_comment " cbindgen:ignore\n"
const_item
visibility_modifier
pub "pub"
const "const"
identifier "L1_MAX_PQ_MIN_VALUE"
: ":"
primitive_type "u16"
= "="
integer_literal "2081"
; ";"
line_comment
// "//"
outer_doc_comment_marker
/ "/"
doc_comment " cbindgen:ignore\n"
const_item
visibility_modifier
pub "pub"
const "const"
identifier "L1_MAX_PQ_MAX_VALUE"
: ":"
primitive_type "u16"
= "="
integer_literal "4095"
; ";"
line_comment
// "//"
outer_doc_comment_marker
/ "/"
doc_comment " cbindgen:ignore\n"
const_item
visibility_modifier
pub "pub"
const "const"
identifier "L1_AVG_PQ_MIN_VALUE"
: ":"
primitive_type "u16"
= "="
integer_literal "819"
; ";"
line_comment
// "//"
outer_doc_comment_marker
/ "/"
doc_comment " cbindgen:ignore\n"
const_item
visibility_modifier
pub "pub"
const "const"
identifier "L1_AVG_PQ_MIN_VALUE_CMV40"
: ":"
primitive_type "u16"
= "="
integer_literal "1229"
; ";"
line_comment
// "//"
outer_doc_comment_marker
/ "/"
doc_comment " Statistical analysis of the frame: min, max, avg brightness"...
attribute_item
# "#"
[ "["
attribute
identifier "repr"
token_tree
( "("
identifier "C"
) ")"
] "]"
attribute_item
# "#"
[ "["
attribute
identifier "derive"
token_tree
( "("
identifier "Debug"
, ","
identifier "Default"
, ","
identifier "Clone"
) ")"
] "]"
attribute_item (+23 nodes collapsed)
struct_item (+29 nodes collapsed)
impl_item
impl "impl"
type_identifier "ExtMetadataBlockLevel1"
declaration_list
{ "{"
function_item
visibility_modifier
pub "pub"
( "("
crate "crate"
) ")"
fn "fn"
identifier "parse"
parameters
( "("
parameter
identifier "reader"
: ":"
reference_type
& "&"
mutable_specifier "mut"
type_identifier "BsIoSliceReader"
) ")"
-> "->"
generic_type
type_identifier "Result"
type_arguments
< "<"
type_identifier "ExtMetadataBlock"
> ">"
block
{ "{"
call_expression
identifier "Ok"
arguments
( "("
call_expression
scoped_identifier
identifier "ExtMetadataBlock"
:: "::"
identifier "Level1"
arguments
( "("
struct_expression
type_identifier "Self"
field_initializer_list
{ "{"
field_initializer
field_identifier "min_pq"
: ":"
try_expression
call_expression
generic_function
field_expression
identifier "reader"
. "."
field_identifier "read"
:: "::"
type_arguments
< "<"
integer_literal "12"
, ","
primitive_type "u16"
> ">"
arguments
( "("
) ")"
? "?"
, ","
field_initializer
field_identifier "max_pq"
: ":"
try_expression
call_expression
generic_function
field_expression
identifier "reader"
. "."
field_identifier "read"
:: "::"
type_arguments
< "<"
integer_literal "12"
, ","
primitive_type "u16"
> ">"
arguments
( "("
) ")"
? "?"
, ","
field_initializer
field_identifier "avg_pq"
: ":"
try_expression
call_expression
generic_function
field_expression
identifier "reader"
. "."
field_identifier "read"
:: "::"
type_arguments
< "<"
integer_literal "12"
, ","
primitive_type "u16"
> ">"
arguments
( "("
) ")"
? "?"
, ","
} "}"
) ")"
) ")"
} "}"
function_item
visibility_modifier
pub "pub"
fn "fn"
identifier "write"
parameters
( "("
self_parameter
& "&"
self "self"
, ","
parameter
identifier "writer"
: ":"
reference_type
& "&"
mutable_specifier "mut"
type_identifier "BitstreamIoWriter"
) ")"
-> "->"
generic_type
type_identifier "Result"
type_arguments
< "<"
unit_type
( "("
) ")"
> ">"
block
{ "{"
expression_statement
try_expression
call_expression
field_expression
self "self"
. "."
field_identifier "validate"
arguments
( "("
) ")"
? "?"
; ";"
expression_statement
try_expression
call_expression
generic_function
field_expression
identifier "writer"
. "."
field_identifier "write"
:: "::"
type_arguments
< "<"
integer_literal "12"
, ","
primitive_type "u16"
> ">"
arguments
( "("
field_expression
self "self"
. "."
field_identifier "min_pq"
) ")"
? "?"
; ";"
expression_statement
try_expression
call_expression
generic_function
field_expression
identifier "writer"
. "."
field_identifier "write"
:: "::"
type_arguments
< "<"
integer_literal "12"
, ","
primitive_type "u16"
> ">"
arguments
( "("
field_expression
self "self"
. "."
field_identifier "max_pq"
) ")"
? "?"
; ";"
expression_statement
try_expression
call_expression
generic_function
field_expression
identifier "writer"
. "."
field_identifier "write"
:: "::"
type_arguments
< "<"
integer_literal "12"
, ","
primitive_type "u16"
> ">"
arguments
( "("
field_expression
self "self"
. "."
field_identifier "avg_pq"
) ")"
? "?"
; ";"
call_expression
identifier "Ok"
arguments
( "("
unit_expression
( "("
) ")"
) ")"
} "}"
function_item (+70 nodes collapsed)
function_item (+41 nodes collapsed)
function_item (+119 nodes collapsed)
line_comment
// "//"
function_item (+64 nodes collapsed)
function_item (+31 nodes collapsed)
} "}"
impl_item (+53 nodes collapsed)