]> git.sesse.net Git - nageru/blobdiff - nageru/image_input.cpp
Fix a Clang 19 warning.
[nageru] / nageru / image_input.cpp
index 6a2c5abc846b913123ef00647373bd6267ee1d4b..316292b15d7ffd01428eb2d7a165834278fe1fc7 100644 (file)
@@ -1,15 +1,32 @@
 #include "image_input.h"
 
+#include <assert.h>
+#include <chrono>
+#include <condition_variable>
+#include <epoxy/egl.h>
 #include <errno.h>
-#include <movit/flat_input.h>
+#include <fcntl.h>
+#include <map>
+#include <memory>
 #include <movit/image_format.h>
 #include <movit/util.h>
+#include <mutex>
+#include <pthread.h>
+#include <stddef.h>
 #include <stdint.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
+#include <string>
+#include <sys/stat.h>
+#include <thread>
+#include <time.h>
+#include <utility>
+#include <vector>
 
 extern "C" {
+#include <libavcodec/codec.h>
+#include <libavcodec/codec_par.h>
 #include <libavcodec/avcodec.h>
 #include <libavformat/avformat.h>
 #include <libavutil/avutil.h>
@@ -21,21 +38,11 @@ extern "C" {
 #include <libswscale/swscale.h>
 }
 
-#include <epoxy/egl.h>
-#include <fcntl.h>
-#include <sys/stat.h>
-#include <unistd.h>
-#include <cstddef>
-#include <functional>
-#include <mutex>
-#include <thread>
-#include <utility>
-#include <vector>
-
+#include "ffmpeg_util.h"
 #include "shared/context.h"
 #include "shared/ffmpeg_raii.h"
-#include "ffmpeg_util.h"
-#include "flags.h"
+#include "shared/ref_counted_texture.h"
+#include "tweaked_inputs.h"
 
 struct SwsContext;
 
@@ -126,7 +133,7 @@ shared_ptr<const ImageInput::Image> ImageInput::load_image_raw(const string &pat
                fprintf(stderr, "%s: Cannot fill codec parameters\n", pathname.c_str());
                return nullptr;
        }
-       AVCodec *codec = avcodec_find_decoder(codecpar->codec_id);
+       const AVCodec *codec = avcodec_find_decoder(codecpar->codec_id);
        if (codec == nullptr) {
                fprintf(stderr, "%s: Cannot find decoder\n", pathname.c_str());
                return nullptr;
@@ -143,17 +150,14 @@ shared_ptr<const ImageInput::Image> ImageInput::load_image_raw(const string &pat
        AVFrameWithDeleter frame = av_frame_alloc_unique();
        bool eof = false;
        do {
-               AVPacket pkt;
-               unique_ptr<AVPacket, decltype(av_packet_unref)*> pkt_cleanup(
-                       &pkt, av_packet_unref);
-               av_init_packet(&pkt);
-               pkt.data = nullptr;
-               pkt.size = 0;
-               if (av_read_frame(format_ctx.get(), &pkt) == 0) {
-                       if (pkt.stream_index != stream_index) {
+               AVPacketWithDeleter pkt = av_packet_alloc_unique();
+               pkt->data = nullptr;
+               pkt->size = 0;
+               if (av_read_frame(format_ctx.get(), pkt.get()) == 0) {
+                       if (pkt->stream_index != stream_index) {
                                continue;
                        }
-                       if (avcodec_send_packet(codec_ctx.get(), &pkt) < 0) {
+                       if (avcodec_send_packet(codec_ctx.get(), pkt.get()) < 0) {
                                fprintf(stderr, "%s: Cannot send packet to codec.\n", pathname.c_str());
                                return nullptr;
                        }
@@ -228,7 +232,7 @@ shared_ptr<const ImageInput::Image> ImageInput::load_image_raw(const string &pat
        glBindTexture(GL_TEXTURE_2D, 0);
        check_error();
 
-       shared_ptr<Image> image(new Image{unsigned(frame->width), unsigned(frame->height), RefCountedTexture(new GLuint(tex)), last_modified});
+       shared_ptr<Image> image(new Image{unsigned(frame->width), unsigned(frame->height), UniqueTexture(new GLuint(tex)), last_modified});
        return image;
 }