Properly check if an identical chunk has been written before. (#1956)

Basically reverting 295cab3 in https://github.com/AOMediaCodec/libavif/pull/463
diff --git a/src/write.c b/src/write.c
index 2c4ffc5..322f75b 100644
--- a/src/write.c
+++ b/src/write.c
@@ -1432,10 +1432,11 @@
             size_t chunkOffset = 0;
 
             // Deduplication - See if an identical chunk to this has already been written
-            if (item->encodeOutput->samples.count > 0) {
+            // Doing it when item->encodeOutput->samples.count > 0 would require contiguous memory.
+            if (item->encodeOutput->samples.count == 1) {
                 avifEncodeSample * sample = &item->encodeOutput->samples.sample[0];
                 chunkOffset = avifEncoderFindExistingChunk(s, mdatStartOffset, sample->data.data, sample->data.size);
-            } else {
+            } else if (item->encodeOutput->samples.count == 0) {
                 chunkOffset = avifEncoderFindExistingChunk(s, mdatStartOffset, item->metadataPayload.data, item->metadataPayload.size);
             }