这是indexloc提供的服务,不要输入任何密码
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion lib/extras/codec.cc
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
#include <string>
#include <vector>

#include "lib/extras/codec_in_out.h"
#include "lib/extras/dec/color_hints.h"
#include "lib/extras/dec/decode.h"
#include "lib/extras/enc/apng.h"
Expand All @@ -24,7 +25,6 @@
#include "lib/jxl/base/data_parallel.h"
#include "lib/jxl/base/span.h"
#include "lib/jxl/base/status.h"
#include "lib/jxl/codec_in_out.h"

namespace jxl {
namespace {
Expand Down
2 changes: 1 addition & 1 deletion lib/extras/codec.h
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,14 @@
#include <string>
#include <vector>

#include "lib/extras/codec_in_out.h"
#include "lib/extras/dec/color_hints.h"
#include "lib/extras/dec/decode.h"
#include "lib/extras/packed_image.h"
#include "lib/jxl/base/compiler_specific.h"
#include "lib/jxl/base/data_parallel.h"
#include "lib/jxl/base/span.h"
#include "lib/jxl/base/status.h"
#include "lib/jxl/codec_in_out.h"

namespace jxl {

Expand Down
13 changes: 1 addition & 12 deletions lib/jxl/codec_in_out.h → lib/extras/codec_in_out.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
#include <jxl/memory_manager.h>

#include <cstddef>
#include <cstdint>
#include <utility>
#include <vector>

Expand All @@ -20,19 +19,11 @@
#include "lib/jxl/headers.h"
#include "lib/jxl/image.h"
#include "lib/jxl/image_bundle.h"
#include "lib/jxl/image_metadata.h"
#include "lib/jxl/luminance.h"

namespace jxl {

// Optional text/EXIF metadata.
struct Blobs {
std::vector<uint8_t> exif;
std::vector<uint8_t> iptc;
std::vector<uint8_t> jhgm;
std::vector<uint8_t> jumbf;
std::vector<uint8_t> xmp;
};

// Holds a preview, a main image or one or more frames, plus the inputs/outputs
// to/from decoding/encoding.
class CodecInOut {
Expand Down Expand Up @@ -107,8 +98,6 @@ class CodecInOut {

JxlMemoryManager* memory_manager;

Blobs blobs;

CodecMetadata metadata; // applies to preview and all frames

// If metadata.have_preview:
Expand Down
16 changes: 2 additions & 14 deletions lib/extras/packed_image_convert.cc
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,14 @@
#include <cstdio>
#include <utility>

#include "lib/extras/codec_in_out.h"
#include "lib/extras/packed_image.h"
#include "lib/jxl/base/data_parallel.h"
#include "lib/jxl/base/rect.h"
#include "lib/jxl/base/span.h"
#include "lib/jxl/base/status.h"
#include "lib/jxl/codec_in_out.h"
#include "lib/jxl/color_encoding_internal.h"
#include "lib/jxl/dec_cache.h"
#include "lib/jxl/dec_external_image.h"
#include "lib/jxl/enc_external_image.h"
#include "lib/jxl/enc_image_bundle.h"
Expand Down Expand Up @@ -158,13 +159,6 @@ Status ConvertPackedPixelFileToCodecInOut(const PackedPixelFile& ppf,
}
}

// Convert the extra blobs
io->blobs.exif = ppf.metadata.exif;
io->blobs.iptc = ppf.metadata.iptc;
io->blobs.jhgm = ppf.metadata.jhgm;
io->blobs.jumbf = ppf.metadata.jumbf;
io->blobs.xmp = ppf.metadata.xmp;

// Append all other extra channels.
for (const auto& info : ppf.extra_channels_info) {
ExtraChannelInfo out;
Expand Down Expand Up @@ -306,12 +300,6 @@ Status ConvertCodecInOutToPackedPixelFile(const CodecInOut& io,
: PackedPixelFile::kColorEncodingIsPrimary;
ppf->color_encoding = c_desired.ToExternal();

// Convert the extra blobs
ppf->metadata.exif = io.blobs.exif;
ppf->metadata.iptc = io.blobs.iptc;
ppf->metadata.jhgm = io.blobs.jhgm;
ppf->metadata.jumbf = io.blobs.jumbf;
ppf->metadata.xmp = io.blobs.xmp;
const bool float_out = pixel_format.data_type == JXL_TYPE_FLOAT ||
pixel_format.data_type == JXL_TYPE_FLOAT16;
// Convert the pixels
Expand Down
2 changes: 1 addition & 1 deletion lib/extras/packed_image_convert.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@

#include <jxl/types.h>

#include "lib/extras/codec_in_out.h"
#include "lib/extras/packed_image.h"
#include "lib/jxl/base/data_parallel.h"
#include "lib/jxl/base/status.h"
#include "lib/jxl/codec_in_out.h"
#include "lib/jxl/color_encoding_internal.h"
#include "lib/jxl/image.h"

Expand Down
2 changes: 1 addition & 1 deletion lib/extras/tone_mapping.cc
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@
#include <cstdint>
#include <utility>

#include "lib/extras/codec_in_out.h"
#include "lib/jxl/base/compiler_specific.h"
#include "lib/jxl/base/data_parallel.h"
#include "lib/jxl/base/matrix_ops.h"
#include "lib/jxl/base/status.h"
#include "lib/jxl/codec_in_out.h"
#include "lib/jxl/color_encoding_internal.h"

#undef HWY_TARGET_INCLUDE
Expand Down
2 changes: 1 addition & 1 deletion lib/extras/tone_mapping.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@

#include <utility>

#include "lib/extras/codec_in_out.h"
#include "lib/jxl/base/data_parallel.h"
#include "lib/jxl/base/status.h"
#include "lib/jxl/codec_in_out.h"

namespace jxl {

Expand Down
2 changes: 1 addition & 1 deletion lib/extras/tone_mapping_gbench.cc
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@
#include <utility>

#include "benchmark/benchmark.h"
#include "lib/extras/codec_in_out.h"
#include "lib/extras/tone_mapping.h"
#include "lib/jxl/base/common.h"
#include "lib/jxl/base/status.h"
#include "lib/jxl/codec_in_out.h"
#include "lib/jxl/color_encoding_internal.h"
#include "lib/jxl/image.h"
#include "lib/jxl/image_ops.h"
Expand Down
41 changes: 24 additions & 17 deletions lib/jxl/decode_test.cc
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <memory>
#include <ostream>
#include <set>
#include <sstream>
Expand Down Expand Up @@ -256,7 +257,7 @@ std::vector<uint8_t> CreateTestJXLCodestream(
EXPECT_TRUE(ConvertFromExternal(pixels, xsize, ysize, color_encoding,
/*bits_per_sample=*/16, format,
/* pool */ nullptr, &io->Main()));
std::vector<uint8_t> jpeg_data;
std::vector<uint8_t> encoded_jpeg_bytes;
if (params.jpeg_codestream != nullptr) {
if (jxl::extras::CanDecode(jxl::extras::Codec::kJPG)) {
std::vector<uint8_t> jpeg_bytes;
Expand All @@ -276,10 +277,13 @@ std::vector<uint8_t> CreateTestJXLCodestream(
EXPECT_TRUE(encoder->Encode(ppf, &encoded, nullptr));
jpeg_bytes = encoded.bitstreams[0];
Bytes(jpeg_bytes).AppendTo(*params.jpeg_codestream);
EXPECT_TRUE(jxl::jpeg::DecodeImageJPG(
jxl::Bytes(jpeg_bytes.data(), jpeg_bytes.size()), io.get()));
JXL_TEST_ASSIGN_OR_DIE(
std::unique_ptr<jxl::jpeg::JPEGData> jpeg_data,
jxl::jpeg::ParseJPG(memory_manager, jxl::Bytes(jpeg_bytes)));
EXPECT_TRUE(
jxl::test::JpegDataToCodecInOut(std::move(jpeg_data), io.get()));
EXPECT_TRUE(EncodeJPEGData(memory_manager, *io->Main().jpeg_data,
&jpeg_data, params.cparams));
&encoded_jpeg_bytes, params.cparams));
io->metadata.m.xyb_encoded = false;
} else {
ADD_FAILURE();
Expand Down Expand Up @@ -325,9 +329,9 @@ std::vector<uint8_t> CreateTestJXLCodestream(
std::vector<uint8_t> c;
Bytes(header).AppendTo(c);
if (params.jpeg_codestream != nullptr) {
jxl::AppendBoxHeader(jxl::MakeBoxType("jbrd"), jpeg_data.size(), false,
&c);
Bytes(jpeg_data).AppendTo(c);
jxl::AppendBoxHeader(jxl::MakeBoxType("jbrd"),
encoded_jpeg_bytes.size(), false, &c);
Bytes(encoded_jpeg_bytes).AppendTo(c);
}
uint32_t jxlp_index = 0;
if (add_container == kCSBF_Multi_First_Empty) {
Expand Down Expand Up @@ -404,9 +408,9 @@ std::vector<uint8_t> CreateTestJXLCodestream(
std::vector<uint8_t> c;
Bytes(header).AppendTo(c);
if (params.jpeg_codestream != nullptr) {
jxl::AppendBoxHeader(jxl::MakeBoxType("jbrd"), jpeg_data.size(), false,
&c);
Bytes(jpeg_data).AppendTo(c);
jxl::AppendBoxHeader(jxl::MakeBoxType("jbrd"),
encoded_jpeg_bytes.size(), false, &c);
Bytes(encoded_jpeg_bytes).AppendTo(c);
}
if (add_container == kCSBF_Brob_Exif) {
Bytes(box_brob_exif, box_brob_exif_size).AppendTo(c);
Expand Down Expand Up @@ -4988,7 +4992,10 @@ JXL_TRANSCODE_JPEG_TEST(DecodeTest, JPEGReconstructionTest) {
const std::string jpeg_path = "jxl/flower/flower.png.im_q85_420.jpg";
const std::vector<uint8_t> orig = jxl::test::ReadTestData(jpeg_path);
auto orig_io = jxl::make_unique<jxl::CodecInOut>(memory_manager);
ASSERT_TRUE(jxl::jpeg::DecodeImageJPG(jxl::Bytes(orig), orig_io.get()));
JXL_TEST_ASSIGN_OR_DIE(std::unique_ptr<jxl::jpeg::JPEGData> jpeg_data,
jxl::jpeg::ParseJPG(memory_manager, jxl::Bytes(orig)));
ASSERT_TRUE(
jxl::test::JpegDataToCodecInOut(std::move(jpeg_data), orig_io.get()));
jxl::jpeg::JPEGData jpeg_data_copy = *orig_io->Main().jpeg_data;
orig_io->metadata.m.xyb_encoded = false;
jxl::BitWriter writer{memory_manager};
Expand All @@ -5002,14 +5009,14 @@ JXL_TRANSCODE_JPEG_TEST(DecodeTest, JPEGReconstructionTest) {
/*pool=*/nullptr, &writer,
/*aux_out=*/nullptr));

std::vector<uint8_t> jpeg_data;
ASSERT_TRUE(
EncodeJPEGData(memory_manager, jpeg_data_copy, &jpeg_data, cparams));
std::vector<uint8_t> encoded_jpeg_data;
ASSERT_TRUE(EncodeJPEGData(memory_manager, jpeg_data_copy, &encoded_jpeg_data,
cparams));
std::vector<uint8_t> container;
jxl::Bytes(jxl::kContainerHeader).AppendTo(container);
jxl::AppendBoxHeader(jxl::MakeBoxType("jbrd"), jpeg_data.size(), false,
&container);
jxl::Bytes(jpeg_data).AppendTo(container);
jxl::AppendBoxHeader(jxl::MakeBoxType("jbrd"), encoded_jpeg_data.size(),
false, &container);
jxl::Bytes(encoded_jpeg_data).AppendTo(container);
jxl::AppendBoxHeader(jxl::MakeBoxType("jxlc"), 0, true, &container);
jxl::PaddedBytes codestream = std::move(writer).TakeBytes();
jxl::Bytes(codestream).AppendTo(container);
Expand Down
2 changes: 1 addition & 1 deletion lib/jxl/enc_bit_writer_test.cc
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ struct BitPatch {
TEST(BitWriterTest, RandomSequence) {
JxlMemoryManager* memory_manager = jxl::test::MemoryManager();

auto mt = std::make_unique<std::mt19937>(42);
auto mt = jxl::make_unique<std::mt19937>(42);
std::uniform_int_distribution<> num_bits_dist(1, BitWriter::kMaxBitsPerCall);
constexpr size_t kNumSequences = 1024 * 1024;
std::vector<BitPatch> content;
Expand Down
Loading
Loading