]> git.sesse.net Git - nageru/blobdiff - h264encode.h
If we have waiting B-frames at the end of the encode, encode them as such.
[nageru] / h264encode.h
index c87779738626a612149e23e75b5967f7ecb9ae75..53c6c569feab9724f5fd8c0780a6ebbc54814946 100644 (file)
@@ -87,13 +87,15 @@ private:
                int64_t pts;
        };
 
-       void copy_thread_func();
-       void encode_frame(PendingFrame frame, int encoding_frame_num, int frame_type, int64_t pts, int64_t dts);
+       void encode_thread_func();
+       void encode_remaining_frames_as_p(int encoding_frame_num, int gop_start_display_frame_num, int64_t last_dts);
+       void encode_frame(PendingFrame frame, int encoding_frame_num, int display_frame_num, int gop_start_display_frame_num,
+                         int frame_type, int64_t pts, int64_t dts);
        void storage_task_thread();
        void storage_task_enqueue(storage_task task);
        void save_codeddata(storage_task task);
 
-       std::thread copy_thread, storage_thread;
+       std::thread encode_thread, storage_thread;
 
        std::mutex storage_task_queue_mutex;
        std::condition_variable storage_task_queue_changed;
@@ -103,7 +105,7 @@ private:
 
        std::mutex frame_queue_mutex;
        std::condition_variable frame_queue_nonempty;
-       bool copy_thread_should_quit = false;  // under frame_queue_mutex
+       bool encode_thread_should_quit = false;  // under frame_queue_mutex
 
        //int frame_width, frame_height;
        //int ;